SYNOPSIS
fluxbox -help | -version
fluxbox [ -rc rcfile ] [ -display display ]
DESCRIPTION
Fluxbox is yet another addition to the list of window managers for the
Open Group’s X Window System, Version 11 Release 6 and above. Fluxbox
is built with C++, based on the sources of Blackbox 0.61.0. Fast.
Fluxbox provides configurable window decorations, a root menu to launch
applications and a toolbar that shows the current workspace name, the
focused application name and the current time. There is also a
workspace menu to add or remove workspaces. The ‘slit’ can be used to
dock small applications, e.g. most of the bbtools can use the slit.
Fluxbox will iconify windows to the toolbar, in addition to adding the
window to the ‘Icons’ submenu of the workspace menu. One click and
they reappear. A double-click on the titlebar of a window will shade
it i.e. the window will disappear, only the titlebar stays visible.
Fluxbox uses its own graphics class to render its images on the fly.
By using style files, you can determine at a great level how your desk‐
top looks like. Fluxbox styles are compatible with those of Blackbox,
so users migrating can still use their current favourite themes.
Currently KDE WM hints are not supported, but Fluxbox is already pre‐
pared to support the new window manager specification that is now being
developed for both Gnome and KDE2.0.
OPTIONS
Fluxbox supports the following commandline options:
-help Display command line options , then exit.
-version
Display version info and exit.
-rc rcfile
Use another rcfile than the default ~/.fluxbox/init.
-display display
Start Fluxbox on the specified display. Programs started by
Fluxbox will have the DISPLAY environment variable set to this
value, too.
-info Display some useful information (defaults and compiled-in fea‐
tures) and exit.
-log filename
Log output to the specified file.
RUNNING FLUXBOX
file can be edited by hand.
USING FLUXBOX
Fluxbox includes keyboard handling. In order to customize your keybind‐
ings, edit the file ~/.fluxbox/keys as described below in the section
KEYS FILE.
Root window (background):
Right click (button 3) will pop up the root menu. With this you can
launch your applications. You can customize this menu for your needs.
A middle click (button 2) pops up the workspace menu. You can add or
remove a workspace, view applications running on all workspace, inspect
your icons, and jump directly to any workspace or application.
Left clicking (button 1) on an application in the Workspaces menu will
bring you to that workspace and raise/focus that application; middle
clicking (button 2) will warp the application to the current workspace.
Toolbar:
The toolbar contains up to eight fields/tools: a workspace name, the
iconbar, the systemtray, a clock and arrows for previous and next
workspace and windows.
The contents can be configured in fluxbox init-file in the entry
session.screen0.toolbar.tools: clock, iconbar, workspacename
or the toolbar can be turned off by
session.screen0.toolbar.visible: false
Clicking the workspace name brings up the toolbar menu. Using the
wheel on workspace name or the clock switches the workspace, this could
also be enabled for the whole desktop in the fluxbox menu.
When desktop warping is enabled, dragging a window outside the desktop
will change to the next desktop.
Using the toolbar menu you can enter a name for the current workspace
(when finished, press Enter). One can choose the toolbar’s position,
in which layer it should be see LAYERs below and if it should hide when
the mouse leaves it. The iconbar mode is also set via this menu: None,
Icons -- Icons from all workspaces, Workspace Icons, Workspace -- all
windows from Workspace, All Windows -- from all workspaces.
Layer
Fluxbox manages following layers: Above Dock, Dock, Top, Normal, Bot‐
tom, Desktop. Presumably the list is from top to bottom. Slit and
toolbar can be assigned to a layer with the menu, applications might be
assigned to a layer in the apps file.
Focus Model
mands:
Send To... (in 0.9.7)
Send window to another workspace. When you select the workspace
with the middle button, Fluxbox will send you along with the
application to the selected workspace
Shade Shade the window (display titlebar only)
Iconify
Iconify window. The ‘icon’ can be found in the ‘Icons’ submenu
of the workspace menu as well as in the toolbar.
Maximize
(Un)Maximize window. Depending on toolbar and slit configuration
maximize does cover slit and toolbar or not.
Button1
(usually left button) Maximize Normal, i.e. Vertical and Hori‐
zontal
Button2
(Un)Maximize window only vertically.
Button3
(Un)Maximize window only horizontal.
Raise Raise window
Lower Lower window
Stick (Un)Stick window. A stuck window will always be displayed in
the current workspace
Next Client
Activate next client in this window’s group.
Prev Client
Activate prev client in this window’s group.
Layer ...
Change the layer of this window.
Remember ...
Specify which window settings should be stored in the apps file.
Close Close the application cleanly
When you doubleclick on the titlebar of a window, it will ‘shade’, so
that only the titlebar stays visible. Another double click will redis‐
play the window contents.
Any menu:
Clicking button 3 in a menu will popdown the menu. Clicking button 1
on the titlebar of any (sub)menu and then dragging it somewhere else
will cause the menu to stay visible and not disappear when you click on
a menu item.
Miscellaneous:
When you want to drag a window, but cannot see either the bottom handle
or its titlebar, you can press Alt + button 1 anywhere in the window
and then drag it around. You can also use Alt + button 1 to raise a
partially visible window. Finally, Alt + button 2 lowers a window, and
Alt + button 3 resizes the window.
This can be disabled or changed to a different modifier in the resource
file ~/.fluxbox/init with:
session.modKey: <modifier>
(Default: Mod1)
Where <modifier> is one of:
Mod1 (Alt), Mod4 (’Windows’ key), Control, or None (disables)
MENU FILE
A default menu file is installed in /usr/share/fluxbox/menu. Of course
this system-wide menu can be customized for all users at once. But it
is also possible to create a personal menu. It is a convention to cre‐
ate a directory ~/.fluxbox/ (or ~/fluxbox/) in your home directory, and
to create a menu file, e.g. menu in this directory, or copy the sys‐
tem-wide menu file to this location. Next, we have to tell Fluxbox to
load our menu file instead of the default. This is accomplished by
adding (or changing) a resource value in the ~/.fluxbox/init file e.g.:
session.menuFile: ~/.fluxbox/menu
For this change to take effect, Fluxbox has to be restarted. Be sure
that your menu is usable, then choose ‘Restart’ from the default
Fluxbox root menu. If only the contents of the menu file changed, only
reload config is needed.
A menu reload can also be forced by sending SIGUSR2.
Menu behaviour
The behaviour of the menu can be configured in the ~/.fluxbox/init
file, with the following entries:
session.screen0.menuMode: can be either Click or Delay (default:
Delay)
session.screen0.menuDelay: in msec (default: 0 )
session.screen0.menuDelayClose: in msec (default: 0 )
either be a submenu or the main root menu. There must be at
least one of these tags in your menu to correspond to the
required [begin] tag.
[exec] (label for command) {shell command}
Inserts a command item into the menu. When you select the menu
item from the menu, Fluxbox runs ‘shell command.’
[exit] (label for exit)
Inserts an item that shuts down and exits Fluxbox. Any open
windows are reparented to the root window before Fluxbox exits.
[include] (filename)
Reads the file filename into the current menu. The file has to
start with [begin] and end with [end]. The filename can be the
full path to a file or it can begin with ~/, which will be
expanded into your home directory (e.g.
[include] (~/fluxbox/stylesmenu)
will include /home/yourusername/fluxbox/stylesmenu in my menu).
If the parameter to include directive is a directory, every file
in this path will be included.
[nop] (label - optional)
Insert a non-operational item into the current menu. This can
be used to help format the menu into blocks or sections if so
desired. [nop] does accept a label, but it is not required, and
a blank item will be used if none is supplied.
[separator]
will create a nice separator line.
[style] (label) {filename}
This tells Fluxbox to insert an item that, when selected, reads
style file named filename and apply the new textures, colors and
fonts to the current running session.
[stylesdir] (directory name)
Reads all filenames from the specified directory, assuming that
they are all valid style files (directories are ignored), and
creates menu items in the current menu for every filename, that,
when selected by the user, apply the selected style file to the
current session. The labels that are created in the menu are
the filenames of the style files.
[stylesmenu] (label) {directory name}
Creates a submenu entry with label (that is also the title of
the new submenu), and inserts in that submenu all filenames in
the specified directory, assuming that they are all valid style
files (directories are ignored) in the same way as the [styles‐
dir] command does.
files and apply any changes. This is useful for creating a new
style or theme, as you don’t have to constantly restart Fluxbox
every time you save your style. However, Fluxbox automagically
rereads the menu whenever it changes.
[restart] (label) {shell command - optional}
This tells Fluxbox to restart. If ‘shell command’ is supplied,
it shuts down and runs the command (which is commonly the name
of another window manager). If the command is omitted, Fluxbox
restarts itself.
[config] (label)
Inserts a Fluxbox native submenu item, containing numerous con‐
figuration options concerning window placement, focus style,
window moving style etc.
[workspaces] (label)
This tells Fluxbox to insert a link to the workspaces menu
directly into your menu. This is handy for those users who
can’t access the workspace menu directly (e.g. if you don’t have
a 3 button mouse, it’s rather hard to middle click to show the
workspace menu).
Any line that starts with a ‘#’ is considered a comment and ignored by
Fluxbox. Also, in the labels/commands/filenames fields, you can escape
any character like so:
[exec] (\(my cool\) \{XTERM\}) {xterm -T \"cool XTERM\"}
Using ‘\\’ inserts a literal back-slash into the label/command/filename
field.
Menu example
Now let’s put together some things. Here is a short example of a menu
file:
# Fluxbox menu file
[begin] (Fluxbox)
[exec] (rxvt) {rxvt -ls} </usr/X11R6/share/icons/terminal.xpm>
[exec] (netscape) {netscape -install}
[exec] (The GIMP) {gimp}
[exec] (XV) {xv}
[exec] (Vim) {rxvt -geometry 132x60 -name VIM -e screen vim}
[exec] (Mutt) {rxvt -name mutt -e mutt}
[submenu] (mozilla)
[exec] (browser) {mozilla -browser}
[exec] (news) {mozilla -news}
[exec] (mail) {mozilla -mail}
[exec] (edit) {mozilla -edit}
[exec] (compose) {mozilla -compose}
[end]
[submenu] (Window Manager)
Fluxbox enables you to use specialized files that contain X(1)
resources to specify colors, textures, pixmaps and fonts, and thus the
overall look of your window borders, menus and the toolbar.
The default installation of Fluxbox provides some of these style files.
See fluxstyle(1) to accomodate the growing number of style components.
KEYS FILE
You can customise Fluxbox’ key handling through the ~/.fluxbox/keys
file. The file takes the format of :
<modifier> <key> [...] :<operation>
In the example below, Mod1 is the ’Alt’ key on the PC keyboard and Mod4
is one of the three extra keys on a pc104 branded with a sickening cor‐
porate logo.
# Fluxbox keys file.
# Any line starting with a # is a comment.
Mod1 Tab :NextWindow
Mod1 F1 :Workspace 1
Mod1 F2 :Workspace 2
Mod1 F3 :Workspace 3
Mod1 F4 :Workspace 4
Mod1 F5 :Workspace 5
Mod1 F6 :Workspace 6
Mod1 F7 :Workspace 7
Mod1 F8 :Workspace 8
Mod1 F9 :Workspace 9
Mod4 b :PrevWorkspace
Mod4 c :Minimize
Mod4 r :ExecCommand rxvt
Mod4 v :NextWorkspace
Mod4 x :Close
Mod4 m :RootMenu
Control n Mod1 n :NextTab
As you can see from the last line, keybinds can be chained in a fashion
similar to emacs keybindings.
Commands are caseinsensitive, workspace numbering starts at "1", some
commands have synonyms, the space between the last key and the :Command
is mandatory. Possible Operations:
window manager commands
Restart argument
Quit
Reconfigure
SetStyle argument
ExecCommand, Execute or Exec command
MoveLeft delta-x
MoveUp delta-y
MoveDown delta-y
Raise
Lower
Close
Shade, ShadeWindow
Stick, StickWindow
ToggleDecor
SendToWorkspace number : Sends the current window to the workspace
TakeToWorkspace number : Sends the window and changes to the workspace.
KillWindow
NextTab
PrevTab
MoveTabLeft
MoveTabRight
DetachClient
workspace commands
NextWorkspace
PrevWorkspace
RightWorkspace by-number
LeftWorkspace by-number
Workspace number
NextWindow by-number
PrevWindow by-number
NextGroup by-number
PrevGroup by-number
ArrangeWindows
ShowDesktop - Iconifies all windows.
RootMenu
WorkspaceMenu
WindowMenu
WorkspaceNameDialog - edit workspaces name dialog (old SetWorkspaceName)
SetWorkspaceName name
Prev/NextWindow Parameter NextWindow and PrevWindow take an integer
parameter.
0 or unspecified = Default/current behavior - no skipping
1 = Skip lower tabs
2 = Skip stuck windows
3 = Skip lower tabs/stuck windows
4 = Skip shaded windows
5 = Skip lower tabs/shaded windows
6 = Skip stuck windows/shaded windows
7 = Skip lower tabs/stuck windows/shaded windows
special commands
MacroCmd
where elements can be found with this command:
xprop WM_CLASS
Just launch this command in a terminal and click on the desired app
after. It will tell you what to write as element. Each line forms a
different group, e.g:
Navigator nedit
xterm
This will create two groups, one with netscape and nedit, and one with
xterm. The new window will only group itself to other windows on the
same workspace and to the last window that was focused.
THE SLIT
The slit is a special Fluxbox window frame that can contain dockable
applications, e.g. the ‘bbtools.’ When applications are run in the
slit they have no window borders of their own; instead they are framed
in the slit, and they are always visible in the current workspace. You
can click button 3 on the edge of the slit window to get a menu to
determine its position, whether its contained applications should be
grouped horizontally or vertically and whether the slit should hide
itself when the mouse moves away.
Most dockable applications use the -w option to run in the slit. For
example, you could put in your ~/.xinitrc:
bbmail -w &
bbpager -w &
exec fluxbox
Of course to use the slit you must have slit support compiled in.
SLITLIST FILE
Since version 0.1.10, Fluxbox has the capacity to launch dockapps in
the order told by the ~/.fluxbox/slitlist file.
A simple procedure for getting the slit sequences the way you like it
is:
1) Run fluxbox with no pre-loaded dockapps.
2) Run dockapps individually in the order you want them.
3) Re-add dockapps to your auto-run script, e.g. .xinitrc or .xsession. Order doesn’t matter here!
This sequence will be saved by default to ~/.fluxbox/slitlist and will
be maintained in future fluxbox sessions.
Users are free to manually edit the slitlist file. It is a simple list
of window names, one per dockapp. Similar to the init file it should be
edited while not running fluxbox. Otherwise changes may get overwrit‐
ten.
dow’s window-title.
Maximize Over Slit
This option makes maximized windows cover the Slit when they get
maximized. Turn this option off if you want your slit to stay
visible at all times.
RESOURCE FILE
Usually the ~/.fluxbox/init resource file is created and maintained by
Fluxbox itself. All options from the [config] menu, the last selected
style file, your workspace names and so on are saved into this file.
However, there are some resources in it you might want to edit your‐
self:
session.menuFile:
This tells Fluxbox where to look for its menu file.
session.menuFile: /home/myself/.fluxbox/menu
session.keyFile:
This tells Fluxbox where to find the file describing the key‐
bindings.
session.keyFile: /home/myself/.fluxbox/keys
session.styleFile:
This tells Fluxbox where to find the style (theme) file for this
session.
session.styleFile: /usr/share/fluxbox/styles/Flux
session.groupFile:
This tells Fluxbox where to find the file for the autogrouping
feature.
session.groupFile: /home/myself/.fluxbox/groups
session.slitlistFile:
This tells Fluxbox where to find the file that contains the
order in which the apps are loaded in the slit.
session.slitlistFile: /home/myself/.fluxbox/slitlist
session.screen0.toolbar.tools:
This specifies the tools plugged into the toolbar. Possible
tools: workspacename, prevworkspace, nextworkspace, iconbar,
systemtray, prevwindow, nextwindow, clock e.g. :
session.autoRaiseDelay:
Adjusts the delay (in ms) before focused windows will raise when
using the Autoraise option. The default value is: 250.
session.doubleClickInterval:
Adjust the delay (in ms) between mouse clicks for Fluxbox to
consider a double click. Default value is: 250.
session.screen0.edgeSnapThreshold:
When moving a window across your screen, Fluxbox is able to have
it ‘snap’ to the edges of the screen for easy placement. This
variable tells Fluxbox the distance (in pixels) at which the
window will jump to the edge. Default value is: 0.
session.cacheMax:
This tells Fluxbox how much memory (in Kb) it may use to store
cached pixmaps on the X server. If your machine runs short of
memory, you may lower this value. Default value is 200.
session.cacheLife:
This tells Fluxbox how long (in minutes) unused pixmaps may stay
in the X server’s memory. Default value is 5.
session.opaqueMove:
When moving a window, setting this to True will draw the window
contents as it moves (nasty on slow systems), if False it will
only draw an outline of the window border.
session.imageDither:
True or False to, respectively, enable or disable dithering of
images. Only necessary on systems with small colour depths
(8bpp or less)
session.colorsPerChannel:
This tells Fluxbox how many colors to take from the X server on
pseudocolor displays. A channel would be red, green, or blue.
Fluxbox will allocate this variable ^ 3 colors and make them
always available. Value must be between 2 and 6. When you run
Fluxbox on an 8-bit display, you must set this resource to 4.
Default value is 4.
session.iconbar:
True or False to enable or disable Fluxbox using the toolbar to
display iconified windows.
session.*.iconbar.alignment:
LEFT, RELATIVEor RIGHT can be changed in the iconbar mode menu.
If LEFT or RIGHT is specified the iconbar buttons have a fixed
with and are left/right aligned.
session.*.iconbar.clientWidth:
Integer is used to specify the iconbar button width for
Follow - deiconifies the window on the workspace it
was iconified from and jumps to that workspace
SemiFollow - acts as ’Current’ for windows that were actually
iconified, and as ’follow’ for the others
session.tabs:
True or False to enable/disable Fluxbox’s PWM-like window tabs.
Tabs let you group windows together, they will take up identical
desktop space (windows smaller or larger than the existing group
size get resized automatically) and can be moved as a group
around the desktop or to a different workspace. Default value
is True.
When running Fluxbox in a multiple desktop environment the screen0 key
can also be screen1, 2 etc. for any appropriate desktop, and you can
customise the behaviour of Fluxbox on each desktop accordingly. A
favourite of the man page author with a dual-head Matrox G450 was to
autohide the slit and toolbar on screen0 and set it alwaysontop and not
autohidden on screen1, with a larger date format on screen1
session.screen0.toolbar.onTop: False
session.screen0.toolbar.autoHide: True
session.screen0.toolbar.placement: BottomCenter
session.screen0.toolbar.widthPercent: 42
session.screen0.slit.onTop: False
session.screen0.slit.autoHide: True
session.screen0.slit.placement: TopLeft
session.screen0.slit.direction: Vertical
session.screen0.strftimeFormat: %I:%M %p
session.screen1.toolbar.onTop: True
session.screen1.toolbar.autoHide: False
session.screen1.toolbar.placement: BottomCenter
session.screen1.toolbar.widthPercent: 69
session.screen1.slit.onTop: True
session.screen1.slit.autoHide: False
session.screen1.slit.placement: CenterRight
session.screen1.slit.direction: Vertical
session.screen1.strftimeFormat: %a %d %R [%s]
This way the main workspace (screen0) has the maximum amount of space
available and the secondary workspace could show the time and run some
withdrawn apps like gkrellm in the slit, always visible yet out of the
way of real work.
APPLICATIONS SETTINGS
Sometimes, you want to force an application to have always the same
dimensions, position, and other settings. It is now possible with the
new window-submenu called ’Remember...’. Settings are saved in the
~/.fluxbox/apps file. You don’t have to edit the file yourself as all
manipulations can be done using the ’Remember...’ submenu.
Tab state [yes|no]
Remember the current tab state.
IconHidden
hides the app from the icon bar
FocusHidden
hides the app from the list to be reachable via Next/PrevWindow
Hidden is [IconHidden] + [FocusHidden]
Decoration state [NONE|NORMAL|TOOL|TINY]
Remember the current decoration state.
Sticky state [yes|no]
Remember the current sticky state.
Jump to workspace [yes|no]
This one is only useful if ’Workspace’ is set too. The
workspace is changed to the workspace containing the application
being launched.
Save settings on close [yes|no]
By default, application settings are not saved when a window is
closed. Set this option if you want previous settings to be
saved when the window is closed.
The apps-file also allows to specify applications that should be
started on fluxbox start using [startup] (options) {application} lines
. options could be used to specify the screen, not the workspace, on
which the application should started. startup is not yet setable by
menu.
Applications example
Here is a short example of an apps file:
[startup] {xterm}
[app] (kate)
[Dimensions] (WINCENTER) {1022 747}
[Position] {0 0}
[Close] {yes}
[end]
[app] (konqueror)
[Workspace] {1}
[Dimensions] {1006 749}
[Position] {16 0}
[Jump] {yes}
[end]
[app] (xterm)
[Deco] {NONE}
SIGNALS
Upon receipt of SIGUSR1 fluxbox loads the configuration, SIGUSR2 forces
reloading of configuration and SIGHUP restarts itself.
AUTHOR and CREDITS
Blackbox was written and maintained by Brad Hughes <blackbox@alug.org>
and Jeff Raven <jraven@psu.edu>, Fluxbox is written and maintained by
Henrik Kinnunen <fluxgen@linuxmail.org> with contributions and patches
merged from many individuals around the world.
The Official Fluxbox website: http://fluxbox.org/
Many compatible themes: http://themes.freshmeat.net/
This manpage was put together by Matthew Hawkins
<matt@mh.dropbear.id.au> from the original Blackbox man page by Wilbert
Berendsen <wbsoft@xs4all.nl> and subsequently hacked upon by Tobias
Klausmann <klausman@users.sourceforge.net> ,
<grubert@users.sourceforge.net> , <asenchi@asenchi.com>
Numerous other languages could be available if someone jumps in.
SEE ALSO
fbsetroot(1) fbrun(1) fbsetbg(1) fluxstyle(1)
0.9.9 August 16th, 2004 fluxbox(1)
TechZilla.biz | TechZilla.info | SlicerUnderground | techzilla.50megs.com | Tohigherground | NextOnStage | EMUslax | GNUlinx | GamesOfDaPast | WorldCrimeWars | Fistula | Asus-Z81k | Riding-Gear | UniformDiscount | WorkWearIt | NuZilla