aboutsummaryrefslogtreecommitdiff
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.txt153
1 files changed, 50 insertions, 103 deletions
diff --git a/doc/asciidoc/fluxbox-keys.txt b/doc/asciidoc/fluxbox-keys.txt
index aaec83c..5c8a210 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,24 @@ 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
99////////////////
91TODO: Advanced users only? 100TODO: Advanced users only?
92*FocusIn* / *FocusOut*;; 101*FocusIn* / *FocusOut*;;
93 Fires when the focus is given to or removed from a window. It may be 102 Fires when the focus is given to or removed from a window. It may be
@@ -97,14 +106,16 @@ TODO: Advanced users only?
97 Fires when the mouse cursor enters or leaves a specific area of the 106 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 107 screen. It may be useful to combine this with the 'On*' modifiers
99 detailed above and/or the 'If' command. 108 detailed above and/or the 'If' command.
100
101//////////////// 109////////////////
110
102CHAINING 111CHAINING
103-------- 112--------
104Key bindings can be chained in a fashion similar to Emacs key bindings using the 113Key bindings can be chained in a fashion similar to Emacs key bindings using the
105syntax: 114syntax:
106 115
107*'modifiers-1' 'key-1' 'modifiers-2' 'key-2' :'command' ['arguments ...']* 116'modifiers-1' 'key-1' 'modifiers-2' 'key-2' :'command' ['arguments ...']*
117
118To abort a chained command part-way through typing it, press the <ESC> key.
108 119
109.To Bind CTRL+C CTRL+X (Which means, press CTRL+C then CTRL+X) to quit fluxbox 120.To Bind CTRL+C CTRL+X (Which means, press CTRL+C then CTRL+X) to quit fluxbox
110........ 121........
@@ -193,7 +204,7 @@ These commands ordinarily affect only the currently focused window. The
193 Close the current window, equivalent to the window button. 204 Close the current window, equivalent to the window button.
194 205
195*Kill* | *KillWindow*:: 206*Kill* | *KillWindow*::
196 Close a window that's not responding to *Close*, like using `xkill`. 207 Close a window that's not responding to *Close*, like using *xkill(1)*.
197 208
198*Shade* | *ShadeWindow*:: 209*Shade* | *ShadeWindow*::
199 Toggle the *shaded* state of the current window, equivalent to the 210 Toggle the *shaded* state of the current window, equivalent to the
@@ -415,17 +426,26 @@ Menu Commands
415These commands open or close fluxbox popup menus. For more information on 426These commands open or close fluxbox popup menus. For more information on
416what these menus contain or how to configure them, see 'fluxbox(1)'. 427what these menus contain or how to configure them, see 'fluxbox(1)'.
417 428
418*RootMenu* / *WorkspaceMenu* / *WindowMenu*:: 429*RootMenu*;;
419 Opens the specified menu. See fluxbox(1) for more details on what 430 Opens the root menu. See *ROOT MENU* in *fluxbox-menu(5)* for details.
420 these menus contain. 431
432*WorkspaceMenu*;;
433 Opens a menu showing all workspaces and windows. See *Workspace Menu* in
434 *fluxbox(1)* for details.
435
436*WindowMenu*;;
437 Opens a menu containing actions for the current window. See *WINDOW MENU* in
438 *fluxbox-menu(5)* for details.
421 439
422*ClientMenu* ['pattern']:: 440*ClientMenu* ['pattern']::
423 Opens a menu that contains all windows. If you specify a 'pattern', 441 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* 442 matching windows will be in the menu. Selecting a window will jump to that
425 below for more details on the 'pattern' argument. 443 workspace and raise the window. See *CLIENT PATTERNS* below for more details
444 on the 'pattern' argument.
426 445
427*CustomMenu* 'path':: 446*CustomMenu* 'path'::
428 Opens a custom menu file. 447 Opens a custom menu file. This 'path' must be a valid menu file in the same
448 format as detailed by the *ROOT MENU* section of *fluxbox-menu(5)*.
429 449
430*HideMenus*:: 450*HideMenus*::
431 Hide all fluxbox popup menus. 451 Hide all fluxbox popup menus.
@@ -463,8 +483,9 @@ These commands affect the Window Manager, or more than one window.
463 passed verbatim to the shell, you can use environment variables, 483 passed verbatim to the shell, you can use environment variables,
464 pipes, or anything else the shell can do. Note that processes only 484 pipes, or anything else the shell can do. Note that processes only
465 see environment variables that were set before fluxbox started (such 485 see environment variables that were set before fluxbox started (such
466 as in ~/.fluxbox/startup), or any that are set via the Export or 486 as in *\~/.fluxbox/startup*), or any that are set via the *Export* or
467 SetEnv commands, below. 487 *SetEnv* commands, below. See *fluxbox(1)* for more details on the
488 *ENVIRONMENT* and *\~/.fluxbox/startup* file.
468 489
469*CommandDialog*:: 490*CommandDialog*::
470 Pops up a dialog box that lets you type in any of these commands 491 Pops up a dialog box that lets you type in any of these commands
@@ -554,96 +575,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 575 Returns the boolean *xor* of the truth values for all conditions
555 listed. 576 listed.
556 577
578
557CLIENT PATTERNS 579CLIENT PATTERNS
558--------------- 580---------------
559Many of the more advanced commands take a 'pattern' argument, which allows you 581Many 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 582to direct the action at a specific window or set of windows which match the
561properties specified in the 'pattern'. A 'pattern' looks like this: 583properties specified in the 'pattern'.
562 584
563(['propertyname'[!]=]'regexp') ... 585include::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 586
635FILES 587FILES
636----- 588-----
637~/.fluxbox/keys:: 589*\~/.fluxbox/keys*::
638 This is the default location for the keybinding definitions. 590 This is the default location for the keybinding definitions.
639/usr/X11R6/include/X11/keysymdef.h:: 591*/usr/X11R6/include/X11/keysymdef.h*::
640 X key names are in this file. 592 X key names are in this file.
641/usr/X11R6/lib/X11/XKeysymDB:: 593*/usr/X11R6/lib/X11/XKeysymDB*::
642 X key names are also in this file. 594 X key names are also in this file.
643 595
644RESOURCES 596RESOURCES
645--------- 597---------
646session.keyFile: <location>:: 598*session.keyFile:* 'location'::
647 This may be set to override the location of the keybinding definitions. 599 This may be set to override the location of the keybinding definitions.
648 600
649ENVIRONMENT 601ENVIRONMENT
@@ -675,10 +627,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 627ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png
676.................. 628..................
677 629
678AUTHOR and CREDITS 630AUTHORS
679------------------ 631-------
680This manpage is the combined work of:
681
682- Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0) 632- Jim Ramsay <i.am at jimramsay com> (>fluxbox-1.0.0)
683- Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11) 633- Curt Micol <asenchi at asenchi com> (>fluxbox-0.9.11)
684- Tobias Klausmann <klausman at users sourceforge net> (<=fluxbox-0.9.11) 634- Tobias Klausmann <klausman at users sourceforge net> (<=fluxbox-0.9.11)
@@ -686,9 +636,6 @@ This manpage is the combined work of:
686- Matthew Hawkins <matt at mh dropbear id au> (blackbox) 636- Matthew Hawkins <matt at mh dropbear id au> (blackbox)
687- Wilbert Berendsen <wbsoft at xs4all nl> (blackbox) 637- Wilbert Berendsen <wbsoft at xs4all nl> (blackbox)
688 638
689- Numerous other languages could be available if someone jumps in.
690
691SEE ALSO 639SEE ALSO
692-------- 640--------
693fluxbox(1), xev(1), xkill(1), regex(7) 641fluxbox(1) xprop(1) xev(1) xkill(1) regex(7)
694