fix wrong coords computing with left/right statusbar click
[awesome.git] / awesomerc.1.txt
blob6db4a9c9b644169645c9b2bba33147bfd9dbf536
1 awesomerc(1)
2 ===========
4 NAME
5 ----
7 awesomerc - Configuration file for the 'awesome window manager'
9 SYNOPSIS
10 --------
12 <item> [<argument>]
14     <option> = <value>
16     <item> [<argument>] { <option> = <value>, ... }
17     ....
20 <option> = <value>
23 DESCRIPTION
24 -----------
26 The awesomerc file contains configuration informations for *awesome*. It can
27 be used to configure the behaviour and look of awesome in a variety of ways.
29 It is read at startup.
31 UICB FUNCTIONS
32 --------------
34 In awesome, a lot of *functions* are available. These functions are called
35 uicb (User Interface Call Backs). Each function can be bound to a key shortcut
36 or a mouse button.
38 General
39 ~~~~~~~
40 *quit*::
41     This function quits awesome.
42 *statusbar_toggle* statusbar-identifier::
43     Hide or show statusbar (with no argument, toggle all).
44 *spawn* client::
45     Execute an external program.
46 *exec* program::
47     Replace awesome with another window manager (or itself; i.e. reload config).
48 *widget_tell* widget-identifier data::
49     Feed information to your widgets.
51 Client
52 ~~~~~~
53 *client_kill*::
54     Closes the focused client.
55 *client_moveresize* x y width height::
56     Dynamically move and resize floating windows.
57     Coordinates can be relative or absolute. Relative values must begin with + or -.
58     E.g: to move a window 10 pixels up: "+0 \+10 +0 +0" To move a window
59     in the upper left corner and increase its width by 10px: "0 0 \+0 +10"
60 *client_settrans* float::
61     Set client transparency, number can be a relative or absolute floating number in percentage.
62 *client_swapnext*::
63     Swap window placement with the next displayed window.
64 *client_swapprev*::
65     Swap window placement with the previous displayed window.
66 *client_focusnext*::
67     Focus next window.
68 *client_focusprev*::
69     Focus previous window.
70 *client_togglemax*::
71     Set window fullscreen. Calling this function another time will reset the window to its previous state.
72 *client_togglehorizontalmax*::
73     Set window's horizontal size to display width. Calling another time will reset the window to its previous state.
74 *client_toggleverticalmax*::
75     Set window's vertical size to display height. Calling another time will reset the window to its previous state.
76 *client_togglefloating*::
77     Set window floating or tiled.
78 *client_zoom*::
79     Set window as master window.
80 *client_movetoscreen* relative or absolute integer::
81     Move focused window to the nth screen, or next (+1) or previous (-1). If no screen_number is set, move to the next screen.
82 *client_tag* tag number::
83     Tag focused window with this tag.
84 *client_toggletag*::
85     Add or remove tag to focused window.
86 *client_movemouse*::
87     Move client window with mouse.
88 *client_resizemouse*::
89     Resize client window with mouse.
90 *client_setscratch*::
91     Set or unset client as being the scratch window.
92 *client_togglescratch*::
93     Toggle scratch window.
95 Tag
96 ~~~
97 *tag_setlayout* relative or absolute integer::
98     Set layout number; or just switch to the next layout for current tag.
99 *tag_toggleview* tag::
100     Add windows tagged with tag number to current display.
101 *tag_view* tag number::
102     View windows tagged with tag number.
103 *tag_viewnext*::
104     Show windows tagged with next tag in list.
105 *tag_viewprev*::
106     Show windows tagged with previous tag in list.
107 *tag_prev_selected*::
108     Switch back to the previously displayed set of tags.
109 *tag_setmwfact* relative or absolute float::
110     Set master width factor.
111 *tag_setncol* relative or absolute integer::
112     Set number of columns for non-master windows.
113 *tag_setnmaster* relative or absolute integer::
114     Set number of master windows.
115 *tag_create* name::
116     Create a new tag with that name.
118 Focus
119 ~~~~~
120 *focus_client_byname* string::
121     Give client focus by its name.
122 *focus_history* negative number::
123     Focus the client that had focused nth focus switch earlier.
125 Screen
126 ~~~~~~
127 *screen_focus* relative or absolute integer::
128     Select Screen and focus first window and move mouse.
130 WIDGETS
131 -------
132 Statusbars can be customized by modifying widgets names, order and options.
134 taglist
135 ~~~~~~~
136 This widget shows the tag list.
138 *mouse*::
139     Set mouse bindings.
140 *x*::
141     Horizontal offset (auto-alignment if not set).
142 *y*::
143     Vertical offset (auto-alignment if not set).
144 *align*::
145     Widget alignment.
147 layoutinfo
148 ~~~~~~~~~~
149 This widget shows a icon for the selected layout.
151 *mouse*::
152     Set mouse bindings.
153 *x*::
154     Horizontal offset (auto-alignment if not set).
155 *y*::
156     Vertical offset (auto-alignment if not set).
157 *align*::
158     Widget alignment.
160 focusicon
161 ~~~~~~~~~
162 This widget shows a icon for the focused window  using NET_WM_ICON or icon file set in rule.
164 *mouse*::
165     Set mouse bindings.
166 *x*::
167     Horizontal offset (auto-alignment if not set).
168 *y*::
169     Vertical offset (auto-alignment if not set).
170 *align*::
171     Widget alignment.
173 tasklist
174 ~~~~~~~~
175 This widget shows a list of running windows.
177 *mouse*::
178     Set mouse bindings.
179 *font*::
180     Font to use.
181 *bg*::
182     Background color.
183 *fg*::
184     Foreground color.
185 *focus_bg*::
186     Background color for focused window.
187 *focus_fg*::
188     Foreground color for focused window.
189 *text_align*::
190     Text alignement.
191 *show_icons*::
192     Show applications icons.
193 *show*::
194     Show all windows from all tags, tags clients only or focused client.
195 *x*::
196     Horizontal offset (auto-alignment if not set).
197 *y*::
198     Vertical offset (auto-alignment if not set).
200 textbox
201 ~~~~~~~
202 This widget shows a text.
204 *mouse*::
205     Set mouse bindings.
206 *font*::
207     Font to use.
208 *bg*::
209     Background color.
210 *fg*::
211     Foreground color.
212 *width*::
213     Set width.
214 *text*::
215     Text to change.
216 *text_align*::
217     Text alignement.
218 *x*::
219     Horizontal offset (auto-alignment if not set).
220 *y*::
221     Vertical offset (auto-alignment if not set).
222 *align*::
223     Widget alignment.
225 iconbox
226 ~~~~~~~
227 This widget shows an icon.
229 *mouse*::
230     Set mouse bindings.
231 *image*::
232     Image file.
233 *resize*::
234     Resize icon to fit into statusbar.
235 *x*::
236     Horizontal offset (auto-alignment if not set).
237 *y*::
238     Vertical offset (auto-alignment if not set).
239 *align*::
240     Widget alignment.
242 progressbar
243 ~~~~~~~~~~~
244 This widget shows one or more progress-bars.
246 *bar*::
247     Draws a bar; Options: fg, bg, bordercolor.
248 *fg*::
249     Foreground color.
250 *fg_center*::
251     Foreground color in the center of the bar (as gradient).
252 *fg_end*::
253     Foreground color at the end of a bar (as gradient).
254 *bg*::
255     Background color.
256 *bordercolor*::
257     Border color.
258 *mouse*::
259     Set mouse bindings.
260 *width*::
261     Set width.
262 *height*::
263     Set height (i.e. 0.9 = 90%)
264 *padding*::
265     Empty space on both sides.
266 *x*::
267     Horizontal offset (auto-alignment if not set).
268 *y*::
269     Vertical offset (auto-alignment if not set).
270 *align*::
271     Widget alignment.
273 graph
274 ~~~~~
275 This widget shows a graph.
277 *data*::
278     Defines a data-stream section; Options: max, scale, fg and style.
279 *max*::
280     This value prints a full graph (default = 100)
281 *scale*::
282     Re-scales when input > max (see below).
283 *fg*::
284     Foreground color.
285 *fg_center*::
286     Foreground color in the center of the bar (as gradient).
287 *fg_end*::
288     Foreground color at the end of a bar (as gradient).
289 *style*::
290     bottom (fills to bottom with fg), top, or line.
291 *mouse*::
292     Set mouse bindings.
293 *width*::
294     Set width.
295 *height*::
296     Set height (i.e. 0.9 = 90%)
297 *padding_left*::
298     Empty space on the left.
299 *bg*::
300     Background color.
301 *bordercolor*::
302     Border color.
303 *x*::
304     Horizontal offset (auto-alignment if not set).
305 *y*::
306     Vertical offset (auto-alignment if not set).
307 *align*::
308     Widget alignment.
310 OPTIONS
311 --------
313 Configuration options and possible values.
315 ..............................................
316 Note: when there is no whitespace, quotes are optional.
318 <boolean>       -> "true" or "false"
319 <color>         -> #ff9933 (hexadecimal color notation: #red green blue)
320 <float>         -> 0.3, 0,8 (often values between 0 and 1 are useful)
321 <font>          -> Xft font: mono-10, fixed-12, sans-8, ...
322 <identifier>    -> foobar (choose a name/string)
323 <image>         -> "/home/awesome/pics/icon.png" (path to image)
324 <integer>       -> 1, 10, -3 (positive numbers are required mostly)
325 <key>           -> a, 1, F10 (see /usr/include/X11/keysymdef.h w/o XK_ or 'xev')
326                    or a keycode beginning with #
327 <mod>           -> "Mod1", "Mod4", "Control" (modifiers)
328 <regex>         -> regular expression
329 <string>        -> "foo bar"
330 <uicb-arg>      -> prog, 3... (argument to a uicb function, where required)
331 <uicb-cmd>      -> spawn, exec, client_tag... (see UICB FUNCTIONS above)
332 <{.., ...}>     -> list of available options
334 [MULTI] means, you can use an item multiple times.
338 screen <integer> [MULTI]
340     general
341     {
342         border = <integer>
343         font = <font>
344         new_become_master = <boolean>
345         new_get_focus = <boolean>
346         opacity_unfocused = <integer>
347         resize_hints = <boolean>
348         sloppy_focus = <boolean>
349         sloppy_focus_raise = <boolean>
350         snap = <integer>
351     }
352     tags
353     {
354         tag <identifier> [MULTI]
355         {
356             layout = <{dwindle,floating,max,
357                      spiral,tile,tileleft,tilebottom,tiletop}>
358             mwfact = <float>
359             nmaster = <integer>
360         }
361     }
362     layouts
363     {
364         layout <{dwindle,floating,max,
365                  spiral,tile,tileleft,
366                  tilebottom,tiletop}> { image = <image> } [MULTI]
367     }
368     colors
369     {
370         tab_border = <color>
371         normal_fg = <color>
372         normal_bg = <color>
373         normal_border = <color>
374         focus_fg = <color>
375         focus_bg = <color>
376         focus_border = <color>
377         urgent_fg = <color>
378         urgent_bg = <color>
379     }
380     padding
381     {
382         top = <integer>
383         bottom = <integer>
384         left = <integer>
385         right = <integer>
386     }
387     statusbar <identifier> [MULTI]
388     {
389         position = <{top,bottom,left,right}>
390         height = <integer>
391         width = <integer>
393         taglist <identifier> [MULTI]
394         {
395             x = <integer> y = <integer>
396             align = <{auto,right,left}>
397             mouse [MULTI]
398             {
399                 button = <integer> modkey = {<mod>, ...}
400                 command = <uicb-cmd> arg = <uicb-arg>
401             }
402         }
403         layoutinfo <identifier>
404         {
405             x = <integer> y = <integer>
406             align = <{auto,right,left}>
407             mouse [MULTI]
408             {
409                 button = <integer> modkey = {<mod>, ...}
410                 command = <uicb-cmd> arg = <uicb-arg>
411             }
412         }
413         focusicon <identifier>
414         {
415             x = <integer> y = <integer>
416             align = <{auto,right,left}>
417             mouse [MULTI]
418             {
419                 button = <integer> modkey = {<mod>, ...}
420                 command = <uicb-cmd> arg = <uicb-arg>
421             }
422         }
423         tasklist <identifier>
424         {
425             fg = <color>
426             bg = <color>
427             focus_fg = <color>
428             focus_bg = <color>
429             font = <font>
430             show_icons = <boolean>
431             show = <{all,tags,focus}>
432             text_align = <{center,left,right}>
433             x = <integer> y = <integer>
434             mouse [MULTI]
435             {
436                 command = <uicb-cmd> arg = <uicb-arg>
437                 button = <integer> modkey = {<mod>, ...}
438             }
439         }
440         textbox <identifier> [MULTI]
441         {
442             text = <string>
443             bg = <color>
444             fg = <color>
445             font = <font>
446             width = <integer>
447             text_align = <{center,left,right}>
448             x = <integer> y = <integer>
449             align = <{auto,right,left}>
450             mouse [MULTI]
451             {
452                 button = <integer> modkey = {<mod>, ...}
453                 command = <uicb-cmd> arg = <uicb-arg>
454             }
455         }
456         iconbox <identifier> [MULTI]
457         {
458             image = <image>
459             resize = <boolean>
460             x = <integer> y = <integer>
461             align = <{auto,right,left}>
462             mouse [MULTI]
463             {
464                 button = <integer> modkey = {<mod>, ...}
465                 command = <uicb-cmd> arg = <uicb-arg>
466             }
467         }
468         progressbar <identifier> [MULTI]
469         {
470             bar [MULTI]
471             {
472                 fg = <color> fg_center = <color> fg_end = <color>
473                 bg = <color> bordercolor = <color>
474             }
475             gap = <integer>
476             width = <integer>
477             height = <float>
478             padding = <integer>
479             x = <integer> y = <integer>
480             align = <{auto,right,left}>
481             mouse [MULTI]
482             {
483                 button = <integer> modkey = {<mod>, ...}
484                 command = <uicb-cmd> arg = <uicb-arg>
485             }
486         }
487         graph <identifier> [MULTI]
488         {
489             data [MULTI]
490             {
491                 scale = <boolean> max = <float> style = <{bottom, top, line}>
492                 fg = <color> fg_center = <color> fg_end = <color>
493             }
494             width = <integer>
495             height = <float>
496             padding_left = <integer>
497             bg = <color>
498             bordercolor = <color>
499             x = <integer> y = <integer>
500             align = <{auto,right,left}>
501             mouse [MULTI]
502             {
503                 button = <integer> modkey = {<mod>, ...}
504                 command = <uicb-cmd> arg = <uicb-arg>
505             }
506         }
507     }
509 rules
511     rule [MULTI]
512     {
513         name = <regex>
514         xproperty_name = <string>
515         xproperty_value = <regex>
516         float = <{auto,true,false}>
517         master = <{auto,true,false}>
518         tags = <regex>
519         screen = <integer>
520         icon = <image>
521         opacity = <float>
522     }
524 keys
526     key [MULTI]
527     {
528         key = <key> modkey = {<mod>, ...}
529         command = <uicb-cmd> arg = <uicb-arg>
530     }
531     keylist [MULTI]
532     {
533         keylist = {<key>, ...}
534         modkey = {<mod>, ...}
535         command = <uicb-cmd>
536         arglist = {<uicb-arg>, ...}
537     }
539 mouse
541     client [MULTI]
542     {
543         button = <integer> modkey = {<mod>, ...}
544         command = <uicb-cmd> arg = <uicb-arg>
545     }
546     root [MULTI]
547     {
548         button = <integer> modkey = {<mod>, ...}
549         command = <uicb-cmd> arg = <uicb-arg>
550     }
552 ..............................................
554 EXAMPLES
555 --------
557 Check awesome's wiki: http://awesome.naquadah.org/wiki/
560 SEE ALSO
561 --------
562 awesome(1) awesome-client(1)
565 AUTHORS
566 -------
567 This man page was written by Julien Danjou <julien@danjou.info> and Marco Candrian <mac@calmar.ws>.
571 http://awesome.naquadah.org