fluxbox is a 'floating' window manager for X. it is based on blackbox code and inherits its properties by adding features
fluxbox is launched by the ~/bin/start/fluxbox_start.sh script.
to change startup applications, simply edit this file:
fluxbox is a very complete window manager: menu, panel, systray.. i've just added a conky.
to configure conky, simply edit its conkyrc:
fluxbox is configured by some files in your ~/.fluxbox. most part of this configuration can be done by the fluxbox menu itself::section config:fluxbox:fluxbox config. fluxbox config menu is very complete and write in the ~/.fluxbox/init file.
to adjust configuration, you have to edit ~/.fluxbox files:
you can add properties to this file through the window menu ('remember' tab) but you can't add all options. to define more properties, you have to edit your ~/.fluxbox/apps. syntax is pretty easy and some examples will close this section:
[app]/[group] (app-name) {count - optional} [Property1] {value1} [Property2] {value2} ... [end]
an application is identified by xprop through various properties
[app]...[end] sections provide settings for individual application windows.
These sections begin with a line of the format
This opening [apps] line is followed by any number of settings for the application. See 'settings' for more details.
Each of these sections ends with the single line: [end]
[group]...[end] The primary purpose of [group] sections is to group windows together. All windows in a group will be tabbed together automatically.
These sections begin with a line of the format
This is followed by any number of [app] lines. These have a simiar format to the [app] section detailed above in APP SECTIONS, but do not contain any settings and do not have an associated [end] line.
As with [app] sections, each of these sections ends with the single line: [end]
settings are properties applied to window corresponding to 'pattern'
format is simple
here is the 'settings' list:
pattern: A pattern looks like this:
Match definitions are enclosed in parentheses (…), and if no propertyname is given then Name is assumed. The regexp can contain any regular expression, or the special value [current], which matches the corresponding value of the currently focused window.
propertyname is not case sensitive, whereas the regexp is.
If you specify multiple (pattern) arguments, this implies an AND condition - All specified patterns must match.
You can use = to test for equality or != to test for inequality.
The following values are accepted for propertyname:
examples:
[app] (name=.*[tT]erm) {2} [Workspace] {1} [end]
[app] (name=geany) [Dimensions] {1022 747} [Position] (CENTER) {0 0} [Close] {yes} [end]
[app] (name=luakit) [Workspace] {1} [Jump] {yes} [end]
[app] (name=aterm) [Deco] {NONE} [end]
[group] [app] (name=gimp) (role=gimp-dock) [app] (name=gimp) (role=gimp-toolbox) [Layer] {4} [end]
for more infos: man fluxbox-apps :)
to modify fluxbox keys, simlply edit the file
keys syntax:
- a command: 'Mod1 p :Exec fbrun'
- an action on desktop: 'OnDesktop Mouse1 :HideMenus'
- a group of actions: OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
for complete list of fluxbox keys possibilities:
livarp fluxbox keys available on bottom of this page.
to modify your menu, simply edit the file
fluxbox menu syntax:
[tag] (label or filename) {command or filename}
available [tag]:
[begin] (label) This tells Fluxbox to start parsing the menu file. This tag is required for Fluxbox to read your menu file. If it cannot find it, the system default menu is used in it's place. [end] This tells Fluxbox that it is at the end of a menu. This can either be a submenu or the main root menu. There must be at least one of these tags in our menu to correspond to the required [begin] tag. [exec] (label) {command} Inserts a command item into the menu. When you select the menu item from the menu, Fluxbox runs command. [exit] (label) Inserts an item that shuts down and exits Fluxbox. Any open windows are reparented to the root window before Fluxbox exits. [include] (file-or-directory-name) Parses the file specified by filename inline with the current menu. The filename can be the full path to a file or it can begin with ~/, which will be expanded into your home directory. If the path is a directory, then all files in the directory are included. [nop] (label) 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. This tag does support a label, but one is not required in which case a blank item will be used instead. [separator] This will create a nice separation line. Useful for splitting up sections in a pretty way. [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. [stylesmenu] (label) {directory} Reads all filenames from the specified directory, assuming that they are all valid style files, and creates menu items in the current menu for every filename, that, when selected by the user will apply the selected style file to the current session. The labels that are created in the menu are the filenames of the style files. [stylesdir] (directory) 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 [stylesdir] command does. Both [stylesdir] and [stylesmenu] commands make it possible to install style files without editing your init file. [submenu] (label) {menutitle} This tells Fluxbox to create and parse a new menu. This menu is inserted as a submenu into the parent menu. These menus are parsed recursively, so there is no limit to the number of levels or nested submenus you can have. The title for the new menu is optional, if none is supplied, the new menu's title is the same as the item label. An [end] tag is required to end the submenu. [reconfig] (label) When selected this item re-reads the current style and menu files and applies 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) {command} This tells Fluxbox to restart. If command is supplied, it shuts down and runs the command (which is commonly the name of another windowmanager). If the command is omitted, Fluxbox restarts itself. [config] (label) Inserts a Fluxbox native submenu item, containing numerous configuration options concerning window placement, focus style, window moving style, etc. [wallpapers] (directory) {command} This allows you to list your backgrounds. This tag is built in to use fbsetbg(1) and allows you to simply click on an image to set your wallpaper. See? Fluxbox makes it easy… This item can also be hacked to perform a command over directory content (it doesn't dive in subdirs, it's a hack). For instance, to choose between playlists [wallpapers] (~/Music/Playlists) {xmms} will perfectly work. [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 is rather hard to middle click to show the workspace menu).
configured by the ~/.fluxbox/keys file, here are the livarp fluxbox release shortcuts: