Openbox
Changelogs
Documentation
|
Introduction
This document describes Openbox's rc file. The rc file is the file
which Openbox uses to save and load your configuration and
preferences.
The default location for the rc file is ~/.openbox/rc. If
you do not have this file yet, then you can run Openbox to have it
create the file with all of the default options in it.
Sections
Global Options
Screen Options
Toolbar Options
Slit Options
Global options
These options affect all of Openbox, they are the same across all screens.
session.styleFile
session.colorsPerChannel
session.titlebarLayout
session.doubleClickInterval
session.cacheMax
session.cacheLife
session.autoRaiseDelay
session.modifierMask
session.xineramaSupport.windowPlacement
session.xineramaSupport.windowMaximizing
session.xineramaSupport.windowSnapping
session.styleFile
The path to the openbox style you wish you use.
example: session.styleFile: /usr/share/openbox/styles/bluebox
session.colorsPerChannel
This tells Openbox how many colors to take from the X server on
pseudo-color displays. A channel would be red, green, or blue.
Openbox will allocate this variable ^ 3 colors and make them always
available. A value less than 2 or greater than 6 is invalid. When you run
Openbox on an 8-bit display, you must set this resource to 4.
example: session.colorsPerChannel: 4
session.titlebarLayout
The order of the elements of window titlebars. This is a string built
of the following characters:
I: Iconify button
L: Label (window title)
M: Maximize button
S: Sticky button
C: Close button
The order in which these character appear in the string, is the order
they will appear in window titlebars.
You can also omit an item to not have it appear in the titlebar at all,
except for the Label which will always appear.
example: session.titlebarLayout: ILMC
session.doubleClickInterval
The number of milliseconds that two clicks must be received within for
them to be called a double-click instead of 2 single clicks.
example: session.doubleClickInterval: 250
session.cacheMax
This tells Openbox 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.
example: session.cacheMax: 200
session.cacheLife
This tells Openbox how long (in minutes) unused pixmaps may stay in the X
server's memory.
example: session.cacheLife: 5
session.autoRaiseDelay
The number of milliseconds the mouse must be over a window before it is
raised, if the session.screenX.focusModel is SloppyFocus with
AutoRaise enabled.
example: session.autoRaiseDelay: 400
session.modifierMask
The modifiers you want to use for mouse events on windows. This is used for
dragging windows to move/resize them, etc. The default is "Mod1". This
property can be composed of the following options, separated however you
wish:
Control, Shift, Mod1 (usually the Alt key), Mod2, Mod3, Mod4 (usually the "Windows" key), Mod5.
This property cannot be set to use no modifiers.
example: session.modifierMask: Control-Mod1
session.xineramaSupport.windowPlacement
When this is enabled, and xinerama is running, new windows will not
be placed in dead zones (areas of the desktop which are not visible
because of different screen resolutions), or across screen boundaries.
Note: in order to you use, you must also use the --enable-xinerama
configuration flag when compiling Openbox.
example: session.xineramaSupport.windowPlacement: True
session.xineramaSupport.windowMaximizing
When this is enabled, and xinerama is running, maximizing a window will
only cause the window to fill a single screen instead of spanning
across them all.
Note: in order to you use, you must also use the --enable-xinerama
configuration flag when compiling Openbox.
example: session.xineramaSupport.windowMaximizing: True
session.xineramaSupport.windowSnapping
When this is enabled, and xinerama is running, moving windows will snap
to screen boundaries between screens the same way they snap to the
edges that do not touch another screen.
Note: in order to you use, you must also use the --enable-xinerama
configuration flag when compiling Openbox.
example: session.xineramaSupport.windowSnapping: True
Screen options
These options are set for each screen. For most users, this doesn't
mean anything, as they only have a single screen. But in the case when
you have 2 screens, then these options are set for both screens (for
example "session.screen0..." and "session.screen1...") so that you can
have different behavior on each screen. For each of these, when it says
"session.screenX", replace the X with the screen number (numbered
starting at 0).
session.screenX.focusModel
session.screenX.rootScrollDirection
session.screenX.rootMenuButton
session.screenX.workspaceMenuButton
session.screenX.strftimeFormat
session.screenX.windowPlacement
session.screenX.rowPlacementDirection
session.screenX.colPlacementDirection
session.screenX.placementIgnoreShaded
session.screenX.placementIgnoreMaximized
session.screenX.windowToWindowSnap
session.screenX.windowToEdgeSnap
session.screenX.windowCornerSnap
session.screenX.workspaceWarping
session.screenX.opaqueMove
session.screenX.raiseOnMoveResize
session.screenX.focusNewWindows
session.screenX.focusLastWindow
session.screenX.workspaces
session.screenX.workspaceNames
session.screenX.edgeSnapThreshold
session.screenX.resistanceSize
session.screenX.edgeSnapOffset
session.screenX.hideToolbar
session.screenX.antialiasFonts
session.screenX.dropShadowFonts
session.screenX.fullMaximization
session.screenX.resizeZones
session.screenX.imageDither
session.screenX.disableBindingsWithScrollLock
session.screenX.focusModel
This property determines how windows are given input focus. The two
models to choose from are:
ClickToFocus: In this mode, windows do not receive focus until they are
clicked on. Moving the mouse over a window does nothing.
Clicking on the window will focus and raise it.
SloppyFocus: In this mode, windows receive focus when the mouse pointer
enters the window. Focus does not follow the mouse pointer to
the root window, however, so if you move it off the focused
window, but not onto another window, focus will still stay on
the last window. In the default behavior for this model,
Clicking a window does not raise it, but clicking its
decorations (for example the titlebar) does raise the window.
When using SloppyFocus, a number of other options can also be
specified to modify its behavior.
|
AutoRaise: Raise the window when the mouse pointer is over it
for an amount of time specified by
session.autoRaiseDelay.
|
|
ClickRaise: Clicking in a window will raise the window as it
does in the ClickToFocus model.
|
example: session.screen0.focusModel: ClickToFocus
example: session.screen0.focusModel: SloppyFocus ClickRaise
session.screenX.rootScrollDirection
This option determines what openbox does with mouse wheel clicks on the
root window. The available options are:
Normal: This moves to the next workspace when the wheel is scrolled up,
and the previous workspace when it is scrolled down.
Reverse: This is the opposite of normal. It moves to the next workspace
when the wheel is scrolled down, and the previous workspace when
it is scrolled up.
None: This causes no action to be taken when the mouse is scrolled on
the root window.
example: session.screen0.rootScrollDirection: Normal
[only in 2.1] session.screenX.rootMenuButton
This option determines which button, when clicked on the desktop, will
pop up the Root Menu. The available options are:
Left: The left mouse button will pop up the Root Menu.
Middle: The middle mouse button will pop up the Root Menu.
Right: The right mouse button will pop up the Root Menu.
None: The Root Menu will not be popped up for any button.
example: session.screen0.rootMenuButton: Right
[only in 2.1] session.screenX.workspaceMenuButton
This option determines which button, when clicked on the desktop, will
pop up the Workspace Menu. The available options are:
Left: The left mouse button will pop up the Workspace Menu.
Middle: The middle mouse button will pop up the Workspace Menu.
Right: The right mouse button will pop up the Workspace Menu.
None: The Workspace Menu will not be popped up for any button.
example: session.screen0.workspaceMenuButton: Right
session.screenX.strftimeFormat
This is a string which is used to fill the time portion of the toolbar.
For information on the format of this string, please see
"man 3 strftime".
example: session.screen0.strftimeFormat: %I:%M %p
session.screenX.windowPlacement
This property determines how Openbox will place new windows which don't
request a position for themselves. The possible options for this are:
RowSmartPlacement: places windows so they don't overlap while there is
enough room, using horizontal space first, and then vertical,
so that windows are placed in rows. (Also see
session.screenX.rowPlacementDirection and
session.screenX.colPlacementDirection.)
ColSmartPlacement: places windows so they don't overlap while there is
enough room, using vertical space first, and then horizontal,
so that windows are placed in columns. (Also see
session.screenX.rowPlacementDirection and
session.screenX.colPlacementDirection.)
UnderMousePlacement: places windows centered under the mouse pointer
ClickMousePlacement: lets you place the windows yourself, clicking a
mouse button finalizes the placement.
CascadePlacement: places windows in a cascade from top-left to
bottom-right.
example: session.screen0.windowPlacement: RowSmartPlacement
session.screenX.rowPlacementDirection
This sets the horizontal direction to use to place windows in
RowSmartPlacement and ColSmartPlacement window placement modes (see
session.screenX.windowPlacement.
The possible options for this are:
LeftToRight
RightToLeft
example: session.screen0.rowPlacementDirection: LeftToRight
session.screenX.colPlacementDirection
This sets the vertical direction to use to place windows in
RowSmartPlacement and ColSmartPlacement window placement modes (see
session.screenX.windowPlacement.
The possible options for this are:
TopToBottom
BottomToTop
example: session.screen0.colPlacementDirection: TopToBottom
session.screenX.placementIgnoreShaded
When this is enabled, window placement will ignore shaded windows, and
will place over top of them as if they aren't there.
example: session.screen0.placementIgnoreShaded: True
session.screenX.placementIgnoreMaximized
When this is enabled, window placement will ignore fully-maximized
windows, and will place over top of them as if they aren't there.
example: session.screen0.placementIgnoreMaximized: True
session.screenX.windowToWindowSnap
This option specifies how windows should be snapped to each other. The
available options are:
NoSnap: In this mode, windows do not snap to each other at all.
Snap: In this mode, windows snap to each other when they are within
session.screenX.edgeSnapThreshold
pixels from each other. Windows snap from both sides of the snap edge.
Resistance: In this mode, windows do no snap from a distance, rather,
the edge of the window provides resistance to the moving window.
The amount of the resistance is controlled by the
session.screenX.resistanceSize
option. Resistance only works from one direction, where snapping works from both.
example: session.screen0.windowToWindowSnap: Resistance
session.screenX.windowToEdgeSnap
This option specifies how windows should snap to the screen's boundaries.
The available options are:
NoSnap: In this mode, windows do not snap to the screen boundaries at all.
Snap: In this mode, windows snap to the screen boundaries when they are
within session.screenX.edgeSnapThreshold
pixels of them. Windows snap from both sides of the snap edge.
Resistance: In this mode, windows do no snap from a distance, rather,
the screen boundaries provide resistance to the moving window.
The amount of the resistance is controlled by the
session.screenX.resistanceSize
option. Resistance only works from one direction, where snapping works from both.
example: session.screen0.windowToEdgeSnap: Resistance
session.screenX.windowCornerSnap
When this is enabled, and a moving window has snapped to another
window's edge, the moving window will also snap to the other window's
corners so that they align with each other.
example: session.screenX.windowCornerSnap: True
session.screenX.workspaceWarping
When this is enabled, and you are moving a window, if the pointer touches
the left or right edge of the screen, Openbox will warp the window to the
next/previous workspace.
example: session.screenX.workspaceWarping: True
session.screenX.opaqueMove
When this is enabled, moving a window moves the entire window in
real-time. This is sometimes referred to as "Show window contents while
moving". When this is disabled, a rectangular box is drawn where the
window will be placed, and the window is moved after the operation is
completed.
example: session.screen0.opaqueMove: False
session.screenX.raiseOnMoveResize
When this is enabled, windows will be raised when they are clicked on
with the modifierMask to initiate
a move or a resize. When disabled, windows can not be raised by a
mouse click with the modifierMask.
example: session.screen0.raiseOnMoveResize: True
session.screenX.focusNewWindows
When this is enabled, new windows will automatically be given the input
focus. Hint: this property is more suited to the ClickToFocus
session.screenX.focusModel
than to SloppyFocus.
example: session.screen0.focusNewWindows: True
session.screenX.focusLastWindow
When this is enabled, the last focused window on a hidden workspace
will be re-focused when the workspace becomes visible again. Hint: this
property is more suited to the ClickToFocus
session.screenX.focusModel than to SloppyFocus.
example: session.screen0.focusLastWindow: True
session.screenX.workspaces
This property specifies the number of workspaces to use in Openbox. A
value less than 1 is invalid and will be ignored.
example: session.screen0.workspaces: 3
session.screenX.workspaceNames
This property contains the names of each of the workspaces. If fewer
names than workspaces are specified, default names will be used to the
remaining workspaces. Each workspace name is separated by a comma.
example: session.screen0.workspaceNames: one,two,three
session.screenX.edgeSnapThreshold
This is the number of pixels away from a snap edge (another window, or a
screen boundary) that a window will snap to the edge.
example: session.screen0.edgeSnapThreshold: 8
session.screenX.resistanceSize
This is the number of pixels of resistance a snap edge (another window,
or a screen boundary) will provide against moving a window over the edge.
example: session.screen0.resistanceSize: 18
session.screenX.edgeSnapOffset
This is the number of pixels of margin to keep between a moving window
and all snap edges. So when this is set to a value greater than 0,
windows will snap that far away from each other, and away from the screen
boundaries. This affects both Snap mode and Resistance mode.
example: session.screen0.edgeSnapOffset: 4
session.screenX.hideToolbar
When this is enabled, the toolbar is removed from the desktop entirely.
example: session.screen0.hideToolbar: True
session.screenX.antialiasFonts
When this is enabled, Xft fonts will be anti-aliased. Note: In order to
use Xft fonts, you must have some Xft font directives specified.
example: session.screen0.antialiasFonts: True
session.screenX.dropShadowFonts
When this is enabled, Xft fonts will be given a drop shadow. This option cannot be
used when session.screenX.antialiasFonts
is off. Note: In order to use Xft fonts, you must have some
Xft font directives specified.
example: session.screen0.dropShadowFonts: True
session.screenX.fullMaximization
When this is enabled, maximizing a window will allow the window to
cover the toolbar and slit, and windows such as KDE's kicker (panels).
When this is not enabled, maximizing a window will not cover these
things.
example: session.screen0.fullMaximization: False
session.screenX.resizeZones
This specifies the number of zones to break a window into for resizing.
Possible values are:
1: No matter where in the window you click, the bottom right corner is
always resized (old Blackbox behavior).
2: The window is broken in half vertically. The bottom corners are
always resized, but the left one is used if you click in the
left half of the window to resize.
4: The window is broken into four quarters. The corner nearest to
where you click to resize is the corner that is resized.
example: session.screen0.resizeZones: 4
session.screenX.imageDither
When this is enabled, gradients are dithered to give a smoother
appearance. This does make rendering them slower (maybe not so good on
really low end machines) but improves appearance dramatically.
example: session.screen0.imageDither: True
session.screenX.disableBindingsWithScrollLock
When this is enabled, the ScrollLock key will disable Openbox's mouse
bindings. This is useful for applications which use "Alt-RightClick"
since openbox usually steals it. With this option enabled, and
ScrollLock on, the "Alt-RightClick" is ignored by Openbox and gets to
the application.
example: session.screen0.disableBindingsWithScrollLock: False
Toolbar options
These options affect how the toolbar appears and behaves.
session.screenX.toolbar.onTop
session.screenX.toolbar.autoHide
session.screenX.toolbar.widthPercent
session.screenX.toolbar.placement
session.screenX.toolbar.onTop
When this is enabled, the toolbar will stay on top of all other
windows.
example: session.screen0.toolbar.onTop: False
session.screenX.toolbar.autoHide
When this is enabled, the toolbar will move itself to a hidden
position, where it will only have a few pixels showing. When the mouse
is moved over it, the toolbar will make itself fully visible, and
remain so until the mouse leaves the toolbar. This hiding uses the
session.autoRaiseDelay
to determine how long to wait before showing itself or hiding.
example: session.screen0.toolbar.autoHide: False
session.screenX.toolbar.widthPercent
The percentage of the screens width that the toolbar should size itself
to. A value less than 1 or greater than 100 is invalid and ignored.
example: session.screen0.toolbar.widthPercent: 66
session.screenX.toolbar.placement
This property specifies where to place the toolbar. Possible options
are:
TopLeft
TopCenter
TopRight
BottomLeft
BottomCenter
BottomRight
example: session.screen0.toolbar.placement: BottomCenter
Slit options
These options affect how the slit appears and behaves.
session.screenX.slit.onTop
session.screenX.slit.autoHide
session.screenX.slit.placement
session.screenX.slit.direction
session.screenX.slit.onTop
When this is enabled, the slit will stay on top of all other windows.
example: session.screen0.slit.onTop: False
session.screenX.slit.autoHide
When this is enabled, the slit will move itself to a hidden
position, where it will only have a few pixels showing. When the mouse
is moved over it, the slit will make itself fully visible, and remain
so until the mouse leaves the slit. This hiding uses the
session.autoRaiseDelay
to determine how long to wait before showing itself or hiding.
example: session.screen0.toolbar.autoHide: False
session.screenX.slit.placement
This property specifies where to place the slit. Possible options
are:
TopLeft
TopCenter
TopRight
CenterLeft
CenterRight
BottomLeft
BottomCenter
BottomRight
example: session.screen0.slit.placement: BottomCenter
session.screenX.slit.direction
This property specifies the direction which slit applications should be
placed in the slit. Possible options are:
Horizontal
Vertical
example: session.screen0.slit.direction: Vertical
|