FLUXBOX-APPS(5) | Fluxbox Manual | FLUXBOX-APPS(5) |
NAME
fluxbox-apps - per-window attribute configuration for fluxbox(1)
SYNOPSIS
~/.fluxbox/apps
SYNTAX
Variable parameters are shown in emphasis: argument
All other characters shown are required verbatim. Whitespace is only required to delimit words, but it is fine to add more whitespace.
DESCRIPTION
It is possible to force an application to always have the same dimensions, position, and other settings when it is first launched. These settings are saved in the ‘apps’ file.
Most simple settings can be saved using the “Remember...” submenu of the window menu, which can usually be opened with a right-click on the titlebar. More advanced features require manually editing the ‘apps’ file. This may include using GROUP SECTIONS to set up automatic window tab groups.
You do not need to “reload” fluxbox after editing the apps file, the changes should be rescanned when the next window is opened.
The file is made up of two main types of sections, apps and groups, detailed below.
APP SECTIONS
[app] sections provide settings for individual application windows.
These sections begin with a line of the format
The pattern can be one or more patterns which match windows. For more details, see CLIENT PATTERNS. If you specify more than one pattern, they must ALL match for the settings to be applied.
The {count} is optional. If specified, then the entry will only match at most that many windows at any time. If omitted, the default is to apply the settings to all matching windows.
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
TRANSIENT SECTIONS
[transient] sections provide settings for "dialogs".
This is the same as the [app] section, but applies to transient windows. Transient windows have a WM_TRANSIENT_FOR property. This will apply to all modal and several other dialogs which have a "leader" they remain above. Notably, open/save dialogs fall into this category.
GROUP SECTIONS
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
Where the pattern item is optional. If specified, this pattern must match for the group to take effect. It is common to use non-window-specific patterns such as (workspace) here. See CLIENT PATTERNS for more details.
This is followed by any number of [app] lines. These have a similar format to the [app] section detailed above in APP SECTIONS, but do not contain any settings and do not have an associated [end] line.
Like this
This section may also contain settings that are applied to every window in the group. See the SETTINGS section for details.
As with [app] sections, each of these sections ends with the single line
SETTINGS
These settings may be stored in the ‘apps’ file. A settings line must appear inside either an [app] or [group] section.
The general format is
All allowed values are described below, except for bool which can simply have the value yes or no, which enables or disables the associated setting, respectively.
[Workspace] {number}
[Jump] {bool}
[Head] {number}
[Layer] {number}
[Dimensions] {width[%] height[%]}
[IgnoreSizeHints] {bool}
[Position] (anchor) {X[%] Y[%]}
anchor may be set to one of:
[Deco] {value}
Specify the decoration state. There are several predefined value sets:
NORMAL
NONE
BORDER
TAB
TINY
TOOL
The value may also be a bitmask for finer-grained control. The bits are, from (1<<0) to (1<<10): Titlebar, Handle/Grips, Border, Iconify Button, Maximize Button, Close Button, Menu Button, Sticky Button, Shade Button, External Tabs, Focus Enabled.
[Shaded] {bool}
[Tab] {bool}
[FocusNewWindow] {bool}
DEPRECATED! Please use FocusProtection "Gain" or "Refuse" instead.
[FocusProtection] {value [,value [, ...]] }
Comma separated list of focus controlling flags. value may be:
None
Gain
Refuse
Deny
Lock
Please notice that technically, windows may still obtain the focus which is then however reverted by the WM. In case you're very unlucky, a key event may thus still go to the wrong window.
[FocusHidden] {bool}
[IconHidden] {bool}
[Hidden] {bool}
[Sticky] {bool}
[Minimized] {bool}
[Maximized] {value}
Application should start maximized. value may be:
yes
horz
vert
no
[Fullscreen] {bool}
[Close] {bool}
[Alpha] {value [value]}
CLIENT PATTERNS
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. See regex(7) for more information on acceptable regular expressions.
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
Name
Class
Title
Role
Transient
Maximized
MaximizedHorizontal
MaximizedVertical
Minimized
Fullscreen
Shaded
Stuck
FocusHidden
IconHidden
Urgent
Workspace
WorkspaceName
Head
Layer
Screen
@XPROP
Matches any windows with the CLASSNAME of "xterm".
(xterm)
Matches any windows with the same CLASSNAME as the currently focused window.
(Name=[current])
Matches any windows on the same head as the mouse but on a different layer than the currently focused window.
(Head=[mouse]) (Layer!=[current])
Matches any windows having a xproperty named FOO with "bar" in it.
(@FOO=.*bar.*)
FILES
~/.fluxbox/apps
RESOURCES
session.appsFile: location
EXAMPLES
Here are some interesting and/or useful examples you can do with your apps file.
# Put the first two windows which end with 'term' on workspace 1 [app] (name=.*[tT]erm) {2} [Workspace] {1} [end] # Center kate with a specific size, and update these values when the window is # closed. [app] (name=kate) [Dimensions] {1022 747} [Position] (CENTER) {0 0} [Close] {yes} [end] # When starting konqueror, jump to workspace 1 first and start it there. [app] (name=konqueror) [Workspace] {1} [Jump] {yes} [end] # start all aterm without decorations [app] (name=aterm) [Deco] {NONE} [end] # a group with the gimp dock and toolbox # appears on layer 4 (bottom) [group] [app] (name=gimp) (role=gimp-dock) [app] (name=gimp) (role=gimp-toolbox) [Layer] {4} [end]
AUTHORS
SEE ALSO
fluxbox(1) xprop(1) regex(7)
AUTHOR
Jim Ramsay <i.am@jimramsay.com>
08 February 2015 | fluxbox-apps.txt |