summaryrefslogtreecommitdiff
path: root/doc/asciidoc/fluxbox-keys.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/asciidoc/fluxbox-keys.txt')
-rw-r--r--doc/asciidoc/fluxbox-keys.txt161
1 files changed, 56 insertions, 105 deletions
diff --git a/doc/asciidoc/fluxbox-keys.txt b/doc/asciidoc/fluxbox-keys.txt
index aaec83c..58f59b1 100644
--- a/doc/asciidoc/fluxbox-keys.txt
+++ b/doc/asciidoc/fluxbox-keys.txt
@@ -1,7 +1,10 @@
1fluxbox-keys(5) 1fluxbox-keys(5)
2=============== 2===============
3Jim Ramsay <i.am@jimramsay.com> 3Jim Ramsay <i.am@jimramsay.com>
4v1.1.0, 22 July, 2008 4v1.1.2, 18 February 2009
5:man source: fluxbox-keys.txt
6:man version: {revision}
7:man manual: Fluxbox Manual
5 8
6NAME 9NAME
7---- 10----
@@ -38,6 +41,9 @@ key names are case-sensitive.
38Lines beginning with a '#' or '!' are considered comments and are unread by 41Lines beginning with a '#' or '!' are considered comments and are unread by
39fluxbox. 42fluxbox.
40 43
44You will need to ``reload'' fluxbox after editing the keys file so it picks up
45your change.
46
41MODIFIERS 47MODIFIERS
42--------- 48---------
43You can get a list of possible modifiers by calling `xmodmap -pm'. This also 49You can get a list of possible modifiers by calling `xmodmap -pm'. This also
@@ -73,21 +79,28 @@ KEYS
73You may specify a key by its key name (for example, *a* or *space*) or by its 79You may specify a key by its key name (for example, *a* or *space*) or by its
74numeric keycode (for example, *38* or *0xf3*). 80numeric keycode (for example, *38* or *0xf3*).
75 81
76If you don't know the name of a key, you can run 'xev(1)' in a terminal, push 82If you don't know the name of a key, you can run *xev(1)* in a terminal, push
77the key, and see the name in the output. If you have some "special" keys that 83the key, and see the name in the output. If you have some "special" keys that
78do not produce a key name in the output of 'xev(1)', you can just use the 84do not produce a key name in the output of *xev(1)*, you can just use the
79keycode (NOT the keysym!) in your keys file. 85keycode (NOT the keysym!) in your keys file.
80 86
81Commands can also be bound to mouse button presses, for which the proper "key" 87Commands can also be bound to mouse button presses, for which the proper "key"
82name is *Mouse*'n' where 'n' is the number of the mouse button. For example, 88name is *Mouse*'n' where 'n' is the number of the mouse button. For example,
83*Mouse1* is the primary button, and *Mouse4* / *Mouse5* are the scroll wheel 89*Mouse1* is the primary button, and *Mouse4* / *Mouse5* are the scroll wheel
84events, in normal configurations. 'xev(1)' can also be used to tell the button 90events, in normal configurations. *xev(1)* can also be used to tell the button
85number. 91number.
86 92
87////////////////
88There are some special "keys" that let you bind events to non-keyboard events::: 93There are some special "keys" that let you bind events to non-keyboard events:::
89*ChangeWorkspace*;; 94*ChangeWorkspace*;;
90 Fires when the workspace changes 95 Fires when the workspace changes. This can be used to change backgrounds or
96 do anything else you like when you switch to a new workspace. See the
97 *EXAMPLES* below for one idea.
98
99WARNING: Use caution with this event! For example, do NOT bind this to any
100action that changes your current workspace. If you break your fluxbox with this
101feature, you get to keep the pieces.
102
103////////////////
91TODO: Advanced users only? 104TODO: Advanced users only?
92*FocusIn* / *FocusOut*;; 105*FocusIn* / *FocusOut*;;
93 Fires when the focus is given to or removed from a window. It may be 106 Fires when the focus is given to or removed from a window. It may be
@@ -97,14 +110,16 @@ TODO: Advanced users only?
97 Fires when the mouse cursor enters or leaves a specific area of the 110 Fires when the mouse cursor enters or leaves a specific area of the
98 screen. It may be useful to combine this with the 'On*' modifiers 111 screen. It may be useful to combine this with the 'On*' modifiers
99 detailed above and/or the 'If' command. 112 detailed above and/or the 'If' command.
100
101//////////////// 113////////////////
114
102CHAINING 115CHAINING
103-------- 116--------
104Key bindings can be chained in a fashion similar to Emacs key bindings using the 117Key bindings can be chained in a fashion similar to Emacs key bindings using the
105syntax: 118syntax:
106 119
107*'modifiers-1' 'key-1' 'modifiers-2' 'key-2' :'command' ['arguments ...']* 120'modifiers-1' 'key-1' 'modifiers-2' 'key-2' :'command' ['arguments ...']*
121
122To abort a chained command part-way through typing it, press the <ESC> key.
108 123
109.To Bind CTRL+C CTRL+X (Which means, press CTRL+C then CTRL+X) to quit fluxbox 124.To Bind CTRL+C CTRL+X (Which means, press CTRL+C then CTRL+X) to quit fluxbox
110........ 125........
@@ -156,7 +171,7 @@ at the specified 'corner'.
156+ 171+
157By default 'corner' is *BottomRight*, but may be overridden with one of:;; 172By default 'corner' is *BottomRight*, but may be overridden with one of:;;
158*NearestCorner NearestEdge Center TopLeft Top TopRight Left Right BottomLeft 173*NearestCorner NearestEdge Center TopLeft Top TopRight Left Right BottomLeft
159BottomRight* 174Bottom BottomRight*
160 175
161*StartTabbing*:: 176*StartTabbing*::
162 Start dragging to add this window to another's tabgroup. 177 Start dragging to add this window to another's tabgroup.
@@ -180,7 +195,7 @@ These commands ordinarily affect only the currently focused window. The
180 Reorder this window to the top or bottom of the window stack, within 195 Reorder this window to the top or bottom of the window stack, within
181 its current layer. See 'fluxbox(1)' for a discussion of layers. 196 its current layer. See 'fluxbox(1)' for a discussion of layers.
182 197
183*RaiseLayer* / *LowerLayer*:: 198*RaiseLayer* / *LowerLayer* ['offset']::
184 Raise the window up to the layer above, or lower it to the layer 199 Raise the window up to the layer above, or lower it to the layer
185 below. See 'fluxbox(1)' for a discussion of layers. 200 below. See 'fluxbox(1)' for a discussion of layers.
186 201
@@ -193,7 +208,7 @@ These commands ordinarily affect only the currently focused window. The
193 Close the current window, equivalent to the window button. 208 Close the current window, equivalent to the window button.
194 209
195*Kill* | *KillWindow*:: 210*Kill* | *KillWindow*::
196 Close a window that's not responding to *Close*, like using `xkill`. 211 Close a window that's not responding to *Close*, like using *xkill(1)*.
197 212
198*Shade* | *ShadeWindow*:: 213*Shade* | *ShadeWindow*::
199 Toggle the *shaded* state of the current window, equivalent to the 214 Toggle the *shaded* state of the current window, equivalent to the
@@ -415,17 +430,26 @@ Menu Commands
415These commands open or close fluxbox popup menus. For more information on 430These commands open or close fluxbox popup menus. For more information on
416what these menus contain or how to configure them, see 'fluxbox(1)'. 431what these menus contain or how to configure them, see 'fluxbox(1)'.
417 432
418*RootMenu* / *WorkspaceMenu* / *WindowMenu*:: 433*RootMenu*;;
419 Opens the specified menu. See fluxbox(1) for more details on what 434 Opens the root menu. See *ROOT MENU* in *fluxbox-menu(5)* for details.
420 these menus contain. 435
436*WorkspaceMenu*;;
437 Opens a menu showing all workspaces and windows. See *Workspace Menu* in
438 *fluxbox(1)* for details.
439
440*WindowMenu*;;
441 Opens a menu containing actions for the current window. See *WINDOW MENU* in
442 *fluxbox-menu(5)* for details.
421 443
422*ClientMenu* ['pattern']:: 444*ClientMenu* ['pattern']::
423 Opens a menu that contains all windows. If you specify a 'pattern', 445 Opens a menu that contains all windows. If you specify a 'pattern', only
424 only matching windows will be in the menu. See *CLIENT PATTERNS* 446 matching windows will be in the menu. Selecting a window will jump to that
425 below for more details on the 'pattern' argument. 447 workspace and raise the window. See *CLIENT PATTERNS* below for more details
448 on the 'pattern' argument.
426 449
427*CustomMenu* 'path':: 450*CustomMenu* 'path'::
428 Opens a custom menu file. 451 Opens a custom menu file. This 'path' must be a valid menu file in the same
452 format as detailed by the *ROOT MENU* section of *fluxbox-menu(5)*.
429 453
430*HideMenus*:: 454*HideMenus*::
431 Hide all fluxbox popup menus. 455 Hide all fluxbox popup menus.
@@ -463,8 +487,9 @@ These commands affect the Window Manager, or more than one window.
463 passed verbatim to the shell, you can use environment variables, 487 passed verbatim to the shell, you can use environment variables,
464 pipes, or anything else the shell can do. Note that processes only 488 pipes, or anything else the shell can do. Note that processes only
465 see environment variables that were set before fluxbox started (such 489 see environment variables that were set before fluxbox started (such
466 as in ~/.fluxbox/startup), or any that are set via the Export or 490 as in *\~/.fluxbox/startup*), or any that are set via the *Export* or
467 SetEnv commands, below. 491 *SetEnv* commands, below. See *fluxbox(1)* for more details on the
492 *ENVIRONMENT* and *\~/.fluxbox/startup* file.
468 493
469*CommandDialog*:: 494*CommandDialog*::
470 Pops up a dialog box that lets you type in any of these commands 495 Pops up a dialog box that lets you type in any of these commands
@@ -554,96 +579,27 @@ To check other windows besides the currently focused one, see the *Every* and
554 Returns the boolean *xor* of the truth values for all conditions 579 Returns the boolean *xor* of the truth values for all conditions
555 listed. 580 listed.
556 581
582
557CLIENT PATTERNS 583CLIENT PATTERNS
558--------------- 584---------------
559Many of the more advanced commands take a 'pattern' argument, which allows you 585Many of the more advanced commands take a 'pattern' argument, which allows you
560to direct the action at a specific window or set of windows which match the 586to direct the action at a specific window or set of windows which match the
561properties specified in the 'pattern'. A 'pattern' looks like this: 587properties specified in the 'pattern'.
562 588
563(['propertyname'[!]=]'regexp') ... 589include::client-patterns.txt[]
564
565Match definitions are enclosed in parentheses *(*...*)*, and if no
566'propertyname' is given then *Name* is assumed. The 'regexp' can contain any
567regular expression, or the special value *[current]*, which matches the
568corresponding value of the currently focused window. See 'regex(7)' for more
569information on acceptable regular expressions.
570
571You can use *=* to test for equality or *!=* to test for inequality.
572
573The following values are accepted for 'propertyname':::
574*Name*;;
575 A string, corresponding to the CLASSNAME property.
576*Class*;;
577 A string, corresponding to the CLASSCLASS property.
578*Title*;;
579 A string, corresponding to the window title.
580*Role*;;
581 A string, corresponding to the ROLE property.
582*Transient*;;
583 Either *yes* or *no*, depending on whether the window is transient
584 (typically, a popup dialog) or not.
585*Maximized*;;
586 Either *yes* or *no*, depending on whether the window is maximized or
587 not.
588*Minimized*;;
589 Either *yes* or *no*, depending on whether the window is minimized
590 (iconified) or not.
591*Shaded*;;
592 Either *yes* or *no*, depending on whether the window is shaded or
593 not.
594*Stuck*;;
595 Either *yes* or *no*, depending on whether the window is sticky (on
596 all workspaces) or not.
597*FocusHidden*;;
598 Either *yes* or *no*, depending on whether the window has asked to be
599 left off the focus list (or, the alt-tab list), or not.
600*IconHidden*;;
601 Either *yes* or *no*, depending on whether the window has asked to be
602 left off the icon list (or, the taskbar), or not.
603*Urgent*;;
604 Either *yes* or *no*, depending on whether the window has the urgent
605 hint set.
606*Workspace*;;
607 A number corresponding to the workspace number to which the window is
608 attached. The first workspace here is *0*.
609*WorkspaceName*;;
610 A string corresponding to the name of the workspace to which the
611 window is attached.
612*Head*;;
613 The number of the display head to which the window is attached. You
614 may match this against the special value *[mouse]* which refers to the
615 head where the mouse pointer currently resides.
616*Layer*;;
617 The string name of the window's layer, which is one of
618 *AboveDock*, *Dock*, *Top*, *Normal*, *Bottom*, *Desktop*
619
620.Matches any windows with the CLASSNAME of "xterm"
621..........
622(xterm)
623..........
624
625.Matches any windows with the same CLASSNAME as the currently focused window
626..........
627(Name=[current])
628..........
629
630.Matches any windows on the same head as the mouse but on a different layer than the currently focused window
631...........
632(Head=[mouse]) (Layer!=[current])
633...........
634 590
635FILES 591FILES
636----- 592-----
637~/.fluxbox/keys:: 593*\~/.fluxbox/keys*::
638 This is the default location for the keybinding definitions. 594 This is the default location for the keybinding definitions.
639/usr/X11R6/include/X11/keysymdef.h:: 595*/usr/X11R6/include/X11/keysymdef.h*::
640 X key names are in this file. 596 X key names are in this file.
641/usr/X11R6/lib/X11/XKeysymDB:: 597*/usr/X11R6/lib/X11/XKeysymDB*::
642 X key names are also in this file. 598 X key names are also in this file.
643 599
644RESOURCES 600RESOURCES
645--------- 601---------
646session.keyFile: <location>:: 602*session.keyFile:* 'location'::
647 This may be set to override the location of the keybinding definitions. 603 This may be set to override the location of the keybinding definitions.
648 604
649ENVIRONMENT 605ENVIRONMENT
@@ -675,10 +631,8 @@ Mod4 t :If {Some Matches (xterm)} {NextWindow (xterm)} {Exec xterm}
675ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png 631ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png
676.................. 632..................
677 633
678AUTHOR and CREDITS 634AUTHORS
679------------------ 635-------
680This manpage is the combined work of:
681
682- Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0) 636- Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0)
683- Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11) 637- Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11)
684- Tobias Klausmann <klausman at users sourceforge net> (<=fluxbox-0.9.11) 638- Tobias Klausmann <klausman at users sourceforge net> (<=fluxbox-0.9.11)
@@ -686,9 +640,6 @@ This manpage is the combined work of:
686- Matthew Hawkins <matt at mh dropbear id au> (blackbox) 640- Matthew Hawkins <matt at mh dropbear id au> (blackbox)
687- Wilbert Berendsen <wbsoft at xs4all nl> (blackbox) 641- Wilbert Berendsen <wbsoft at xs4all nl> (blackbox)
688 642
689- Numerous other languages could be available if someone jumps in.
690
691SEE ALSO 643SEE ALSO
692-------- 644--------
693fluxbox(1), xev(1), xkill(1), regex(7) 645fluxbox(1) xprop(1) xev(1) xkill(1) regex(7)
694