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
[app](pattern){count} 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
[end]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
[group](pattern) 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
[app](pattern) 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
[end]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
[setting]{value} 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}
Forces the application to open on the
number workspace specified.
Workspaces are set by number, beginning with 0.
[Jump] {
bool}
Changes the active workspace to the remembered one when the
application is opened. This is only useful when used in
conjunction with
[Workspace]. See
EXAMPLES.
[Head] {
number}
Forces the application to open on the
number head specified
(Xinerama only).
[Layer] {
number}
Specify the layer to open the window on (by number). Each layer
has a number. The named ones are: 2-AboveDock, 4-Dock, 6-Top,
8-Normal, 10-Bottom, 12-Desktop.
[Dimensions] {
width[%] height[%]}
Opens the application with the specified
width and
height, in
pixels. If the value is given in percent, then the window size
will be based on the current screen's size.
[Position] (
anchor) {
X[%] Y[%]}
Position the application at a particular spot. By default the
upper-left corner is placed at screen coordinates (
X,
Y). If you
specify an
anchor, say BottomRight, then the lower-right corner
of the window is positioned (
X,
Y) pixels from the lower-right
corner of the screen. If the value is given in percent, then the
coordinates will be based on the current screen's size.
anchor may be set to one of:
TopLeft Left BottomLeft Top Center Bottom TopRight Right BottomRight [Deco] {
value}
Specify the decoration state. There are several predefined
value sets:
NORMAL Standard decorations
NONE No decorations
BORDER Like NONE except keep the X window border
TAB Like BORDER except keep external tabs (if enabled)
TINY Titlebar with only an iconify button
TOOL Titlebar only
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}
Whether the window is Shaded (rolled-up) or not.
[Tab] {
bool}
Whether the window has tabs enabled.
[FocusNewWindow] {
bool}
If enabled, a new window will grab X focus as soon as it is
opened. If disabled, a new window will not grab X focus as soon
as it is opened.
[FocusHidden] {
bool}
If enabled, the window will not appear in
NextWindow/
PrevWindow lists.
[IconHidden] {
bool}
If enabled, the window will not appear in the icon area of the
toolbar.
[Hidden] {
bool}
A shortcut for setting both
FocusHidden and
IconHidden at the
same time.
[Sticky] {
bool}
Specify if an application should be sticky (shown on all
workspaces) or not.
[Minimized] {
bool}
Application should start minimized
[Maximized] {
value}
Application should start maximized.
value may be:
yes Fully maximized
horz Horizontally maximized
vert Vertically maximized
no Not maximized
[Fullscreen] {
bool}
Application should start in fullscreen mode (fully maximized
without any decorations).
[Close] {
bool}
Save settings on close. By default, application settings are not
updated when a window is closed.
[Alpha] {
value [
value]}
Set the alpha value for this window. If two values are given,
they correspond to the focused and unfocused transparency,
respectively. One number only will be used for both values.
value is an integer between 0 and 255.
CLIENT PATTERNS
A
pattern looks like this
([
propertyname[!]=]
regexp) ...
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 A string, corresponding to the CLASSNAME property (The first
field of WM_CLASS from the output of the
xprop(1) utility).
Class A string, corresponding to the CLASSCLASS property (The
second field of WM_CLASS from the output of the
xprop(1) utility).
Title A string, corresponding to the window title (WM_NAME from
xprop(1)).
Role A string, corresponding to the ROLE property (WM_WINDOW_ROLE
from
xprop(1)).
Transient Either
yes or
no, depending on whether the window is
transient (typically, a popup dialog) or not.
Maximized Either
yes or
no, depending on whether the window is
maximized or not.
MaximizedHorizontal Either
yes or
no, depending on whether the window is
maximized horizontally or not.
MaximizedVertical Either
yes or
no, depending on whether the window is
maximized vertically or not.
Minimized Either
yes or
no, depending on whether the window is
minimized (iconified) or not.
Fullscreen Either
yes or
no, depending on whether the window is
fullscreen or not.
Shaded Either
yes or
no, depending on whether the window is shaded
or not.
Stuck Either
yes or
no, depending on whether the window is sticky
(on all workspaces) or not.
FocusHidden Either
yes or
no, depending on whether the window has asked
to be left off the focus list (or, the alt-tab list), or not.
IconHidden Either
yes or
no, depending on whether the window has asked
to be left off the icon list (or, the taskbar), or not.
Urgent Either
yes or
no, depending on whether the window has the
urgent hint set.
Workspace A number corresponding to the workspace number to which the
window is attached. The first workspace here is
0. You may
also use
[current] to match the currently visible workspace.
WorkspaceName A string corresponding to the name of the workspace to which
the window is attached.
Head The number of the display head to which the window is
attached. You may match this against the special value
[mouse] which refers to the head where the mouse pointer
currently resides.
Layer The string name of the window's layer, which is one of
AboveDock,
Dock,
Top,
Normal,
Bottom,
Desktop Screen The number of the currently used
screen. If the setup of the
running xserver involves independent screens (
not Xinerama),
the $DISPLAY environment contains something like
:0.1 or
:1.0. The part after the dot (
.) is the number of the screen.
@XPROP A string, corresponding to any xproperty (Use either the
xprop(1) utility or the
SetXProp command to set a xproperty
to a window)
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 This is the default location for the application settings.
RESOURCES
session.appsFile: location This may be set to override the location of the application
settings.
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
+o Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0)
+o Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11)
+o Tobias Klausmann <klausman at users sourceforge net>
(<fluxbox-0.9.11)
+o Grubert <grubert at users sourceforge net> (fluxbox)
+o Matthew Hawkins <matt at mh dropbear id au> (blackbox)
+o Wilbert Berendsen <wbsoft at xs4all nl> (blackbox)
SEE ALSO
fluxbox(1) xprop(1) regex(7)AUTHOR
Jim Ramsay <i.am@jimramsay.com>
Author.
fluxbox-apps.txt 08 February 2015 FLUXBOX-APPS(5)