wmi

git clone git://oldgit.suckless.org/wmi/
Log | Files | Refs | LICENSE

actions.conf.5 (15547B)


      1 .TH WMI 5 User Manuals
      2 .SH NAME
      3 WMI \- Window Manager Improved, a X11 window manager for hackers
      4 .SH DESCRIPTION
      5 The file \fIactions.conf\f1 is used to define actions manually. Three types of actions are supported: external (extern), internal (intern) and sequential (chain) actions. The internal actions are described in the following section.
      6 .SH INTERN ACTIONS
      7 Note, most actions are context-sensitive, this means that they are only available, if they would have any effect.
      8 .TP
      9 \fBattach-all-clients: \f1
     10 Attaches all detached clients. 
     11 .TP
     12 \fBattach-client: \f1
     13 Attaches an detached client to the workspace. If the client has been detached as floating client, it'll be attached as floating client again, otherwise if will be attached to the focussed frame, or to a new frame, if there does not exist a frame yet. 
     14 .TP
     15 \fBbanish: \f1
     16 Banishes the pointer to bottom-right corner. 
     17 .TP
     18 \fBbegin-record: \f1
     19 Begins recording all WMI specific actions until end-record-* or cancel-record will be invoked, except entering interactive mode and end-record-*. 
     20 .TP
     21 \fBbind-keys: \f1
     22 Creates a shortcut for a specific action. 
     23 .TP
     24 \fBcancel-record: \f1
     25 Cancels the recording of actions immediately. 
     26 .TP
     27 \fBcreate-action: \f1
     28 Creates a new action alias for an external application. 
     29 .TP
     30 \fBcreate-workspace: \f1
     31 Creates a new workspace on the focussed monitor. 
     32 .TP
     33 \fBcycle-client-next: \f1
     34 Focusses next client within a frame. 
     35 .TP
     36 \fBcycle-client-prev: \f1
     37 Focusses previous client within a frame. 
     38 .TP
     39 \fBcycle-slot-tab-next: \f1
     40 Focusses next slot tab of the slot. 
     41 .TP
     42 \fBcycle-slot-tab-prev: \f1
     43 Focussed previous slot tab of the slot. 
     44 .TP
     45 \fBcycle-workspace-next: \f1
     46 Focusses next workspace on the monitor. 
     47 .TP
     48 \fBcycle-workspace-prev: \f1
     49 Focusses previous workspace on the monitor. 
     50 .TP
     51 \fBdestroy-action: \f1
     52 Destroys a selected extern- or chain-action. Always valid. 
     53 .TP
     54 \fBdestroy-workspace: \f1
     55 Destroys the focussed workspace. Only valid if no clients or frames are attached to this workspace and at least another workspace exists. 
     56 .TP
     57 \fBdetach-all-clients: \f1
     58 Detaches all clients from focussed frame or all floating clients. 
     59 .TP
     60 \fBdetach-client: \f1
     61 Detaches the focused client. 
     62 .TP
     63 \fBend-record-chain: \f1
     64 Ends recording actions and provides to create a chain action, which will invoke all recorded actions sequentially through only one alias name. 
     65 .TP
     66 \fBend-record-script: \f1
     67 Ends recording actions and provides to save all recorded actions to a shell script which uses wmiremote for remote invocation of the actions. This enables flexible pseudo session management. 
     68 .TP
     69 \fBexec: \f1
     70 Provides a list of all executables in the \fI$PATH\f1 environment, which can be executed. You can also use the '/' character to browse through your directories and choose an executable which isn't available through the \fI$PATH\f1 environment. You can also smuggle additional command arguments behind the executable name, as you know it from the command line. But note that this is not as powerful as you use the shell. Note, that exec executes the choosen application directly. 
     71 .TP
     72 \fBexec-term: \f1
     73 Same as exec, except that the action will be executed within the defined (see common.conf) default terminal. 
     74 .TP
     75 \fBgrow-down: \f1
     76 Grows the focussed floating client or frame in south direction. This action is not valid for borderless clients. 
     77 .TP
     78 \fBfit-client: \f1
     79 Fits the client size to workspace area. 
     80 .TP
     81 \fBgrow-left: \f1
     82 Grows the focussed floating client or frame in west direction. This action is not valid for borderless clients. 
     83 .TP
     84 \fBgrow-right: \f1
     85 Grows the focussed floating client or frame in east direction. This action is not valid fo borderless clients. 
     86 .TP
     87 \fBgrow-up: \f1
     88 Grows the focussed floating client or frame in north direction. This action is not valid for borderless clients. 
     89 .TP
     90 \fBhide-bars: \f1
     91 Hides all bars of all frames/clients on the workspace. 
     92 .TP
     93 \fBhide-borders: \f1
     94 Hides all borders of all frames/clients on the workspace. 
     95 .TP
     96 \fBhook-client: \f1
     97 Hooks a client to a specific workspace. Thus the specific clients class::instance will be attached automatically to the hooked workspace afterwards all the time. 
     98 .TP
     99 \fBjoin-frame-down: \f1
    100 Joins the focussed frame with its neighbor frame in south direction. 
    101 .TP
    102 \fBjoin-frame-left: \f1
    103 Joins the focussed frame with its neighbor frame in west direction. 
    104 .TP
    105 \fBjoin-frame-right: \f1
    106 Joins the focussed frame with its neighbor frame in east direction. 
    107 .TP
    108 \fBjoin-frame-up: \f1
    109 Joins the focussed frame with its neighbor frame in north direction. 
    110 .TP
    111 \fBkill-client: \f1
    112 Kills the focussed client. First WMI will try to let the client close itself, if the client ignores this request, it'll be killed. 
    113 .TP
    114 \fBkill-slot-client: \f1
    115 Kills the slotted client. 
    116 .TP
    117 \fBlower: \f1
    118 Lowers the focussed client or frame. 
    119 .TP
    120 \fBmax-client-to-screen: \f1
    121 Maximizes the focussed floating client to the whole screen. 
    122 .TP
    123 \fBmove-client-down: \f1
    124 Moves the focussed floating client in south direction. 
    125 .TP
    126 \fBmove-client-left: \f1
    127 Moves the focussed floating client in west direction. 
    128 .TP
    129 \fBmove-client-right: \f1
    130 Moves the focussed floating client in east direction. 
    131 .TP
    132 \fBmove-client-up: \f1
    133 Moves the focussed floating client in north direction. 
    134 .TP
    135 \fBquit: \f1
    136 Exits WMI and saves all settings. 
    137 .TP
    138 \fBraise: \f1
    139 Raises the focussed client or frame. 
    140 .TP
    141 \fBrehash: \f1
    142 Rereads the \fI$PATH\f1 environment for exec actions, this is useful after having installed new apps. It's pretty similiar to the (t)csh or zsh way of life. 
    143 .TP
    144 \fBrename-workspace: \f1
    145 Renames the focussed workspace. Note, that WMI doesn't cares about the names, they may be equal or not. 
    146 .TP
    147 \fBsave-settings: \f1
    148 Manually saves session settings (shortcuts, workspace configuration). 
    149 .TP
    150 \fBselect-client: \f1
    151 Selects a client from a list of all clients. 
    152 .TP
    153 \fBselect-client-id: \f1
    154 Selects a client from a list of all client ids. 
    155 .TP
    156 \fBselect-frame-down: \f1
    157 Focusses the downward neighbor frame of the focussed frame. 
    158 .TP
    159 \fBselect-frame-left: \f1
    160 Focusses the leftward neighbor frame of the focussed frame. 
    161 .TP
    162 \fBselect-frame-right: \f1
    163 Focusses the rightward neighbor frame of the focussed frame. 
    164 .TP
    165 \fBselect-frame-up: \f1
    166 Focusses the upward neighbor frame of the focussed frame. 
    167 .TP
    168 \fBselect-workspace: \f1
    169 Provides the names of all workspaces of this monitor and focusses the selected workspace afterwards. 
    170 .TP
    171 \fBshow-bars: \f1
    172 Shows all bars of all frames/clients on the workspace. 
    173 .TP
    174 \fBshow-borders: \f1
    175 Shows all borders of all frames/clients on the workspace. 
    176 .TP
    177 \fBshrink-down: \f1
    178 Shrinks the focussed floating client or frame in south direction. 
    179 .TP
    180 \fBshrink-left: \f1
    181 Shrinks the focussed floating client or frame in west direction. 
    182 .TP
    183 \fBshrink-right: \f1
    184 Shrinks the focussed floating client or frame in east direction. 
    185 .TP
    186 \fBshrink-up: \f1
    187 Shrinks the focussed floating client or frame in north direction. 
    188 .TP
    189 \fBsend-client-down: \f1
    190 Sends the focussed client to its neighbor frame in south direction. 
    191 .TP
    192 \fBsend-client-left: \f1
    193 Sends the focussed client from the focussed frame to its neighbor frame in west direction. 
    194 .TP
    195 \fBsend-client-right: \f1
    196 Sends the focussed client from the focussed frame to its neighbor frame in east direction. 
    197 .TP
    198 \fBsend-client-up: \f1
    199 Sends the focussed client from the focussed frame to its neighbor frame in north direction. 
    200 .TP
    201 \fBslot-client: \f1
    202 Attaches the running client to the slot if WMI was build with slot support. 
    203 .TP
    204 \fBsplit-frame-down: \f1
    205 Splits the focussed frame in south direction. Only valid if at least two clients are attached to the focussed frame. 
    206 .TP
    207 \fBsplit-frame-left: \f1
    208 Splits the focussed frame in west direction. Only valid if at least two clients are attached to the focussed frame. 
    209 .TP
    210 \fBsplit-frame-right: \f1
    211 Splits the focussed frame in east direction. Only valid if at least two clients are attached to the focussed frame. 
    212 .TP
    213 \fBsplit-frame-up: \f1
    214 Splits the focussed frame in north direction. Only valid if at least two clients are attached to the focussed frame. 
    215 .TP
    216 \fBsticky-client: \f1
    217 Makes the focussed client sticky. Sticky means that the client will be visible on all workspaces and always on top. 
    218 .TP
    219 \fBstartup-action.name: \f1
    220 Starts an action after WMI is up and running on each start. 
    221 .TP
    222 \fBswap-client-down: \f1
    223 Swaps the focussed client in the focussed frame with the focussed client of the downward neighbor frame. 
    224 .TP
    225 \fBswap-client-left: \f1
    226 Swaps the focussed client in the focussed frame with the focussed client of the leftward neighbor frame. 
    227 .TP
    228 \fBswap-client-right: \f1
    229 Swaps the focussed client in the focussed frame with the focussed client of the rightward neighbor frame. 
    230 .TP
    231 \fBswap-client-up: \f1
    232 Swaps the focussed client in the focussed frame with the focussed client of the upward neighbor frame. 
    233 .TP
    234 \fBswap-frame-down: \f1
    235 Swaps the focussed frame with the downward neighbor frame. 
    236 .TP
    237 \fBswap-frame-left: \f1
    238 Swaps the focussed frame with the leftward neighbor frame. 
    239 .TP
    240 \fBswap-frame-right: \f1
    241 Swaps the focussed frame with the rightward neighbor frame. 
    242 .TP
    243 \fBswap-frame-up: \f1
    244 Swaps the focussed frame with the upward neighbor frame. 
    245 .TP
    246 \fBtoggle-bar: \f1
    247 Toggles the visibility of the clients or frames titlebar. 
    248 .TP
    249 \fBtoggle-border: \f1
    250 Toggles the visibility of the frame or client border. 
    251 .TP
    252 \fBtoggle-client-mode: \f1
    253 Toggles between floating mode of a client with border and maximized mode. 
    254 .TP
    255 \fBtoggle-client-sticky: \f1
    256 Toggles the focussed client between sticky and floating mode. 
    257 .TP
    258 \fBtoggle-float-bar: \f1
    259 Toggles the visibility of the floating bar. 
    260 .TP
    261 \fBtoggle-focus-mode: \f1
    262 Toggles the focus between frames and floating clients. 
    263 .TP
    264 \fBtoggle-inputmode: \f1
    265 Enters input mode, which will appear in the status bar. 
    266 .TP
    267 \fBtoggle-slot: \f1
    268 Toggles the visibility of the slot. 
    269 .TP
    270 \fBtoggle-sloppy-mode: \f1
    271 Toggles the sloppy focus mode. 
    272 .TP
    273 \fBtoggle-status-bar: \f1
    274 Toggles the visibility of the status bar. 
    275 .TP
    276 \fBtoggle-tiled: \f1
    277 Toggles tiled mode of a frame. 
    278 .TP
    279 \fBunslot-client: \f1
    280 Detaches the last client which has been attached to the slot again. 
    281 .TP
    282 \fBunhook-client: \f1
    283 Unhooks a client from the hooked workspace. 
    284 .TP
    285 \fBzoom-client: \f1
    286 Zooms the focussed client to the tiled (left) column. 
    287 .SH CONFIGURATION
    288 If you prefer using WMI actions for configuration of the WMI, you can use create-action, begin/end-record-* and bind-keys from input mode. Such a configuration will be saved to \fIactions.session\f1
    289 
    290 Experienced users may use a manually created configuration described in the following.
    291 
    292 Note that the \fIactions.conf\f1 will override all definitions made (automatically by WMI) in \fIactions.session\f1. Both files are syntactically equal and you can rename an existing \fIactions.session\f1 to \fIactions.conf\f1 for fine tuning or further manually configuration.
    293 .SH FORMAT
    294 The basic format of all \fI.conf\f1 and \fI.session\f1 files is as follows:
    295 
    296 key=value
    297 
    298 # comment
    299 
    300 key=\\#value # '\\' escapes special characters
    301 
    302 # special characters are: ", =, \\ and #
    303 
    304 If you've whitespaces within values, you've to quote them with '"' characters. You're free to let empty lines or whitespaces before and after keys, the '=' operator and the value. If you need a special character, you've to escape it using the '\\' character, e.g. \\=.
    305 .SH TYPES OF ACTIONS
    306 .TP
    307 \fBextern:\f1
    308 External actions are aliases to external programs, e.g. mozilla, with following syntax:
    309 
    310 extern.< alias name >.cmd="< the command, maybe with arguments >"
    311 
    312 extern.< alias name >.keys=< modifier[+modifier]+(key|button) >
    313 
    314 The first line defines the command which will be executed if the action defined by < alias name > is invoked. Note that the command needs to be quoted, if it contains whitespaces. The second line defines the shortcut of the action. Note that the second line is optional.
    315 .TP
    316 \fBintern:\f1
    317 Internal actions are such actions defined in \fBwmi(1)\f1. It's forbidden to define external or sequential actions with the same alias name as an internal action has. If you ignore this advice, don't wonder if WMI isn't able to invoke the specific internal action anymore.
    318 
    319 Since internal actions have a fixed semantic you can only define a shortcut for them:
    320 
    321 intern.< action name >.keys=< modifier[+modifier]+(key|button) >
    322 
    323 The line defines the shortcut of the action.
    324 .TP
    325 \fBchain:\f1
    326 The chain mechanism, which represents the ability for user defined sequential action invoking is a special feature of WMI never seen before in other window managers.
    327 
    328 Regardless of which type an action within a chain is, everything is possible, except recursion. Recursion means that the chain is calling itself, which would lead to an endless loop. WMI detects such recursion and will stop the invocation of recursive chains immediatly.
    329 
    330 Everything is possible means, that you're free to invoke internal, external and sequential actions within one chain arbitrarily.
    331 
    332 One scenario which may occur is the invocation of several external applications and afterwards automatic arrangement of them (e.g. split actions or whatever WMI provides) through internal actions. But you'll have problems achieving this, since WMI doesn't waits while chain processing until an external application will be ready and proceed afterwards, because this would be indecisable. So take care yourself, that all actions after an external action within a chain are independently from any client window.
    333 
    334 If you want to achieve something like this, you can use \fBwmiremote(1)\f1 with the \fI-a\f1 argument within a script and between external and internal actions you may define some sleep or wait timeouts.
    335 
    336 Through chains it's also possible to define aliases for internal actions, one chain with only one internal action could be an alias for it - sometimes this may useful.
    337 
    338 The syntax for chains looks as follows:
    339 
    340 chain.< alias name >.seq=< action[+arg[+arg ...]] >[,< action ... >] ...
    341 
    342 chain.< alias name >.keys=< modifier[+modifier]+(key|button) >
    343 
    344 The first line defines the chain. As you can see, all actions of a chain are comma separated and for actions which may need arguments it's optional to smuggle some arguments to these actions with the '+' operator. Note that it's only possible to run defined actions within a chain. If you want to invoke an application from a chain without having defined an external action for it, you could use the following example:
    345 
    346 chain.cxterm.seq=exec+xterm
    347 
    348 This will use the exec action and smuggle xterm as command to it.
    349 .SH SHORTCUTS
    350 The basic format of all shortcuts is: 
    351 
    352 [modifier*]+(key|button)[::[modifier*]+(key|button)]*
    353 
    354 A modifier is one of the following strings: none, mod1, mod2, mod3, ..., ctrl, shift
    355 
    356 A key is a key on your keyboard, note that keys have to be case sensitive to the definitions in \fI< X11/keysymdef.h >\f1, but without the 'XK_' prefix. This means for example, that 'f1' is invalid, you have to use 'F1' instead (same to Left, Right, Up, Down, etc.).
    357 
    358 A button is a mouse button, if you've a three-button mouse following buttons are valid: Button1, Button2, Button3.
    359 .SH AUTHOR
    360 WMI was written by Anselm R. Garbe < anselm@garbe.us > and others (see AUTHORS or the WMI site for further information)
    361 
    362 You will find the newest version of WMI at \fBhttp://wmi.suckless.org/\f1. There is also a mailing list.
    363 .SH BUGS
    364 You should report them to the mailing list.
    365 .SH SEE ALSO
    366 \fBwmi(1)\f1, \fBwmiremote(1)\f1, \fBcommon.conf(5)\f1, \fBsession.conf(5)\f1, \fBtheme.conf(5)\f1