diff options
Diffstat (limited to 'doc/asciidoc/fluxbox-keys.txt')
-rw-r--r-- | doc/asciidoc/fluxbox-keys.txt | 161 |
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 @@ | |||
1 | fluxbox-keys(5) | 1 | fluxbox-keys(5) |
2 | =============== | 2 | =============== |
3 | Jim Ramsay <i.am@jimramsay.com> | 3 | Jim Ramsay <i.am@jimramsay.com> |
4 | v1.1.0, 22 July, 2008 | 4 | v1.1.2, 18 February 2009 |
5 | :man source: fluxbox-keys.txt | ||
6 | :man version: {revision} | ||
7 | :man manual: Fluxbox Manual | ||
5 | 8 | ||
6 | NAME | 9 | NAME |
7 | ---- | 10 | ---- |
@@ -38,6 +41,9 @@ key names are case-sensitive. | |||
38 | Lines beginning with a '#' or '!' are considered comments and are unread by | 41 | Lines beginning with a '#' or '!' are considered comments and are unread by |
39 | fluxbox. | 42 | fluxbox. |
40 | 43 | ||
44 | You will need to ``reload'' fluxbox after editing the keys file so it picks up | ||
45 | your change. | ||
46 | |||
41 | MODIFIERS | 47 | MODIFIERS |
42 | --------- | 48 | --------- |
43 | You can get a list of possible modifiers by calling `xmodmap -pm'. This also | 49 | You can get a list of possible modifiers by calling `xmodmap -pm'. This also |
@@ -73,21 +79,28 @@ KEYS | |||
73 | You may specify a key by its key name (for example, *a* or *space*) or by its | 79 | You may specify a key by its key name (for example, *a* or *space*) or by its |
74 | numeric keycode (for example, *38* or *0xf3*). | 80 | numeric keycode (for example, *38* or *0xf3*). |
75 | 81 | ||
76 | If you don't know the name of a key, you can run 'xev(1)' in a terminal, push | 82 | If you don't know the name of a key, you can run *xev(1)* in a terminal, push |
77 | the key, and see the name in the output. If you have some "special" keys that | 83 | the key, and see the name in the output. If you have some "special" keys that |
78 | do not produce a key name in the output of 'xev(1)', you can just use the | 84 | do not produce a key name in the output of *xev(1)*, you can just use the |
79 | keycode (NOT the keysym!) in your keys file. | 85 | keycode (NOT the keysym!) in your keys file. |
80 | 86 | ||
81 | Commands can also be bound to mouse button presses, for which the proper "key" | 87 | Commands can also be bound to mouse button presses, for which the proper "key" |
82 | name is *Mouse*'n' where 'n' is the number of the mouse button. For example, | 88 | name 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 |
84 | events, in normal configurations. 'xev(1)' can also be used to tell the button | 90 | events, in normal configurations. *xev(1)* can also be used to tell the button |
85 | number. | 91 | number. |
86 | 92 | ||
87 | //////////////// | ||
88 | There are some special "keys" that let you bind events to non-keyboard events::: | 93 | There 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 | WARNING: Use caution with this event! For example, do NOT bind this to any | ||
100 | action that changes your current workspace. If you break your fluxbox with this | ||
101 | feature, you get to keep the pieces. | ||
102 | |||
103 | //////////////// | ||
91 | TODO: Advanced users only? | 104 | TODO: 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 | |||
102 | CHAINING | 115 | CHAINING |
103 | -------- | 116 | -------- |
104 | Key bindings can be chained in a fashion similar to Emacs key bindings using the | 117 | Key bindings can be chained in a fashion similar to Emacs key bindings using the |
105 | syntax: | 118 | syntax: |
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 | |||
122 | To 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 | + |
157 | By default 'corner' is *BottomRight*, but may be overridden with one of:;; | 172 | By 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 |
159 | BottomRight* | 174 | Bottom 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 | |||
415 | These commands open or close fluxbox popup menus. For more information on | 430 | These commands open or close fluxbox popup menus. For more information on |
416 | what these menus contain or how to configure them, see 'fluxbox(1)'. | 431 | what 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 | |||
557 | CLIENT PATTERNS | 583 | CLIENT PATTERNS |
558 | --------------- | 584 | --------------- |
559 | Many of the more advanced commands take a 'pattern' argument, which allows you | 585 | Many of the more advanced commands take a 'pattern' argument, which allows you |
560 | to direct the action at a specific window or set of windows which match the | 586 | to direct the action at a specific window or set of windows which match the |
561 | properties specified in the 'pattern'. A 'pattern' looks like this: | 587 | properties specified in the 'pattern'. |
562 | 588 | ||
563 | (['propertyname'[!]=]'regexp') ... | 589 | include::client-patterns.txt[] |
564 | |||
565 | Match definitions are enclosed in parentheses *(*...*)*, and if no | ||
566 | 'propertyname' is given then *Name* is assumed. The 'regexp' can contain any | ||
567 | regular expression, or the special value *[current]*, which matches the | ||
568 | corresponding value of the currently focused window. See 'regex(7)' for more | ||
569 | information on acceptable regular expressions. | ||
570 | |||
571 | You can use *=* to test for equality or *!=* to test for inequality. | ||
572 | |||
573 | The 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 | ||
635 | FILES | 591 | FILES |
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 | ||
644 | RESOURCES | 600 | RESOURCES |
645 | --------- | 601 | --------- |
646 | session.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 | ||
649 | ENVIRONMENT | 605 | ENVIRONMENT |
@@ -675,10 +631,8 @@ Mod4 t :If {Some Matches (xterm)} {NextWindow (xterm)} {Exec xterm} | |||
675 | ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png | 631 | ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png |
676 | .................. | 632 | .................. |
677 | 633 | ||
678 | AUTHOR and CREDITS | 634 | AUTHORS |
679 | ------------------ | 635 | ------- |
680 | This 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 | |||
691 | SEE ALSO | 643 | SEE ALSO |
692 | -------- | 644 | -------- |
693 | fluxbox(1), xev(1), xkill(1), regex(7) | 645 | fluxbox(1) xprop(1) xev(1) xkill(1) regex(7) |
694 | |||