GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BBKEYSRC(5) bbkeysrc BBKEYSRC(5)

bbkeysrc - bbkeys configuration file

$HOME/.bbkeysrc

bbkeys picks up its configuration settings from $HOME/.bbkeysrc unless overridden on the command line. There are several avenues open to the user to set any key-grabs that the user wishes:

This is a Qt-based application available at http://bbconf.sourceforge.net/.

The format is very easy, and it follows the same format as blackbox's menu files. It must begin with a "[begin]" tag. It may contain a "[config]" tag, containing a configuration section, ending with a "[end]" tag. In fact, all opening section tags must end with an "[end]" tag. It should also contain a "[keybindings]" section.
For more information, see the man page for blackbox's menu.

stylefile:
filename of blackbox style to use (string)

honorModifiers:
whether or not to break if NumLock or ScrollLock is pressed. (hint: for bbkeys to ignore your keybindings if NumLock or ScrollLock are pressed, set this to true) (true or false)

raiseWhileCycling:
should bbkeys raise the windows you're cycling through while cycling through them? (true or false)

followWindowOnSend:
should bbkeys follow the window that you send to another workspace? this will apply to all send-to operations such that if this is set to true, bbkeys will change workspaces to the workspace that you send the window to. (true or false)

includeIconifiedWindowsInCycle:
should bbkeys include iconified windows in its window-cycling list? (true or false)

showCycleMenu
show the window-cycling menu or cycle without it? (true or false)

cycleMenuTitle
show the given string as the title of the window-cycling menu. if an empty string is passed as the parameter to this config option("{}"), then the title will not be drawn. (string value)

menuTextJustify
how should the window-cycling menu be justified? (left, center, right)

menuTitleJustify
how should the window-cycling title be justified? (left, center, right)

autoConfig
should bbkeys watch for changes to its config file? (true or false) Note: if you decide to not do this (though it should be VERY light on system resources), you can always force bbkeys to reconfigure itself by sending it a SIGHUP (killall -HUP bbkeys).

autoConfigCheckTimeout
how often should bbkeys check for changes made to its config file? (numeric number of seconds)

workspaceColumns
number of columns that you have your workspaces laid out in your pager (numeric)

workspaceRows
number of rows that you have your workspaces/desktops laid out in (numeric). As way of an example, if you have your pager laid out in a 4x2 grid (4 wide, 2 high), then you would set workspaceColumns to 4 and workspaceRows to 2.

cycleMenuX
horizontal position that you want the window cycling menu to show up at. (numeric)

cycleMenuY
vertical position that you want the window cycling menu to show up at. (numeric) NOTE. The cycleMenuX and cycleMenuY config options allow you to place your window-cycling window exactly where you want to put it on screen. We at the Bbkeys Foundation For Better Software (TM) call this a feature, though some crazy nuts might call it a bug caused by the fact that blackbox's Menu class doesn't have anything in it to center it on-screen, etc. It also doesn't have any methods available to figure out how big the menu will be on-screen. This can be worked around by bbkeys, but I've not the time to do it now. Patch anyone? Or, you can just consider it a really neat feature that you can place the popup window-cycling window anywhere you want. =:D

The format of this section is similar to the config section, and blackbox's menu structure. Each line will look like this:
[command] (keys) {parameters}

Parameters:
Not all directives need to have parameters provided, and within the [keybindings] section, the only sub-group allowed (a group that will have an [end] tag) is the [chain] tag. The chain tag is special and allows the user to give emacs-style keybindings, where a certain keystroke is given, released, and then another keystroke is given to complete the action. A good example would be the following:

[chain] (Control-Mod1-W) [sendToWorkspace] (1) {1} [sendToWorkspace] (2) {2} [sendToWorkspace] (3) {3} [sendToWorkspace] (4) {4} [end]

Note that both the beginning [chain] and the ending [end] tags must be provided. In this example, the chain is begun by the user pressing (and holding) the Control modifier, the Mod1 (Alt) modifier, and the "W" key on his keyboard. The user then releases these keys and bbkeys enters the chain. Bbkeys will then wait for the user to press one of the keybindings from within that chain to execute the next action. In this case, if bbkeys sees either the 1, 2, 3 or 4 key pressed on the keyboard, it will execute the given action for that key. Again, in this case, bbkeys will send the currently-focused window to the workspace specified in the {}-enclosed parameter (workspace 1, 2, 3, or 4 as the case may be here.

So, the parameters provided in a keybinding directive can be seen as additional information to provide to the "command". In some cases, it will be a number (what workspace to send a window to, how many pixels to move the window, how many pixels to resize a window, etc.). In other cases, it will be a string ("xterm -fn nexus", for example, as an argument to the Execute command. And for many directives, it is not needed at all.

Keys:
The format for the keybindings are using 0 or more modifiers, separated with the "-" character, finally followed by the key name as known to X. The "left" key, for example, is known to X as "Left". The "j" key is known as "J". You get the idea. The modifiers are typically, "Shift", "Control", and "Mod1". An example would be Mod1-Control-K. This would be listed as the second element in a keybinding directive.

Commands:
The following commands are understood by bbkeys. Bbkeys is not case-sensitive with regards to its commands, so the case may be mixed accidentally or on purpose. =:)

execute
Executes a command. An string argument/parameter is expected for this directive that lists the command to be executed.

iconify

raise

lower

close

toggleShade

toggleOmnipresent
Sets a window to be "sticky"--on all workspaces.

toggleDecorations
Either strips a window of all decorations or causes it to be decorated regularly.

moveWindowUp
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to move the currently-selected window.

moveWindowDown
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to move the currently-selected window.

moveWindowLeft
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to move the currently-selected window.

moveWindowRight
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to move the currently-selected window.

resizeWindowWidth
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to resize the currently-selected window. This may be a positive or negative number, allowing bbkeys to grow or shrink the window.

resizeWindowHeight
A numeric parameter may be provided which tells bbkeys how many pixels in the given direction to resize the currently-selected window. This may be a positive or negative number, allowing bbkeys to grow or shrink the window.

toggleMaximizeFull

toggleMaximizeVertical

toggleMaximizeHorizontal

sendToWorkspace
A numeric parameter must be provided which tells bbkeys which workspace (1-based index) to send the current window to.

sendToNextWorkspace

sendToPrevWorkspace

nextWindow
Used for window cycling (alt-tabbing, most often). Selects the next window according to the window stack.

prevWindow
Used for window cycling (alt-tabbing, most often). Selects the previous window according to the window stack.

nextWindowOnAllWorkspaces

prevWindowOnAllWorkspaces

nextWindowOnAllScreens

prevWindowOnAllScreens

nextWindowOfClass

prevWindowOfClass

nextWindowOfClassOnAllWorkspaces

prevWindowOfClassOnAllWorkspaces

changeWorkspace
A numeric parameter must be given to tell bbkeys which 1-based workspace to switch to.

nextWorkspace

prevWorkspace

upWorkspace

downWorkspace

leftWorkspace

rightWorkspace

nextScreen

prevScreen

chain
No parameter is needed for this directive.

Example config file below...

[begin] (bbkeys configuration file)

[config] [option] (stylefile) {~/local/blackbox-CVS/share/blackbox/styles/Cthulhain} [option] (honorModifiers) {false} [option] (raiseWhileCycling) {false} [option] (showCycleMenu) {true} [option] (menuTextJustify) {right} [option] (autoConfig) {true} [option] (autoConfigCheckTimeout) {2} [option] (workspaceColumns) {4} [option] (workspaceRows) {2} [option] (cycleMenuX) {20} [option] (cycleMenuY) {20} [end]

[keybindings] (begin keybindings) [chain] (Control-Mod1-W) [sendToWorkspace] (1) {1} [sendToWorkspace] (2) {2} [sendToWorkspace] (3) {3} [sendToWorkspace] (4) {4} [sendToWorkspace] (5) {5} [sendToWorkspace] (6) {6} [sendToWorkspace] (7) {7} [sendToWorkspace] (8) {8} [end] [chain] (Mod1-Y) [execute] (1) {xmms} [execute] (2) {aumix -v +5} [execute] (3) {aumix -v -5} [end] [Lower] (Mod1-Down) [Raise] (Mod1-Up) [toggleShade] (Mod1-F9) [Close] (Mod1-F4) [Iconify] (Mod1-m) [toggleMaximizeFull] (Mod1-F12) [toggleMaximizeHorizontal] (Mod1-F11) [toggleMaximizeVertical] (Mod1-F10) [toggleOmnipresent] (Mod1-Control-S) [resizeWindowWidth] (Mod1-Control-Shift-Left) {-5} [resizeWindowWidth] (Mod1-Control-Shift-Right) {5} [resizeWindowHeight] (Mod1-Control-Shift-Up) {-5} [resizeWindowHeight] (Mod1-Control-Shift-Down) {5} [moveWindowUp] (Mod1-Control-Up) {1} [moveWindowDown] (Mod1-Control-Down) {1} [moveWindowLeft] (Mod1-Control-Left) {1} [moveWindowRight] (Mod1-Control-Right) {1} [NextWindow] (Mod1-Tab) [NextWindowOnAllWorkspaces] (Mod1-Control-Tab) [PrevWindow] (Mod1-Shift-Tab) [changeWorkspace] (Mod1-1) {1} [changeWorkspace] (Mod1-2) {2} [changeWorkspace] (Mod1-3) {3} [changeWorkspace] (Mod1-4) {4} [changeWorkspace] (Mod1-5) {5} [changeWorkspace] (Mod1-6) {6} [changeWorkspace] (Mod1-7) {7} [changeWorkspace] (Mod1-8) {8}

[upWorkspace] (Mod1-Control-K) [downWorkspace] (Mod1-Control-J) [leftWorkspace] (Mod1-Control-H) [rightWorkspace] (Mod1-Control-L)

[showRootMenu] (Mod1-Control-Escape)

[Execute] (Mod1-F5) {xrefresh} [Execute] (Mod1-F1) {gnome-terminal} #[Execute] (Mod4-E) {kfmclient openProfile filemanagement} #[Execute] (F20) {kfmclient openProfile filemanagement} [Execute] (Mod4-E) {nautilus /home/gideon} [Execute] (F20) {nautilus /home/gideon} [end] (end keybindings) [end] (end bbkeys configuration)

bbkeys(1), blackbox(1)

Jason 'vanRijn' Kasper <vR@movingparts.net> - bbkeys
Jan Schaumann <jschauma@netmeister.org> - this man page
August 27, 2004 vanRijn

Search for    or go to Top of page |  Section 5 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.