Fix bug when switching focus to an empty screen
[awesome.git] / awesomerc.5.txt
blob9002c1b13b2db40fd19950f17a265053c8618cac
1 awesomerc(5)
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>
22 include(file.conf)
24 DESCRIPTION
25 -----------
27 The awesomerc file contains configuration informations for *awesome*. It can
28 be used to configure the behaviour and look of awesome in a variety of ways.
30 It is read at startup.
32 OPTIONS
33 --------
34 awesomerc contains 4 global sections: *screen*, *rules*, *keys* and *mouse* which
35 are described here.
37 screen
38 ~~~~~~
39 This is the global section for a physical screen. It must have a title with screen number,
40 starting at 0. It contains several subsections, which are *general*, *tags*, *layouts*, *styles*,
41 *padding* and *statusbar*.
43 general
44 ^^^^^^^
45 General is a section containing some general options for this screen.
47 titlebar::
48     This section defines the parameters of the windows titlebar.
49 border::
50     This defines the window borders size in pixel.
51 new_become_master::
52     If this is set to true, new windows will become the master window.
53 new_get_focus::
54     If this is set to true, new windows will get focus.
55 opacity_unfocused::
56     If this is set to a float value between 0 and 1, non-focused windows will have this opacity.
57     This requires an external XComposite manager.
58 opacity_focused::
59     If this is set to a float value between 0 and 1, focused windows will have this opacity.
60     This requires an external XComposite manager.
61 resize_hints::
62     If this is set to true, resize hints given by the window will be respected.
63     If this is set to false, window size will be forced.
64     If you dislike gaps between windows, you should try to set it to false.
65 sloppy_focus::
66     If this is set to true, focus will be set to the window under the mouse. If not,
67     you will have to click on a window to set it focused.
68 sloppy_focus_raise::
69     If this is set to true with sloppy_focus, when a window is focused with the mouse
70     it will be raised on top of the windows stack.
71 snap::
72     Snap windows to the screen border when it is this pixel away only from the border.
73 floating_placement::
74     Select the floating placement algorithm to use when placing window.
75     
76 tags
77 ^^^^
78 Tags is a section containing one or more tag sections, which defines a tag.
80 tag
81 +++
82 Tag is a section which contains several options defining a tag.
84 layout::
85     Layout is a name of an available layout which will be set by default on this tag.
86 mwfact::
87     Set the default master width factor for this tag.
88 ncol::
89     Set the default number of columns for non-master windows for this tag.
90 nmaster::
91     Set the default number of windows which will be treated as master for this tag.
93 layouts
94 ^^^^^^^
95 Layouts is a section containing a layout list, where each layout is a layout section.
97 layout
98 ++++++
99 Layout is a section which define a layout. It has a title which is the algorithm to use.
101 image::
102     Set the image path used to describe this layouts, useful in layoutinfo widget.
104 styles
105 ^^^^^^
106 Styles is a section containing the style parameters which is composed of a normal, focus and urgent
107 subsection each ones containing:
109 font::
110     The font to use.
111 fg::
112     Set the foreground color.
113 bg::
114     Set the background color.
115 border::
116     Set the window's border color.
117 shadow::
118     Set the shadow color.
119 shadow_offset::
120     Set the shadow offset in pixel.
122 padding
123 ^^^^^^^
124 Padding is a section containing screen padding parameters.
126 top::
127     Set the top padding in pixel.
128 bottom::
129     Set the bottom padding in pixel.
130 left::
131     Set the left padding in pixel.
132 right::
133     Set the right padding in pixel.
135 statusbar
136 ^^^^^^^^^
137 Statusbar are sections containing statusbars parameters. Each statusbar section
138 must have a title which is the statusbar name. Each statusbar can have none or
139 several widgets (see WIDGETS section for more details) each one identified by its
140 name.
142 position::
143     Default statusbar position.
144 height::
145     Statusbar height. By default, is auto computed with font size.
146 width::
147     Statusbar width. By default, it will be whole screen.
149 rules
150 ~~~~~
151 Rules is a section containing a rule list to automatically configure windows.
153 rule
154 ^^^^
155 Rule are sections containing the auto-configuration options for one window.
157 name::
158     Set the window name for name matching as a regular expression.
159 xproperty_name::
160     Set the name of the XProperty for XProperty matching.
161 xproperty_value::
162     Set the regular expression to match against the named XProperty's value.
163 float::
164     Set the window to be floating. One of auto, true or false. Defaults to auto.
165 master::
166     Set the window to be the master. One of auto, true or false. Defaults to
167     auto.
168 tags::
169     Set the tags to be assigned to the window as a regular expression.
170 screen::
171     Set the screen the window should show up on.
172 icon::
173     Set the window's icon.
174 opacity::
175     Set the window's opacity.
177 keys
178 ~~~~
179 Keys is the section to define your keybindings in. It may consist of multiple
180 key and keylist entries.
184 In a key section you define a single keybinding.
186 key::
187     The keysym you want to bind.
188 mod::
189     Modifiers that need to be pressed for this binding.
190 command::
191     The *uicb function* to call.
192 arg::
193     The argument to the *uicb function*, if needed.
195 keylist
196 ^^^^^^^
197 In a keylist you can define multiple very similar keybindings at once. For
198 example you can define <Mod1>-{1..9} to switch the view to tag 1..9
199 respectively.
201 keylist::
202     The list of keysyms to bind.
203 modkey::
204     Modifiers that need to be pressed for these bindings.
205 command::
206     The *uicb function* to call.
207 arglist::
208     The list of arguments to the *uicb function*, if needed. *Must* match the
209     length of *keylist*.
211 mouse
212 ~~~~~
213 In the mouse section you may define mouse button bindings for the root and
214 client windows.
216 client
217 ^^^^^^
218 Defines a mouse button binding for events on clients.
220 button::
221     The mouse button you want to bind.
222 modkey::
223     Modifiers that need to be pressed for this binding.
224 command::
225     The *uicb function* to call.
226 arg::
227     The argument to the *uicb function*, if needed.
229 root
230 ^^^^
231 Defines a mouse button binding for events on the root window.
233 button::
234     The mouse button you want to bind.
235 modkey::
236     Modifiers that need to be pressed for this binding.
237 command::
238     The *uicb function* to call.
239 arg::
240     The argument to the *uicb function*, if needed.
242 UICB FUNCTIONS
243 --------------
245 In awesome, a lot of *functions* are available. These functions are called
246 uicb (User Interface Call Backs). Each function can be bound to a key shortcut
247 or a mouse button.
249 General
250 ~~~~~~~
251 *quit*::
252     This function quits awesome.
253 *statusbar_toggle* statusbar-identifier::
254     Hide or show statusbar (with no argument, toggle all).
255 *spawn* client::
256     Execute an external program.
257 *exec* program::
258     Replace awesome with another window manager.
259 *restart*::
260     Restart awesome.
261 *widget_tell* widget-identifier data::
262     Feed information to your widgets.
264 Client
265 ~~~~~~
266 *client_kill*::
267     Closes the focused client.
268 *client_moveresize* x y width height::
269     Dynamically move and resize floating windows.
270     Coordinates can be relative or absolute. Relative values must begin with + or -.
271     E.g: to move a window 10 pixels up: "+0 \+10 +0 +0" To move a window
272     in the upper left corner and increase its width by 10px: "0 0 \+0 +10"
273 *client_settrans* float::
274     Set client transparency, number can be a relative or absolute floating number in percentage.
275 *client_swapnext*::
276     Swap window placement with the next displayed window.
277 *client_swapprev*::
278     Swap window placement with the previous displayed window.
279 *client_focusnext*::
280     Focus next window.
281 *client_focusprev*::
282     Focus previous window.
283 *client_togglemax*::
284     Set window fullscreen. Calling this function another time will reset the window to its previous state.
285 *client_togglehorizontalmax*::
286     Set window's horizontal size to display width. Calling another time will reset the window to its previous state.
287 *client_toggleverticalmax*::
288     Set window's vertical size to display height. Calling another time will reset the window to its previous state.
289 *client_togglefloating*::
290     Set window floating or tiled.
291 *client_zoom*::
292     Set window as master window.
293 *client_movetoscreen* relative or absolute integer::
294     Move focused window to the nth screen, or next (+1) or previous (-1). If no screen_number is set, move to the next screen.
295 *client_tag* tag number::
296     Tag focused window with this tag.
297 *client_toggletag*::
298     Add or remove tag to focused window.
299 *client_movemouse*::
300     Move client window with mouse.
301 *client_resizemouse*::
302     Resize client window with mouse.
303 *client_setscratch*::
304     Set or unset client as being the scratch window.
305 *client_togglescratch*::
306     Toggle scratch window.
307 *client_toggletitlebar*::
308     Toggle window titlebar.
312 *tag_setlayout* relative or absolute integer::
313     Set layout number; or just switch to the next layout for current tag.
314 *tag_toggleview* tag::
315     Add windows tagged with tag number to current display.
316 *tag_view* tag number::
317     View windows tagged with tag number.
318 *tag_viewnext*::
319     Show windows tagged with next tag in list.
320 *tag_viewprev*::
321     Show windows tagged with previous tag in list.
322 *tag_prev_selected*::
323     Switch back to the previously displayed set of tags.
324 *tag_setmwfact* relative or absolute float::
325     Set master width factor.
326 *tag_setncol* relative or absolute integer::
327     Set number of columns for non-master windows.
328 *tag_setnmaster* relative or absolute integer::
329     Set number of master windows.
330 *tag_create* name::
331     Create a new tag with that name.
333 Focus
334 ~~~~~
335 *focus_client_byname* string::
336     Give client focus by its name.
337 *focus_history* negative number::
338     Focus the client that had focused nth focus switch earlier.
340 Screen
341 ~~~~~~
342 *screen_focus* relative or absolute integer::
343     Select Screen and focus first window and move mouse.
345 WIDGETS
346 -------
347 Statusbars can be customized by modifying widgets names, order and options.
349 taglist
350 ~~~~~~~
351 This widget shows the tag list.
353 *mouse*::
354     Set mouse bindings.
355 *x*::
356     Horizontal offset (auto-alignment if not set).
357 *y*::
358     Vertical offset (auto-alignment if not set).
359 *align*::
360     Widget alignment.
362 layoutinfo
363 ~~~~~~~~~~
364 This widget shows a icon for the selected layout.
366 *mouse*::
367     Set mouse bindings.
368 *x*::
369     Horizontal offset (auto-alignment if not set).
370 *y*::
371     Vertical offset (auto-alignment if not set).
372 *align*::
373     Widget alignment.
375 focusicon
376 ~~~~~~~~~
377 This widget shows a icon for the focused window  using NET_WM_ICON or icon file set in rule.
379 *mouse*::
380     Set mouse bindings.
381 *x*::
382     Horizontal offset (auto-alignment if not set).
383 *y*::
384     Vertical offset (auto-alignment if not set).
385 *align*::
386     Widget alignment.
388 tasklist
389 ~~~~~~~~
390 This widget shows a list of running windows.
392 *mouse*::
393     Set mouse bindings.
394 *styles*::
395     Style section with normal, focus and urgent subsections.
396 *text_align*::
397     Text alignement.
398 *show_icons*::
399     Show applications icons.
400 *show*::
401     Show all windows from all tags, tags clients only or focused client.
402 *x*::
403     Horizontal offset (auto-alignment if not set).
404 *y*::
405     Vertical offset (auto-alignment if not set).
407 textbox
408 ~~~~~~~
409 This widget shows a text.
411 *mouse*::
412     Set mouse bindings.
413 *width*::
414     Set width.
415 *style*::
416     Style section with <style section>
417 *text*::
418     Text to change.
419 *text_align*::
420     Text alignement.
421 *x*::
422     Horizontal offset (auto-alignment if not set).
423 *y*::
424     Vertical offset (auto-alignment if not set).
425 *align*::
426     Widget alignment.
428 iconbox
429 ~~~~~~~
430 This widget shows an icon.
432 *mouse*::
433     Set mouse bindings.
434 *image*::
435     Image file.
436 *resize*::
437     Resize icon to fit into statusbar.
438 *x*::
439     Horizontal offset (auto-alignment if not set).
440 *y*::
441     Vertical offset (auto-alignment if not set).
442 *align*::
443     Widget alignment.
445 progressbar
446 ~~~~~~~~~~~
447 This widget shows one or more progress-bars.
449 *data*::
450     Draws a bar for each data section;
451     Options: reverse, fg, fg_center, fg_end, bg, bordercolor.
452 *reverse*::
453     Reverse/mirror the bar.
454 *fg*::
455     Foreground color.
456 *fg_center*::
457     Foreground color in the center of the bar (as gradient).
458 *fg_end*::
459     Foreground color at the end of a bar (as gradient).
460 *bg*::
461     Background color.
462 *bordercolor*::
463     Border color.
464 *mouse*::
465     Set mouse bindings.
466 *width*::
467     Set width.
468 *height*::
469     Set height (i.e. 0.9 = 90%)
470 *padding*::
471     Empty space on both sides.
472 *vertical*::
473     Draw the bar(s) vertically/standing up.
474 *x*::
475     Horizontal offset (auto-alignment if not set).
476 *y*::
477     Vertical offset (auto-alignment if not set).
478 *align*::
479     Widget alignment.
481 graph
482 ~~~~~
483 This widget shows a graph.
485 *data*::
486     Defines a data-stream section;
487     Options: max, scale, fg, fg_center, fg_end and draw_style.
488 *max*::
489     This value prints a full graph (default = 100).
490 *scale*::
491     Re-scales when input > max (see below).
492 *fg*::
493     Foreground color.
494 *fg_center*::
495     Foreground color in the center of the bar (as gradient).
496 *fg_end*::
497     Foreground color at the end of a bar (as gradient).
498 *vertical_gradient*
499     If true, create a gradient from 0 > full instead of new > old values
500 *draw_style*::
501     bottom (fills from bottom to top), top, or line.
502 *mouse*::
503     Set mouse bindings.
504 *width*::
505     Set width.
506 *height*::
507     Set height (i.e. 0.9 = 90%).
508 *padding_left*::
509     Empty space on the left.
510 *grow*::
511     Put new values onto the 'left' or 'right'.
512 *bg*::
513     Background color.
514 *bordercolor*::
515     Border color.
516 *x*::
517     Horizontal offset (auto-alignment if not set).
518 *y*::
519     Vertical offset (auto-alignment if not set).
520 *align*::
521     Widget alignment.
523 FORMAT
524 ------
525 Here is the global configuration file format, with a list of options
526 and possible values.
528 ..............................................
529 Note: when there is no whitespace, quotes are optional.
531 <boolean>       -> "true" or "false"
532 <color>         -> #ff9933 (hexadecimal color notation: #red green blue)
533 <float>         -> 0.3, 0,8 (often values between 0 and 1 are useful)
534 <font>          -> Pango font: sans 10, sans italic 10, fixed 12, ...
535 <identifier>    -> foobar (choose a name/string)
536 <image>         -> "/home/awesome/pics/icon.png" (path to image)
537 <integer>       -> 1, 10, -3 (positive numbers are required mostly)
538 <key>           -> a, 1, F10 (see /usr/include/X11/keysymdef.h w/o XK_ or 'xev')
539                    or a keycode beginning with #
540 <mod>           -> "Mod1", "Mod4", "Control" (modifiers)
541 <regex>         -> regular expression
542 <string>        -> "foo bar"
543 <uicb-arg>      -> prog, 3... (argument to a uicb function, where required)
544 <uicb-cmd>      -> spawn, exec, client_tag... (see UICB FUNCTIONS above)
545 <position>      -> list of position: off, top, right, left, bottom, auto
546 <{.., ...}>     -> list of available options
547 <style section> -> a section with font, fg, bg, border, shadow and shadow_offset options.
548                    { font = <font> fg = <color> bg = <color> border = <color>
549                      shadow = <color> shadow_offset = <integer> }
550 <titlebar>      -> a section with position and icon position.
551                    { position = <position> icon = <position> text_align = <{center,right,left}>
552                      height = <integer> width = <integer> styles { } }
554 [MULTI] means, you can use an item multiple times.
557 screen <integer> [MULTI]
559     general
560     {
561         border = <integer>
562         new_become_master = <boolean>
563         new_get_focus = <boolean>
564         opacity_unfocused = <integer>
565         opacity_focused = <integer>
566         resize_hints = <boolean>
567         sloppy_focus = <boolean>
568         sloppy_focus_raise = <boolean>
569         snap = <integer>
570         floating_placement = <{smart,under_mouse}>
571         mwfact_lower_limit = <float>
572         mwfact_upper_limit = <float>
573     }
574     titlebar
575     {
576         <titlebar>
577     }
578     tags
579     {
580         tag <identifier> [MULTI]
581         {
582             layout = <{dwindle,floating,max,
583                      spiral,tile,tileleft,tilebottom,tiletop}>
584             mwfact = <float>
585             nmaster = <integer>
586             ncol = <integer>
587         }
588     }
589     layouts
590     {
591         layout <{dwindle,floating,max,
592                  spiral,tile,tileleft,
593                  tilebottom,tiletop}> { image = <image> } [MULTI]
594     }
595     styles
596     {
597         normal { <style section> }
598         focus { <style section> }
599         urgent { <style section> }
600     }
601     padding
602     {
603         top = <integer>
604         bottom = <integer>
605         left = <integer>
606         right = <integer>
607     }
608     statusbar <identifier> [MULTI]
609     {
610         position = <{top,bottom,left,right,off}>
611         height = <integer>
612         width = <integer>
614         taglist <identifier> [MULTI]
615         {
616             x = <integer> y = <integer>
617             align = <{auto,right,left}>
618             mouse [MULTI]
619             {
620                 button = <integer> modkey = {<mod>, ...}
621                 command = <uicb-cmd> arg = <uicb-arg>
622             }
623         }
624         layoutinfo <identifier>
625         {
626             x = <integer> y = <integer>
627             align = <{auto,right,left}>
628             mouse [MULTI]
629             {
630                 button = <integer> modkey = {<mod>, ...}
631                 command = <uicb-cmd> arg = <uicb-arg>
632             }
633         }
634         focusicon <identifier>
635         {
636             x = <integer> y = <integer>
637             align = <{auto,right,left}>
638             mouse [MULTI]
639             {
640                 button = <integer> modkey = {<mod>, ...}
641                 command = <uicb-cmd> arg = <uicb-arg>
642             }
643         }
644         tasklist <identifier>
645         {
646             styles
647             {
648                 normal { <style section> }
649                 focus { <style section> }
650             }
651             show_icons = <boolean>
652             show = <{all,tags,focus}>
653             text_align = <{center,left,right}>
654             x = <integer> y = <integer>
655             mouse [MULTI]
656             {
657                 command = <uicb-cmd> arg = <uicb-arg>
658                 button = <integer> modkey = {<mod>, ...}
659             }
660         }
661         textbox <identifier> [MULTI]
662         {
663             style { <style section> }
664             text = <string>
665             width = <integer>
666             text_align = <{center,left,right}>
667             x = <integer> y = <integer>
668             align = <{auto,right,left}>
669             mouse [MULTI]
670             {
671                 button = <integer> modkey = {<mod>, ...}
672                 command = <uicb-cmd> arg = <uicb-arg>
673             }
674         }
675         iconbox <identifier> [MULTI]
676         {
677             image = <image>
678             resize = <boolean>
679             x = <integer> y = <integer>
680             align = <{auto,right,left}>
681             mouse [MULTI]
682             {
683                 button = <integer> modkey = {<mod>, ...}
684                 command = <uicb-cmd> arg = <uicb-arg>
685             }
686         }
687         progressbar <identifier> [MULTI]
688         {
689             data [MULTI]
690             {
691                 reverse = <boolean> bg = <color> bordercolor = <color>
692                 fg = <color> fg_center = <color> fg_end = <color>
693             }
694             gap = <integer>
695             width = <integer>
696             height = <float>
697             padding = <integer>
698             vertical = <boolean>
699             x = <integer> y = <integer>
700             align = <{auto,right,left}>
701             mouse [MULTI]
702             {
703                 button = <integer> modkey = {<mod>, ...}
704                 command = <uicb-cmd> arg = <uicb-arg>
705             }
706         }
707         graph <identifier> [MULTI]
708         {
709             data [MULTI]
710             {
711                 scale = <boolean> max = <float> draw_style = <{bottom, top, line}>
712                 fg = <color> fg_center = <color> fg_end = <color>
713                 vertical_gradient = <boolean>
714             }
715             width = <integer>
716             height = <float>
717             padding_left = <integer>
718             grow = <{left, right}>
719             bg = <color>
720             bordercolor = <color>
721             x = <integer> y = <integer>
722             align = <{auto,right,left}>
723             mouse [MULTI]
724             {
725                 button = <integer> modkey = {<mod>, ...}
726                 command = <uicb-cmd> arg = <uicb-arg>
727             }
728         }
729     }
731 rules
733     rule [MULTI]
734     {
735         name = <regex>
736         xproperty_name = <string>
737         xproperty_value = <regex>
738         float = <{auto,true,false}>
739         master = <{auto,true,false}>
740         tags = <regex>
741         screen = <integer>
742         icon = <image>
743         opacity = <float>
744         titlebar
745         {
746             <titlebar>
747         }
748     }
750 keys
752     key [MULTI]
753     {
754         key = <key> modkey = {<mod>, ...}
755         command = <uicb-cmd> arg = <uicb-arg>
756     }
757     keylist [MULTI]
758     {
759         keylist = {<key>, ...}
760         modkey = {<mod>, ...}
761         command = <uicb-cmd>
762         arglist = {<uicb-arg>, ...}
763     }
765 mouse
767     client [MULTI]
768     {
769         button = <integer> modkey = {<mod>, ...}
770         command = <uicb-cmd> arg = <uicb-arg>
771     }
772     root [MULTI]
773     {
774         button = <integer> modkey = {<mod>, ...}
775         command = <uicb-cmd> arg = <uicb-arg>
776     }
778 ..............................................
780 EXAMPLES
781 --------
783 Check awesome's wiki: http://awesome.naquadah.org/wiki/
785 Simple textbox example
786 ~~~~~~~~~~~~~~~~~~~~~~
787 ..............................................
788 1. Add an include directive into ~/.awesomerc
790     screen 0 {
791         include(~/.awesome/bottom-status-bar)
793 2. Create ~/.awesome/bottom-status-bar
795     statusbar "bottom"
796     {
797         position = "bottom"
798         textbox "clock" { }
799     }
801 3. Check the configuration file for errors
803     $ awesome -k
804     Configuration file OK.
806     Note: If you see anything other than "Configuration file OK." you have a
807     typo somewhere.
809 4. Create ~/bin/awesome-clock
811     #!/bin/sh
812     while true
813     do
814       echo "0 widget_tell clock text `date`"
815       echo "" # an empty line flushes data inside awesome
816       sleep 1
817     done | awesome-client
819     Note: What we're saying is "awesome-client, tell widget 'clock' to set
820     it's 'text' property to date's output".
822 5. Make your ~/bin/awesome-clock executable
824    $ chmod a+x ~/bin/awesome-clock
826 6. Modify ~/.xinitrc
828     ~/bin/awesome-clock &
829     exec awesome
831 7. Restart awesome
833 8. If your didn't get what you were expecting, take a look at
834    ~/.xsession-errors or the terminal where X got started.
835 ..............................................
837 Simple progressbar example
838 ~~~~~~~~~~~~~~~~~~~~~~~~~~
839 ..............................................
841 1. Add an include directive into ~/.awesomerc
843     screen 0
844     {
845         include(~/.awesome/bottom-status-bar)
846     }
848 2. Create ~/.awesome/bottom-status-bar
850     progressbar diskusage
851     {
852         data "disk"
853         {
854             bordercolor = "#006e96"
855             bg          = "#000000"
856             fg          = "#ff0000"
857             fg_center   = "#daaf0a"
858             fg_end      = "#00ff00"
859         }
860         width = 100
861         align = "left"
862     }
864 3. Check the configuration file for errors
866     $ awesome -k
867     Configuration file OK.
869     Note: If you see anything other than "Configuration file OK," you have a
870     typo somewhere.
872 4. Create ~/bin/awesome-diskusage
874     #!/bin/sh
875     while true; do
876         usage = `df /dev/sda5 | awk '/\/dev\/sda5/ { print 100-$5 }'`
877         echo "0 widget_tell diskusage data disk ${usage}"
878         echo "" # an empty line flushes data inside awesome
879         sleep 600;
880     done | awesome-client
883     Note: What we're saying is "awesome-client, tell widget 'diskusage' to
884     set it's 'data' property named 'disk' to ${usage}."
886 5. Make ~/bin/awesome-diskusage executable
888 $ chmod a+x ~/bin/awesome-diskusage
890 6. Modify ~/.xinitrc
892     ~/bin/awesome-diskusage &
893     exec awesome
895 7. Restart awesome
897 8. If your didn't get what you were expecting, take a look at
898    ~/.xsession-errors or the terminal where X got started.
899 ..............................................
902 SEE ALSO
903 --------
904 awesome(1) awesome-client(1)
907 AUTHORS
908 -------
909 This man page was written by Julien Danjou <julien@danjou.info>, Marco Candrian <mac@calmar.ws>
910 and Chris Ciulla <chris.ciulla@gmail.com> (Simple Examples).
914 http://awesome.naquadah.org