diff options
Diffstat (limited to 'doc/asciidoc/fluxbox-keys.txt')
-rw-r--r-- | doc/asciidoc/fluxbox-keys.txt | 153 |
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 @@ | |||
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,24 @@ 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 | //////////////// | ||
91 | TODO: Advanced users only? | 100 | TODO: 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 | |||
102 | CHAINING | 111 | CHAINING |
103 | -------- | 112 | -------- |
104 | Key bindings can be chained in a fashion similar to Emacs key bindings using the | 113 | Key bindings can be chained in a fashion similar to Emacs key bindings using the |
105 | syntax: | 114 | syntax: |
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 | |||
118 | To 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 | |||
415 | These commands open or close fluxbox popup menus. For more information on | 426 | 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)'. | 427 | what 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 | |||
557 | CLIENT PATTERNS | 579 | CLIENT PATTERNS |
558 | --------------- | 580 | --------------- |
559 | Many of the more advanced commands take a 'pattern' argument, which allows you | 581 | 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 | 582 | 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: | 583 | properties specified in the 'pattern'. |
562 | 584 | ||
563 | (['propertyname'[!]=]'regexp') ... | 585 | 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 | 586 | ||
635 | FILES | 587 | FILES |
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 | ||
644 | RESOURCES | 596 | RESOURCES |
645 | --------- | 597 | --------- |
646 | session.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 | ||
649 | ENVIRONMENT | 601 | ENVIRONMENT |
@@ -675,10 +627,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 | 627 | ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}').png |
676 | .................. | 628 | .................. |
677 | 629 | ||
678 | AUTHOR and CREDITS | 630 | AUTHORS |
679 | ------------------ | 631 | ------- |
680 | This 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 | |||
691 | SEE ALSO | 639 | SEE ALSO |
692 | -------- | 640 | -------- |
693 | fluxbox(1), xev(1), xkill(1), regex(7) | 641 | fluxbox(1) xprop(1) xev(1) xkill(1) regex(7) |
694 | |||