add daemon/root mode (-x and -X); finally fix #28
[xmenu] / xmenu.1
diff --git a/xmenu.1 b/xmenu.1
index 73a95f6..e6a9018 100644 (file)
--- a/xmenu.1
+++ b/xmenu.1
@@ -3,7 +3,9 @@
 xmenu \- menu utility for X
 .SH SYNOPSIS
 .B xmenu
 xmenu \- menu utility for X
 .SH SYNOPSIS
 .B xmenu
-.RB [ \-iw ]
+.RB [ \-irw ]
+.RB [ -p
+.IR position ]
 .RI [ title ]
 .SH DESCRIPTION
 .B xmenu
 .RI [ title ]
 .SH DESCRIPTION
 .B xmenu
@@ -16,17 +18,97 @@ The options are as follows:
 .TP
 .B -i
 Disable icons.
 .TP
 .B -i
 Disable icons.
+This makes xmenu loading faster when not using icons.
+.TP
+.BI -p " position"
+Set the position to spawn xmenu.
+Without this option, xmenu spawns next to the cursor.
+.I position
+is a string of the form
+.BR INTxINT[:MONITOR] ,
+where the first INT is the x position and the second INT is the y position.
+The monitor part between brackets is optional.
+.B MONITOR
+can be a number from 0 to the number of monitors minus 1;
+or it can be a string like
+.B current
+or
+.BR cursor .
+If present, the monitor specifies that the position is relative to the upper left corner
+of that monitor.
+If
+.B monitor
+is
+.B current
+or
+.BR cursor ,
+the monitor to be used is that where the cursor is in.
+For example,
+.B -p 0x0:cursor
+specifies that
 .B xmenu
 .B xmenu
-allocates a space at the left side of the menu for the icons;
-if there is no icon, then this space will be blank.
-Setting the
-.B -i
-option removes this space, making the menu narrower.
+must spawn at the position 0x0 of the monitor where the cursor is in.
+And
+.B -p 100x500:0
+specifies that
+.B xmenu
+must spawn at the position 100x500 of the monitor 0.
+.TP
+.B -r
+If this option is set, the right mouse button is disabled;
+so pressing it will not trigger any menu item.
 .TP
 .B -w
 Asks the window manager to draw a border around the menus.
 This option may be buggy in some window managers,
 specially tiled ones that do not respect window hints.
 .TP
 .B -w
 Asks the window manager to draw a border around the menus.
 This option may be buggy in some window managers,
 specially tiled ones that do not respect window hints.
+.TP
+\fB\-x\fP [\fImod\fP-]\fIbutton\fP
+This option requires an argument of the form
+\fImod\fP-\fIbutton\fP or \fIbutton\fP; where
+.I mod
+is
+.B Mod1
+to
+.BR Mod5 ,
+or
+.B Alt
+(equivalent to
+.BR Mod1 ),
+or
+.B Super
+(equivalent to
+.BR Mod4 );
+and
+.I button
+is the number of a mouse button.
+When this option is used,
+.B pmenu
+listens to button presses on the root window,
+and shows the pie menu when the given button is pressed,
+together with the given modifier,
+on the root window.
+For example, invoking
+.B pmenu
+with the option
+.B -x Super-3
+makes a menu open when clicking with the third mouse button on the root window,
+or when clicking with the third mouse button together with the Super (Mod4) modifier on any window.
+This option makes
+.B pmenu
+run continuously;
+so it should be used when
+.B pmenu
+is invoked in background on a X startup file (like
+.BR "~/.xinitrc" ).
+.TP
+\fB\-X\fP [\fImod\fP-]\fIbutton\fP
+Just like
+.BR \-x ,
+but also pass the click to the root window
+(for the window manager to use it, for example).
+This option is incompatible with
+.BR \-x .
 .PP
 Each item read from stdin has the following format:
 .IP
 .PP
 Each item read from stdin has the following format:
 .IP
@@ -64,13 +146,29 @@ is controlled by the mouse,
 but can also be controlled by the keyboard.
 Items can be selected using the arrow keys,
 Tab (with and without Shift),
 but can also be controlled by the keyboard.
 Items can be selected using the arrow keys,
 Tab (with and without Shift),
-Enter and Esc.
+Home, End,
+Enter and Esc, and 1-9 keys.
+Items can also be selected by typing the first several characters in it.
+.TP
+.BR Home
+Select the first item in the menu.
 .TP
 .TP
-.BR Down ", " Tab
+.BR End
+Select the last item in the menu.
+.TP
+.BR Down
 Cycle through the items in the regular direction.
 .TP
 Cycle through the items in the regular direction.
 .TP
-.BR Up ", " Shift-Tab
+.BR Tab
+Cycle through the items in the regular direction.
+When the type\-to\-select feature is active, cycle through matching items instead.
+.TP
+.BR Up
+Cycle through the items in the reverse direction.
+.TP
+.BR Shift-Tab
 Cycle through the items in the reverse direction.
 Cycle through the items in the reverse direction.
+When the type\-to\-select feature is active, cycle through matching items instead.
 .TP
 .BR Right ", " Enter
 Select the highlighted item.
 .TP
 .BR Right ", " Enter
 Select the highlighted item.
@@ -80,6 +178,14 @@ Go to the menu above.
 .TP
 .B Esc
 Go to the menu above or exit xmenu.
 .TP
 .B Esc
 Go to the menu above or exit xmenu.
+.PP
+.B xmenu
+features the type\-to\-select selecting style,
+where typing a string will select the first item matching it.
+.PP
+Additional key bindings can be set at compile time by changing the
+.B config.h
+file.
 .SH RESOURCES
 .B
 xmenu
 .SH RESOURCES
 .B
 xmenu
@@ -87,6 +193,8 @@ understands the following X resources.
 .TP
 .B xmenu.font
 The font in which the labels should be drawn.
 .TP
 .B xmenu.font
 The font in which the labels should be drawn.
+Multiple fonts can be added as fallback fonts;
+they must be separated by a comma.
 .TP
 .B xmenu.background
 The background color of non-selected items in the menu.
 .TP
 .B xmenu.background
 The background color of non-selected items in the menu.
@@ -120,7 +228,15 @@ The size in pixels of the border around the menu.
 .TP
 .B xmenu.separatorWidth
 The size in pixels of the item separator.
 .TP
 .B xmenu.separatorWidth
 The size in pixels of the item separator.
-
+.TP
+.B xmenu.alignment
+If set to
+.BR "\(dqleft\(dq" ,
+.BR "\(dqcenter\(dq" ,
+or
+.BR "\(dqright\(dq" ,
+text is aligned to the left, center, or right of the menu, respectively.
+By default, text is aligned to the left.
 .SH EXAMPLES
 The following script illustrates the use of
 .BR xmenu .
 .SH EXAMPLES
 The following script illustrates the use of
 .BR xmenu .
@@ -131,7 +247,7 @@ creating a command to be run by the shell.
 .EX
 #!/bin/sh
 
 .EX
 #!/bin/sh
 
-cat <<EOF | xmenu | sh &
+xmenu <<EOF | sh &
 Applications
        IMG:./web.png   Web Browser     firefox
        IMG:./gimp.png  Image editor    gimp
 Applications
        IMG:./web.png   Web Browser     firefox
        IMG:./gimp.png  Image editor    gimp