use list function for Widget
[awesome.git] / awesomerc.1.txt
blob3e73dde6228767dc64f96eed663329b07cd3fccd
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.
91 Tag
92 ~~~
93 *tag_setlayout* relative or absolute integer::
94     Set layout number; or just switch to the next layout for current tag.
95 *tag_toggleview* tag::
96     Add windows tagged with tag number to current display.
97 *tag_view* tag number::
98     View windows tagged with tag number.
99 *tag_viewnext*::
100     Show windows tagged with next tag in list.
101 *tag_viewprev*::
102     Show windows tagged with previous tag in list.
103 *tag_viewprev_selected*::
104     Switch back to the previously displayed set of tags.
105 *tag_setmwfact* relative or absolute float::
106     Set master width factor.
107 *tag_setncol* relative or absolute integer::
108     Set number of columns for non-master windows.
109 *tag_setnmaster* relative or absolute integer::
110     Set number of master windows.
111 *tag_create* name::
112     Create a new tag with that name.
114 Focus
115 ~~~~~
116 *focus_client_byname* string::
117     Give client focus by its name.
118 *focus_history* negative number::
119     Focus the client that had focused nth focus switch earlier.
121 Screen
122 ~~~~~~
123 *screen_focus* relative or absolute integer::
124     Select Screen and focus first window and move mouse.
126 WIDGETS
127 -------
128 Statusbars can be customized by modifying widgets names, order and options.
130 taglist
131 ~~~~~~~
132 This widget shows the tag list.
134 *mouse*::
135     Set mouse bindings.
136 *x*::
137     Horizontal offset (auto-alignment if not set).
138 *y*::
139     Vertical offset (auto-alignment if not set).
141 layoutinfo
142 ~~~~~~~~~~
143 This widget shows a icon for the selected layout.
145 *mouse*::
146     Set mouse bindings.
147 *x*::
148     Horizontal offset (auto-alignment if not set).
149 *y*::
150     Vertical offset (auto-alignment if not set).
152 netwmicon
153 ~~~~~~~~~
154 This widget shows a icon for the focused window  using NET_WM_ICON or icon file set in rule.
156 *mouse*::
157     Set mouse bindings.
158 *x*::
159     Horizontal offset (auto-alignment if not set).
160 *y*::
161     Vertical offset (auto-alignment if not set).
163 focustitle
164 ~~~~~~~~~~
165 This widget shows the title of the focused window.
167 *mouse*::
168     Set mouse bindings.
169 *font*::
170     Font to use.
171 *bg*::
172     Background color.
173 *fg*::
174     Foreground color.
175 *align*::
176     Text alignement.
177 *x*::
178     Horizontal offset (auto-alignment if not set).
179 *y*::
180     Vertical offset (auto-alignment if not set).
182 tasklist
183 ~~~~~~~~
184 This widget shows a list of running windows.
186 *mouse*::
187     Set mouse bindings.
188 *font*::
189     Font to use.
190 *bg*::
191     Background color.
192 *fg*::
193     Foreground color.
194 *focus_bg*::
195     Background color for focused window.
196 *focus_fg*::
197     Foreground color for focused window.
198 *align*::
199     Text alignement.
200 *show_icons*::
201     Show applications icons.
202 *show_all*::
203     Show all windows from all tags.
204 *x*::
205     Horizontal offset (auto-alignment if not set).
206 *y*::
207     Vertical offset (auto-alignment if not set).
209 textbox
210 ~~~~~~~
211 This widget shows a text.
213 *mouse*::
214     Set mouse bindings.
215 *font*::
216     Font to use.
217 *bg*::
218     Background color.
219 *fg*::
220     Foreground color.
221 *width*::
222     Set width.
223 *text*::
224     Text to change.
225 *align*::
226     Text alignement.
227 *x*::
228     Horizontal offset (auto-alignment if not set).
229 *y*::
230     Vertical offset (auto-alignment if not set).
232 iconbox
233 ~~~~~~~
234 This widget shows an icon.
236 *mouse*::
237     Set mouse bindings.
238 *image*::
239     Image file.
240 *resize*::
241     Resize icon to fit into statusbar.
242 *x*::
243     Horizontal offset (auto-alignment if not set).
244 *y*::
245     Vertical offset (auto-alignment if not set).
247 progressbar
248 ~~~~~~~~~~~
249 This widget shows one or more progress-bars.
251 *mouse*::
252     Set mouse bindings.
253 *width*::
254     Set width.
255 *height*::
256     Set height (i.e. 0.9 = 90%)
257 *padding_left*::
258     Empty space on the left.
259 *bar*::
260     Draws a bar; Options: fg, bg, bordercolor.
261 *fg*::
262     Foreground color.
263 *bg*::
264     Background color.
265 *bordercolor*::
266     Border color.
267 *x*::
268     Horizontal offset (auto-alignment if not set).
269 *y*::
270     Vertical offset (auto-alignment if not set).
272 graph
273 ~~~~~
274 This widget shows a graph.
276 *scale*::
277     Re-scales when input > max (see below).
278 *max*::
279     This value prints a full graph.
280 *mouse*::
281     Set mouse bindings.
282 *width*::
283     Set width.
284 *height*::
285     Set height (i.e. 0.9 = 90%)
286 *padding_left*::
287     Empty space on the left.
288 *fg*::
289     Foreground color.
290 *bg*::
291     Background color.
292 *bordercolor*::
293     Border color.
294 *x*::
295     Horizontal offset (auto-alignment if not set).
296 *y*::
297     Vertical offset (auto-alignment if not set).
299 OPTIONS
300 --------
302 Configuration options and possible values.
304 ..............................................
305 Note: when there is no whitespace, quotes are optional.
307 <boolean>       -> "true" or "false"
308 <color>         -> #ff9933 (hexadecimal color notation: #red green blue)
309 <float>         -> 0.3, 0,8 (often values between 0 and 1 are useful)
310 <font>          -> Xft font: mono-10, fixed-12, sans-8, ...
311 <identifier>    -> foobar (choose a name/string)
312 <image>         -> "/home/awesome/pics/icon.png" (path to image)
313 <integer>       -> 1, 10, -3 (positive numbers are required mostly)
314 <key>           -> a, 1, F10 (see /usr/include/X11/keysymdef.h w/o XK_ or 'xev')
315 <mod>           -> "Mod1", "Mod4", "Control" (modifiers)
316 <regex>         -> regular expression
317 <string>        -> "foo bar"
318 <uicb-arg>      -> prog, 3... (argument to a uicb function, where required)
319 <uicb-cmd>      -> spawn, exec, client_tag... (see UICB FUNCTIONS above)
320 <{.., ...}>     -> list of available options
322 [MULTI] means, you can use an item multiple times.
326 screen <integer> [MULTI]
328     general
329     {
330         allow_lower_floats = <boolean>
331         border = <integer> 
332         focus_move_pointer = <boolean>
333         font = <font> 
334         new_become_master = <boolean>
335         new_get_focus = <boolean>
336         opacity_unfocused = <integer>
337         resize_hints = <boolean> 
338         sloppy_focus = <boolean>
339         snap = <integer> 
340     }
341     tags
342     { 
343         tag <identifier> [MULTI]
344         { 
345             layout = <{dwindle,floating,max,
346                      spiral,tile,tileleft}>
347             mwfact = <float> 
348             nmaster = <integer>
349         }
350     }
351     layouts
352     {
353         layout <{dwindle,floating,max,
354                  spiral,tile,tileleft}> { image = <image> } [MULTI]
355     }
356     colors
357     {
358         tab_border = <color> 
359         normal_fg = <color>
360         normal_bg = <color> 
361         normal_border = <color> 
362         focus_fg = <color> 
363         focus_bg = <color> 
364         focus_border = <color>
365         urgent_fg = <color>
366         urgent_bg = <color>
367     }
368     padding 
369     { 
370         top = <integer> 
371         bottom = <integer> 
372         left = <integer> 
373         right = <integer> 
374     }
375     statusbar <identifier> [MULTI]
376     {
377         position = <{top,bottom,left,right}>
378         height = <integer>
379         width = <integer>
381         taglist <identifier> [MULTI]
382         {
383             x = <integer> y = <integer>
384             mouse [MULTI]
385             {   
386                 button = <integer> modkey = {<mod>, ...}
387                 command = <uicb-cmd> arg = <uicb-arg>
388             }
389         }
390         layoutinfo <identifier>
391         {
392             x = <integer> y = <integer>
393             mouse [MULTI]
394             {   
395                 button = <integer> modkey = {<mod>, ...} 
396                 command = <uicb-cmd> arg = <uicb-arg>
397             }
398         }
399         netwmicon <identifier>
400         {
401             x = <integer> y = <integer>
402             mouse [MULTI]
403             {   
404                 button = <integer> modkey = {<mod>, ...} 
405                 command = <uicb-cmd> arg = <uicb-arg>
406             }
407         }
408         focustitle <identifier>
409         {
410             fg = <color>
411             bg = <color>
412             font = <font>
413             align = <{center,left,right}>
414             x = <integer> y = <integer>
415             mouse [MULTI]
416             {   
417                 button = <integer> modkey = {<mod>, ...} 
418                 command = <uicb-cmd> arg = <uicb-arg>
419             }
420         }
421         tasklist <identifier>
422         {
423             fg = <color>
424             bg = <color>
425             focus_fg = <color>
426             focus_bg = <color>
427             font = <font>
428             show_icons = <boolean>
429             show_all = <boolean>
430             align = <{center,left,right}>
431             x = <integer> y = <integer>
432             mouse [MULTI]
433             {   
434                 command = <uicb-cmd> arg = <uicb-arg>
435                 button = <integer> modkey = {<mod>, ...} 
436             }
437         }    
438         textbox <identifier> [MULTI]
439         {
440             text = <string>
441             bg = <color> 
442             fg = <color> 
443             font = <font>
444             width = <integer>
445             align = <{center,left,right}>
446             x = <integer> y = <integer>
447             mouse [MULTI]
448             {   
449                 button = <integer> modkey = {<mod>, ...} 
450                 command = <uicb-cmd> arg = <uicb-arg>
451             }
452         }
453         iconbox <identifier> [MULTI]
454         {
455             image = <image>
456             resize = <boolean>
457             x = <integer> y = <integer>
458             mouse [MULTI]
459             {   
460                 button = <integer> modkey = {<mod>, ...} 
461                 command = <uicb-cmd> arg = <uicb-arg>
462             }
463         }
464         progressbar <identifier> [MULTI]
465         {
466             bar { fg = <color> bg = <color> bordercolor = <color> } [MULTI]
467             gap = <integer> 
468             width = <integer>
469             height = <float> 
470             padding_left = <integer>
471             x = <integer> y = <integer>
472             mouse [MULTI]
473             {   
474                 button = <integer> modkey = {<mod>, ...} 
475                 command = <uicb-cmd> arg = <uicb-arg>
476             }
477         }
478         graph <identifier> [MULTI]
479         {
480             scale = <boolean>
481             max = <float>
482             width = <integer>
483             height = <float>
484             padding_left = <integer>
485             fg = <color>
486             bg = <color>
487             bordercolor = <color>
488             x = <integer> y = <integer>
489             mouse [MULTI]
490             {   
491                 button = <integer> modkey = {<mod>, ...} 
492                 command = <uicb-cmd> arg = <uicb-arg>
493             }
494         }
495     }
497 rules
498 {  
499     rule [MULTI] 
500     { 
501         name = <regex> 
502         xproperty_name = <string>
503         xproperty_value = <regex>
504         float = <{auto,true,false}>
505         tags = <regex>
506         screen = <integer> 
507         icon = <image> 
508         not_master = <boolean>
509     }
511 keys
513     key [MULTI]
514     { 
515         key = <key> modkey = {<mod>, ...} 
516         command = <uicb-cmd> arg = <uicb-arg> 
517     }
518     keylist [MULTI]
519     { 
520         keylist = {<key>, ...} 
521         modkey = {<mod>, ...} 
522         command = <uicb-cmd> 
523         arglist = {<uicb-arg>, ...} 
524     }
526 mouse
528     client [MULTI] 
529     {
530         button = <integer> modkey = {<mod>, ...} 
531         command = <uicb-cmd> arg = <uicb-arg> 
532     }
533     root [MULTI]
534     {
535         button = <integer> modkey = {<mod>, ...} 
536         command = <uicb-cmd> arg = <uicb-arg> 
537     }
539 ..............................................
541 EXAMPLES
542 --------
544 Check awesome's wiki: http://awesome.naquadah.org/wiki/
547 SEE ALSO
548 --------
549 awesome(1) awesome-client(1)
552 AUTHORS
553 -------
554 This man page was written by Julien Danjou <julien@danjou.info> and Marco Candrian <mac@calmar.ws>.
558 http://awesome.naquadah.org