1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!-- $Id: FvwmTabs.xml,v 1.6 2008/01/08 10:31:00 griph Exp $ -->
3 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
4 "../docbook-xml/docbookx.dtd"
6 <!ENTITY % myents SYSTEM "../fvwm.ent" >
12 <title>FvwmTabs</title>
13 <author>Scott Smedley</author>
14 <titleabbrev>FvwmTabs</titleabbrev>
15 <date>&releasedate;</date>
20 <para><emphasis remap='B'>FvwmTabs</emphasis> is a generic tabbing module for the fvwm window manager.</para>
24 <section id="synopsis">
25 <title>Synopsis</title>
26 <para><emphasis remap='B'>FvwmTabs</emphasis> is spawned by fvwm, so no command line invocation is possible.</para>
30 <section id="description">
31 <title>Description</title>
32 <para>The <emphasis remap='B'>FvwmTabs</emphasis> module is capable of swallowing any fvwm window & treating it as a tab in a <emphasis>tab-manager</emphasis> window. A tab-manager is sometimes called a <emphasis>tabber</emphasis>. Each tab-manager can store any number of windows, each in its own <emphasis>tab</emphasis>. The number of tab-managers is limited only by system resources. Tab-managers can even be nested/swallowed within other tab-managers. (ie. a tab-manager can be added as an individual tab to another tab-manager.)</para>
34 <para output="html">Here is a screenshot of an FvwmTabs tab-manager with an rxvt window selected. Note the buttons at the top which allow switching between applications.</para>
35 <imageobject output="html"><imagedata output="html" fileref="images/FvwmTabs/screenshot.png"/></imageobject>
39 <section id="invocation">
40 <title>Invocation</title>
41 <para><emphasis remap='B'>FvwmTabs</emphasis> can be invoked by inserting the line:</para>
44 <fvwmref cmd="Module"/> FvwmTabs
47 <para>in your .fvwmrc file. This can be placed on a line by itself, if <emphasis remap='B'>FvwmTabs</emphasis> is to be spawned during fvwm's initialization, or can be bound to a menu, mouse button or keystroke to invoke it later.</para>
50 <section id="dependencies">
51 <title>Installing Dependencies</title>
52 <para><emphasis remap='B'>FvwmTabs</emphasis> requires 2 CPAN modules (that are NOT distributed with fvwm) to be installed on your system. They are <emphasis>Tk</emphasis> and <emphasis>X11::Protocol</emphasis>.</para>
54 <para>They are available at: <ulink>http://search.cpan.org/CPAN/authors/id/N/NI/NI-S/Tk-804.027.tar.gz</ulink> and <ulink>http://search.cpan.org/~smccam/X11-Protocol-0.56/</ulink>.</para>
56 <para>To install either package:</para>
58 tar zxvf $name.tar.gz ; cd $name ; perl Makefile.PL ; make install
61 <para><emphasis remap='B'>FvwmTabs</emphasis> will tell you if you do not have these packages installed when you (try to) start it.</para>
64 <section id="options">
65 <title>Configuration Options</title>
66 <para><emphasis remap='B'>FvwmTabs</emphasis> reads the same config file as fvwm when it starts up.</para>
68 <para>The following options are recognised by <emphasis remap='B'>FvwmTabs</emphasis>:</para>
73 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="activeFG"/> <emphasis>color</emphasis></term>
74 <listitem><simpara>The text color of the button for the visible tab. The default color is yellow.</simpara></listitem>
77 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="activeBG"/> <emphasis>color</emphasis></term>
78 <listitem><simpara>The backgound color of the button for the visible tab. The default color is MidnightBlue.</simpara></listitem>
81 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="inactiveFG"/> <emphasis>color</emphasis></term>
82 <listitem><simpara>The text color of the buttons for the invisible tabs. The default color is antiquewhite.</simpara></listitem>
85 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="inactiveBG"/> <emphasis>color</emphasis></term>
86 <listitem><simpara>The backgound color of the buttons for the invisible tabs. The default color is royalblue.</simpara></listitem>
89 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="activeRelief"/> <emphasis>style</emphasis></term>
90 <listitem><simpara>The relief style to use for active buttons. <emphasis>style</emphasis> can be either <emphasis>raised</emphasis>, <emphasis>flat</emphasis> or <emphasis>sunken</emphasis>. The default style is <emphasis>sunken</emphasis>.</simpara></listitem>
96 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="inactiveRelief"/> <emphasis>style</emphasis></term>
97 <listitem><simpara>The relief style to use for inactive buttons. <emphasis>style</emphasis> can be either <emphasis>raised</emphasis>, <emphasis>flat</emphasis> or <emphasis>sunken</emphasis>. The default style is <emphasis>flat</emphasis>.</simpara></listitem>
101 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="buttonYPadding"/> <emphasis>pixels</emphasis></term>
102 <listitem><simpara>How much padding to use around top and bottom of tab buttons. The default value is <emphasis>3</emphasis> pixels.</simpara></listitem>
106 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="pollRate"/> <emphasis>ms</emphasis></term>
107 <listitem><simpara> Specifies how often to check for X events. <emphasis>ms</emphasis> is time in milliseconds. The default value, <emphasis>250</emphasis>, should be fine for most users. If you are on a very slow machine you may wish to increase this.</simpara></listitem>
111 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="buttonFont"/> <emphasis>font</emphasis></term>
112 <listitem><simpara> The font to use on the tab buttons. The default font is <emphasis>Helvetica -12 bold</emphasis>.</simpara></listitem>
116 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="titleFont"/> <emphasis>font</emphasis></term>
117 <listitem><simpara> The font to use on the titlebar. The default font is <emphasis>Helvetica -12</emphasis>.</simpara></listitem>
121 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="menuFont"/> <emphasis>font</emphasis></term>
122 <listitem><simpara> The font to use on the menus. The default font is <emphasis>Helvetica -12</emphasis>.</simpara></listitem>
126 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="fontSelector"/> <emphasis>fontProgram</emphasis></term>
127 <listitem><simpara> The external font chooser program to launch when dynamically changing fonts. The default <emphasis>fontProgram</emphasis> is <emphasis>gfontsel --print -f "%f"</emphasis>. Anti-gnome users might try <emphasis>xfontsel -print -pattern "%f"</emphasis>. If set to <emphasis>none</emphasis>, no font menu options will appear.</simpara></listitem>
131 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="autoSwallowClass"/> <emphasis>className</emphasis> [<emphasis>tabManagerId</emphasis>], ...</term>
134 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="autoSwallowResource"/> <emphasis>resourceName</emphasis> [<emphasis>tabManagerId</emphasis>], ...</term>
137 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="autoSwallowName"/> <emphasis>name</emphasis> [<emphasis>tabManagerId</emphasis>], ...</term>
138 <listitem><simpara> Specify windows to swallow automatically. These are comma-separated lists that specify the class/resource/name of a window and an optional tab-manager id into which the window should be swallowed. By default, the tab-manager id increments from zero - ie. 0 is the first tab-manager created, 1 the second, etc, but it may be overriden by specifying an argument to the <emphasis>NewTabber</emphasis> function. (No whitespace is allowed in tabber ids.) You can alternatively specify 'any' or 'lastFocus' which will put the window in the tab-manager with the least number of tabs or the last focused tab-manager, respectively. If no tab-manager number is specified, an implicit default value of 'any' is used. Note that <emphasis>className</emphasis>/<emphasis>resourceName</emphasis>/<emphasis>name</emphasis> can be a (Perl) regular expression.</simpara></listitem>
142 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="balloonBG"/> <emphasis>color</emphasis></term>
143 <listitem><simpara> The backgound color of the balloon popups that appear over the tab buttons. The default color is <emphasis>#C0C080</emphasis>.</simpara></listitem>
147 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="balloonFont"/> <emphasis>font</emphasis></term>
148 <listitem><simpara> The font to use on the balloon popups. The default font is <emphasis>Helvetica -12</emphasis>.</simpara></listitem>
152 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="balloonWait"/> <emphasis>ms</emphasis></term>
153 <listitem><simpara> How long the mouse cursor must pause (in milliseconds) over a tab button before the balloon pops up. The default value is <emphasis>250</emphasis>. </simpara></listitem>
157 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="balloonMsg"/> <emphasis>msg</emphasis></term>
158 <listitem><simpara> Message to display in balloon popups. The default value is <emphasis>%tabNo:\n%iconText\n%title</emphasis>.</simpara></listitem>
162 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="autoResize"/> <emphasis>bool</emphasis></term>
163 <listitem><simpara> <emphasis>bool</emphasis> can be either <emphasis>true</emphasis> or <emphasis>false</emphasis>. If true, windows in the tab-manager automatically resize to the dimensions of the largest window in the tab-manager. The default value is <emphasis>false</emphasis>. If the user performs an explicit resize of a tab-manager window, all windows in the tab-manager are resized to the new window size.</simpara></listitem>
167 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="stateFile"/> <emphasis>file</emphasis></term>
168 <listitem><simpara><emphasis remap='B'>FvwmTabs</emphasis> has the ability to preserve its state (ie. remember the windows it has swallowed as tabs) b/w fvwm restarts. <emphasis>file</emphasis> specifies the name of a temporary file to record the state in, so it can be reconstructed when <emphasis remap='B'>FvwmTabs</emphasis> restarts. The default file is <envar>$FVWM_USERDIR</envar>/.fvwmtabs.state.</simpara></listitem>
172 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="fixedSizeTabs"/> <emphasis>bool</emphasis></term>
173 <listitem><simpara> <emphasis>bool</emphasis> can be either <emphasis>true</emphasis> or <emphasis>false</emphasis>. If true, the tab-manager will ensure each tab-button has the same dimensions. If false, the selected tab is expanded so that it is fully visible. The default value is <emphasis>false</emphasis>.</simpara></listitem>
177 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="showTitlebar"/> <emphasis>bool</emphasis></term>
178 <listitem><simpara> Show internal titlebar. If set to <emphasis>true</emphasis> a titlebar appears below the row of tab-buttons and displays the title associated with the current window. This titlebar is capable of displaying long or multi-line titles. The default value is <emphasis>true</emphasis>.</simpara></listitem>
182 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="useTMTitlebar"/> <emphasis>bool</emphasis></term>
183 <listitem><simpara> Add the title associated with the selected tab to the tab-manager titlebar. (ie. the titlebar at the top of the window, distinct from the titlebar below the tab-buttons.) Default value is <emphasis>true</emphasis>.</simpara></listitem>
187 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="dragDropIcon"/> <emphasis>imageFile</emphasis></term>
188 <listitem><simpara> Specify the icon to display when performing a drag-&-drop operation to reorder the tab-buttons. FvwmTabs will search the ImagePath for this image unless an absolute filename (ie. filename begins with '/') is specified. The default value is <emphasis>none</emphasis>. If <emphasis>none</emphasis> (or an invalid file) is specified a * is used.</simpara></listitem>
192 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="bBuggyFocus"/> <emphasis>bool</emphasis></term>
193 <listitem><simpara> FvwmTabs tries to work around a limitation in Perl/Tk (there is no way to access the timestamp associated with WM_TAKE_FOCUS events). On some systems this doesn't work and sometimes tab-managers have trouble acquiring the focus. If this happens to you, try setting this option to <emphasis>true</emphasis>. This can lead to focussing race-conditions (tab-managers temporarily "steal" focus in some situations) but this is less annoying than not being able to focus at all.</simpara></listitem>
197 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="enableSwallowDND"/> <emphasis>bool</emphasis></term>
198 <listitem><simpara> Swallow windows that (are moved to) overlap a tabber.</simpara>
199 <simpara>Note: drag-&-drop can be enabled for individual tabbers via the menu.
200 The default value is <emphasis>true</emphasis>.</simpara>
205 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="swallowDNDTolerance"/> <emphasis>tol</emphasis></term>
206 <listitem><simpara>Determines how much a window must overlap a tabber for it to be swallowed when drag-&-drop is enabled. If the value has a %-sign appended to it, windows must overlap by the specified percentage of the current size of the tabber. If no %-sign is present, the value is treated in units of pixels. The default value is <emphasis>10</emphasis> (pixels).</simpara></listitem>
210 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="useIconsOnTabs"/> <emphasis>bool</emphasis></term>
211 <listitem><simpara> Show the mini icon associated with each window on its tab button. Note: mini icons for apps that use EWMH icons look a bit distorted. This is because of the poor image resizing algorithm used in Tk. This sinactiveBG hould be rectified in the near future. The default value is <emphasis>true</emphasis>.</simpara></listitem>
215 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="killIcon"/> <emphasis>image</emphasis></term>
216 <listitem><simpara>Image to use on kill toolbar button. Default is <emphasis>none</emphasis>.</simpara></listitem>
220 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="addIcon"/> <emphasis>image</emphasis></term>
221 <listitem><simpara>Image to use on add toolbar button. Default is <emphasis>none</emphasis>.</simpara></listitem>
225 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="swallowIcon"/> <emphasis>image</emphasis></term>
226 <listitem><simpara> Image to use on add toolbar button when tabber will swallow next window to popup. Default is <emphasis>none</emphasis>. By using a separate icon to <emphasis>addIcon</emphasis>, this option provides visual feedback on when a tabber will unconditionally swallow the next window to popup.</simpara></listitem>
230 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="releaseIcon"/> <emphasis>image</emphasis></term>
231 <listitem><simpara> Image to use on release toolbar button. Default is <emphasis>none</emphasis>.</simpara></listitem>
235 <term>*FvwmTabs: <fvwmopt mod="FvwmTabs" opt="menuIcon"/> <emphasis>image</emphasis></term>
236 <listitem><simpara> Image to use on menu toolbar button. Default is <emphasis>none</emphasis>.</simpara></listitem>
241 <section id="additionalConfiguration">
242 <title>Additional Configuration</title>
244 <para output="html">Images you may wish to use with the FvwmTabs module:
245 <imageobject><imagedata fileref="images/FvwmTabs/logoFvwmTabs.png"/></imageobject>
246 <imageobject><imagedata fileref="images/FvwmTabs/green.png"/></imageobject>
247 <imageobject><imagedata fileref="images/FvwmTabs/yellow.png"/></imageobject>
248 <imageobject><imagedata fileref="images/FvwmTabs/red.png"/></imageobject>
251 <para>If you use a decent shell like zsh, you might like to add these functions to your ~/.zshrc file so that tabs/titles have more meaningful names when executing commands:</para>
254 setTitleAndIcon () { print -nP '%{\e]2;'$1'\a\e]1;'$2'\a%}' }
255 preexec () { setTitleAndIcon $1 ${1%% *} }
256 precmd () { setTitleAndIcon %n@%m %m }
259 <para>There are likely similar functions for other sh/csh shells.</para>
264 <section id="functions">
265 <title>Functions for Bindings</title>
266 <para>A number of fvwm functions are available once the FvwmTabs module is started.</para>
271 <term><fvwmopt mod="FvwmTabs" opt="NewTabber"/></term>
272 <listitem><simpara> Create a new tabber. Optional argument is tabber name. No whitespace is allowed in the tabber name. Can also prefix --geometry argument. Example:</simpara>
275 NewTabber --geometry=+200+400 scottie
281 <term><fvwmopt mod="FvwmTabs" opt="Tabize"/></term>
282 <listitem><simpara> Add a window (as a tab) to a tabber.</simpara></listitem>
286 <term><fvwmopt mod="FvwmTabs" opt="NextTab"/></term>
287 <listitem><simpara> Show/select the next tab.</simpara></listitem>
291 <term><fvwmopt mod="FvwmTabs" opt="PrevTab"/></term>
292 <listitem><simpara> Show/select the previous tab.</simpara></listitem>
296 <term><fvwmopt mod="FvwmTabs" opt="LastTab"/></term>
297 <listitem><simpara> Show/select the last selected tab (if there was one).</simpara></listitem>
301 <term><fvwmopt mod="FvwmTabs" opt="ReleaseTab"/></term>
302 <listitem><simpara> Release a tabbed window back to fvwm.</simpara></listitem>
306 <term><fvwmopt mod="FvwmTabs" opt="ReleaseIconifyTab"/></term>
307 <listitem><simpara> Release a tabbed window back to fvwm & iconify it.</simpara></listitem>
311 <term><fvwmopt mod="FvwmTabs" opt="ReleaseAllTabs"/></term>
312 <listitem><simpara> Release all windows in a tab-manager back to fvwm.</simpara></listitem>
316 <term><fvwmopt mod="FvwmTabs" opt="ReleaseIconifyAllTabs"/></term>
317 <listitem><simpara> Release all windows in a tab-manager back to fvwm & iconify them.</simpara></listitem>
321 <term><fvwmopt mod="FvwmTabs" opt="CloseTabber"/></term>
322 <listitem><simpara> Destroy a tab-manager. All windows in the tab-manager are released back to fvwm.</simpara></listitem>
326 <term><fvwmopt mod="FvwmTabs" opt="AddTab"/></term>
327 <listitem><simpara> Pick a new window to add to a tab-manager. Selecting this option & clicking on a window will add the selected window to the tab-manager.</simpara></listitem>
331 <term><fvwmopt mod="FvwmTabs" opt="MultiAddTab"/></term>
332 <listitem><simpara> Pick & add new windows to a tab-manager until ESC is pressed.</simpara></listitem>
336 <term><fvwmopt mod="FvwmTabs" opt="ShowTab"/> <emphasis>tabNo</emphasis></term>
337 <listitem><simpara> Show/select tab <emphasis>tabNo</emphasis> in the tab-manager. <emphasis>tabNo</emphasis> is zero-based. ie. 0 is the first tab, 1 is the second, etc.</simpara></listitem>
341 <term><fvwmopt mod="FvwmTabs" opt="AddToTabber"/></term>
342 <listitem><simpara> Add a window (as a tab) to a tab-manager.</simpara></listitem>
346 <term><fvwmopt mod="FvwmTabs" opt="SwapLeft"/></term>
347 <listitem><simpara> Swap the selected window with the window on its immediate left.</simpara></listitem>
351 <term><fvwmopt mod="FvwmTabs" opt="SwapRight"/></term>
352 <listitem><simpara> Swap the selected window with the window on its immediate right.</simpara></listitem>
356 <term><fvwmopt mod="FvwmTabs" opt="SelectTabber"/></term>
357 <listitem><simpara> Select a tab-manager for a new window to be added to.</simpara></listitem>
361 <term><fvwmopt mod="FvwmTabs" opt="EnableDND"/></term>
362 <listitem><simpara> Swallow windows that (are moved to) overlap a tabber.</simpara></listitem>
369 <section id="keyBindings">
370 <title>Key Bindings</title>
371 <para>By default, <emphasis remap='B'>FvwmTabs</emphasis> reads a default user configuration file <filename>FvwmTabs-DefaultSetup</filename> which defines several useful key-bindings for <emphasis remap='B'>FvwmTabs</emphasis>. You can tell <emphasis remap='B'>FvwmTabs</emphasis> NOT to read this file with:</para>
373 <fvwmref cmd="SetEnv"/> FvwmTabs_NoDefaultSetup
375 <para>This environment variable must be set <emphasis>before</emphasis> starting the module.
376 </para>Then, pressing Ctrl-Alt-a (when the focus is in a tab-manager) will allow you to click on a window to add to the tab-manager.
378 <para>All of the key bindings can be changed using the standard fvwm <fvwmref cmd="Key"/> command and making use of the aforementioned fvwm functions. ie.</para>
380 <fvwmref cmd="Key"/> (FvwmTabs*) A A CM <fvwmref cmd="Function"/> AddTab
383 <para>Then, pressing Ctrl-Alt-a (when the focus is in a tab-manager) will allow you to click on a window to add to the tab-manager.</para>
385 <para>The default key bindings (set in the <filename>FvwmTabs-DefaultSetup</filename> file) are:</para>
390 <term><keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>a</keycap></keycombo></term>
391 <listitem><simpara>AddTab</simpara></listitem>
394 <term>Ctrl-Alt-c</term>
395 <listitem><simpara>CloseTabber</simpara></listitem>
398 <term>Ctrl-Alt-i</term>
399 <listitem><simpara>ReleaseIconifyTab</simpara></listitem>
402 <term>Ctrl-Alt-Shift-I</term>
403 <listitem><simpara>ReleaseIconifyAllTabs</simpara></listitem>
406 <term>Ctrl-Alt-l</term>
407 <listitem><simpara>LastTab</simpara></listitem>
410 <term>Ctrl-Alt-m</term>
411 <listitem><simpara>MultiAddTab</simpara></listitem>
414 <term>Ctrl-Alt-n & Ctrl-Alt-Tab</term>
415 <listitem><simpara>NextTab</simpara></listitem>
418 <term>Ctrl-Alt-p</term>
419 <listitem><simpara>PrevTab</simpara></listitem>
422 <term>Ctrl-Alt-r</term>
423 <listitem><simpara>ReleaseTab</simpara></listitem>
426 <term>Ctrl-Alt-Shift-R</term>
427 <listitem><simpara>ReleaseAllTabs</simpara></listitem>
430 <term>Ctrl-Alt-t</term>
431 <listitem><simpara>NewTabber</simpara></listitem>
434 <term>Ctrl-Alt-<emphasis><num></emphasis></term>
435 <listitem><simpara>ShowTab <emphasis><num></emphasis></simpara></listitem>
438 <term>Ctrl-Alt-Left</term>
439 <listitem><simpara>SwapLeft</simpara></listitem>
442 <term>Ctrl-Alt-Right</term>
443 <listitem><simpara>SwapRight</simpara></listitem>
452 <section id="mouseBindings">
453 <title>Mouse Bindings</title>
454 <section id="tabMouseBindings">
455 <title>Mouse Bindings on Tab Buttons</title>
461 <entry>Mouse Button</entry>
462 <entry>Action</entry>
467 <entry align="center">1</entry>
468 <entry>display the window associated with the tab.</entry>
471 <entry align="center">2</entry>
472 <entry>release the window associated with the tab back to the window manager as a standalone window.</entry>
475 <entry align="center">Ctrl + 2</entry>
476 <entry>tab-buttons can be reordered with a drag-&-drop operation initiated by holding down the Ctrl key and dragging with Mouse-2. A dragged tab is inserted before the tab-button onto which it is dropped.</entry>
479 <entry align="center">3</entry>
480 <entry>release the window associated with the tab back to the window manager as a standalone window.</entry>
488 <section id="toolbarMouseBindings">
489 <title>Mouse Bindings on Toolbar Icons</title>
490 <para>There are 4 toolbar icons named (L-to-R): menu, release, add and kill.</para>
497 <entry>Mouse Button</entry>
498 <entry>Action</entry>
504 <entry align="center">1</entry>
506 <entry>Display main menu. See <fvwmref sect="FvwmTabs" opt="menu" name="Menu Options"/>.</entry>
508 <entry>Display main menu. See <fvwmref mod="FvwmTabs" opt="menu" name="Menu Options"/>.</entry>
511 <entry>release</entry>
512 <entry align="center">1</entry>
513 <entry>release the selected window from the tabber.</entry>
516 <entry>release</entry>
517 <entry align="center">2</entry>
518 <entry>release all windows from the tabber, and iconify them.</entry>
521 <entry>release</entry>
522 <entry align="center">3</entry>
523 <entry>will release all windows from the tabber.</entry>
527 <entry align="center">1</entry>
528 <entry>add the next window you click on to the tabber.</entry>
532 <entry align="center">2</entry>
533 <entry>add the next window to popup to the tabber.</entry>
537 <entry align="center">3</entry>
538 <entry>add every window you click on (until you press Esc) to the tabber.</entry>
542 <entry align="center">1</entry>
543 <entry><fvwmref cmd="Close"/> the selected window.</entry>
547 <entry align="center">2</entry>
548 <entry>causes FvwmTabs to try to kill the selected window itself.</entry>
552 <entry align="center">3</entry>
553 <entry><fvwmref cmd="Destroy"/> the selected window.</entry>
564 <title>Menu Options</title>
565 <para>Mouse-1 on the "menu" button will bring up a menu of options:</para>
567 <para output="html"><imagedata fileref="images/FvwmTabs/menu.png"/></para>
574 <entry>Menu option</entry>
575 <entry>Description</entry>
580 <entry>Release All</entry>
581 <entry>release all tabbed programs back to the window manager as standalone windows.</entry>
584 <entry>Release All (Iconify)</entry>
585 <entry>release all tabbed programs back to the window manager as iconised standalone windows.</entry>
589 <entry>add the next mouse-clicked window to the tab-manager.</entry>
592 <entry>Add Next</entry>
593 <entry>add the next window that is created to the tab-manager.</entry>
596 <entry>Multi Add</entry>
597 <entry>keep adding mouse-clicked windows to a tab-manager until the escape key is pressed. Useful for adding multiple windows to a tab-manager at once.</entry>
601 <entry>shows a sub-menu enabling you to dynamically configure the button/title/menu fonts, using the external program identified by the <emphasis>fontSelector</emphasis> option.</entry>
604 <entry>Options</entry>
605 <entry>shows a sub-menu with the following items:
608 <term>Show Internal Titlebar</term>
609 <listitem><simpara>toggle the display of the titlebar below the tab-buttons.</simpara></listitem>
612 <term>Use Main Titlebar</term>
613 <listitem><simpara>set the titlebar of the FvwmTabs window to the title of the selected tab.</simpara></listitem>
616 <term>Auto Resize</term>
617 <listitem><simpara>Automatically resize all windows to the dimensions of the largest window in the tab-manager..</simpara></listitem>
620 <term>Swallow Overlapping (D&D)</term>
621 <listitem><simpara>toggle the swallowing of overlapping windows.</simpara></listitem>
630 <entry>Window Tabizer Dialog</entry>
631 <entry>popup a dialog box for specifying windows to swallow. Windows can be specified explicitly (by name) or by using a (Perl) regular expression matcher. (Note: / character is automatically escaped.)</entry>
634 <entry><emphasis>window</emphasis></entry>
635 <entry>The menu options between the seperators will display the window/tab associated with the text. (The menu text is actually the title associated with the window. The text on each tab-button is the icon name.)</entry>
639 <entry>pops up a dialog with version/developer information.</entry>
643 <entry>close the FvwmTabs window, invoking Release All in the process.</entry>
651 <section id="tutorial" output="html">
652 <title>Tutorial</title>
654 <section id="creating">
655 <title>Creating a tabber</title>
656 <para>If the FvwmTabs module is correctly installed/configured, press Ctrl-Alt-t and a little window that looks something like this should appear:</para>
657 <imagedata fileref="images/FvwmTabs/fvwmTabsEmpty.png"/>
658 <para>A new tabber is created every time Ctrl-Alt-t is pressed.</para>
661 <section id="adding">
662 <title>Adding windows to a tabber</title>
663 <para>There are a number of ways to add windows to a tabber:</para>
666 <listitem>To add a <emphasis role="bold">single</emphasis> window to a tabber, click the <emphasis>add</emphasis> (orange) icon (or press <keysym>Ctrl-Alt-a</keysym> when the tabber is focussed). The mouse cursor will change to a crosshair. The next window selected (clicked on) will be swallowed by the tabber.
667 To cancel an add-window operation, press <keysym>Esc</keysym>.</listitem>
668 <listitem>To add <emphasis role="bold">multiple</emphasis> windows to a tabber, click the <emphasis>add</emphasis> (orange) icon with the right mouse button (or press <keysym>Ctrl-Alt-m</keysym> when the tabber is focussed). All windows that are selected (clicked on) until <keysym>Esc</keysym> is pressed, will be swallowed by the tabber.</listitem>
670 <listitem>Invoke the <ulink url="http://members.optusnet.com.au/~scottsmedley/fvwmtabs/tab.zsh">tab.zsh</ulink> script from a shell to swallow the next window that pops up. For example:
673 tab.zsh xterm -bg blue -fg white
674 tab.zsh gnome-calculator
678 The xterm and calculator window will automatically be swallowed into the tabber that last had the focus.
681 <listitem>Invoke the fvwm SwallowNew function. Syntax is:
683 <fvwmref cmd="Function"/> SwallowNew tabberId <emphasis>fvwmCommand</emphasis>
687 <fvwmref cmd="Function"/> SwallowNew any <fvwmref cmd="Function"/> StartupBrowser
688 <fvwmref cmd="Function"/> SwallowNew lastFocus <fvwmref cmd="Exec"/> exec rxvt
689 <fvwmref cmd="Function"/> SwallowNew 2 <fvwmref cmd="Exec"/> exec gvim header.hh
691 The fvwm command is executed when the tabber is ready to swallow the next window that is created.
698 <section id="releasing">
699 <title>Releasing windows from a tabber</title>
700 <para>There are a number of ways to release windows from a tabber.</para>
702 <para>To release a <emphasis role="bold">single</emphasis> window from a tabber: </para>
705 <listitem>Click the release (middle green) icon with the left mouse button.</listitem>
706 <listitem>Press <keysym>Ctrl-Alt-r</keysym> when the tabber is focussed.</listitem>
707 <listitem>Click the tab button for the window with the middle mouse button.</listitem>
708 <listitem>To release and iconify a window, click the tab button for the window with the right mouse button.</listitem>
710 The first two release the selected window. The last two release the window the tab button is associated with.
712 <para>To release all windows from a tabber:</para>
714 <listitem>Click the release (left green) icon with the middle mouse button.</listitem>
715 <listitem>To release and iconify all windows, click the release (left green) icon with the right mouse button.</listitem>
722 <title>Known Bugs</title>
723 <simpara>Tab-managers don't take focus when iconified.</simpara>
724 <simpara>FvwmTabs doesn't obey <fvwmref cmd="Style" opt="ClickToFocus"/> mode.</simpara>
725 <simpara>FvwmTabs has a problem swallowing shaded windows.</simpara>
726 <simpara>Using <fvwmref cmd="Maximize"/> to resize tab-manager windows prevents dynamic resizing from working.</simpara>
727 <para>Please send bug reports, feature requests and queries about FvwmTabs to the fvwm mailing list: <email>fvwm@fvwm.org</email>. Be sure to include the word "FvwmTabs" somewhere in the subject line.</para>
730 <section id="licence">
731 <title>Licence</title>
732 <para>FvwmTabs is GPL software.</para>
735 <section id="author">
736 <title>Author</title>
737 <para>Scott Smedley <email>ss@aao.gov.au</email></para>