.SH SYNOPSIS
.B xmenu
.RB [ \-w ]
+.RI [ title ]
.SH DESCRIPTION
.B xmenu
is a menu for X,
.TP
.B -w
Asks the window manager to draw a border around the menus.
-Without this options, the menus do not have border drawn by the window manager.
+This option may be buggy in some window managers, specially tiled ones.
.PP
Each item read from stdin has the following format:
.IP
.EX
-ITEM := TABS LABEL TABS COMMAND NEWLINE
+ITEM := [TABS] [[IMAGE TABS] LABEL [TABS OUTPUT]] NEWLINE
.EE
.PP
-That means, each item is composed by
-tabs, followed by a label, followed by more tabs, followed by a command,
-and ended by a newline.
+That means that each item is composed by
+tabs, followed by an optional image specification, followed by tabs
+followed by a label, followed by more tabs, followed by an output,
+and ended by a newline. Brackets group optional elements.
.IP
The initial tabs indicate the menu hierarchy:
items indented with a tab is shown in a submenu of the preceding item not indented.
+An item without initial tabs is a top-level item.
+.IP
+The image is a string of the form "IMG:/path/to/image.png".
+It specifies a image to be shown as icon at the left of the entry.
.IP
The label is the string that will be shown as a item in the menu.
An item without label is considered a separator and is drawn as a thin line in the menu
separating the item above from the item below.
.IP
-The command is the string that will be output after selecting the item.
+The output is the string that will be output after selecting the item.
+If an item does not have an output, its label is used as its output.
.IP
The newline terminates the item specification.
+.PP
+If the argument
+.I title
+is given, the title of the menu window is set to it.
+.SH USAGE
+.B xmenu
+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),
+Enter and Esc.
+.TP
+.BR Down ", " Tab
+Cycle through the items in the regular direction.
+.TP
+.BR Up ", " Shift-Tab
+Cycle through the items in the reverse direction.
+.TP
+.BR Right ", " Enter
+Select the highlighted item.
+.TP
+.B Left
+Go to the menu above.
+.TP
+.B Esc
+Go to the menu above or exit xmenu.
+.SH RESOURCES
+.B
+xmenu
+understands the following X resources.
+.TP
+.B xmenu.font
+The font in which the labels should be drawn.
+.TP
+.B xmenu.background
+The background color of non-selected itens in the menu.
+.TP
+.B xmenu.foreground
+The color of the label text of non-selected itens in the menu.
+.TP
+.B xmenu.selbackground
+The background color of selected itens in the menu.
+.TP
+.B xmenu.selforeground
+The color of the label text of selected itens in the menu.
+.TP
+.B xmenu.border
+The color of the border around the menu.
+.TP
+.B xmenu.separator
+The color of the separator between itens in the menu.
+.TP
+.B xmenu.width
+The minimum width, in pixels, of the items in the menu.
+.TP
+.B xmenu.padding
+The size in pixels of the padding around the label text in items in the menu.
+.TP
+.B xmenu.borderWidth
+The size in pixels of the border around the menu.
+.TP
+.B xmenu.separatorWidth
+The size in pixels of the item separator.
+
.SH EXAMPLES
-The following is an script exemplifying the use
+The following script illustrates the use of
.BR xmenu .
-The output is redirected to xargs to make a command to be run by the shell.
+The output is redirected to
+.IR sh (1),
+creating a command to be run by the shell.
.IP
.EX
#!/bin/sh
-cat <<EOF | ./xmenu | xargs sh -c
+cat <<EOF | xmenu | sh &
Applications
- Web Browser firefox
- Image editor gimp
-Terminal (xterm) xterm
-Terminal (urxvt) urxvt
-Terminal (st) st
+ IMG:./web.png Web Browser firefox
+ IMG:./gimp.png Image editor gimp
+Terminal (xterm) xterm
+Terminal (urxvt) urxvt
+Terminal (st) st
-Shutdown poweroff
-Reboot reboot
+Shutdown poweroff
+Reboot reboot
EOF
.EE
.PP
For example, by selecting \(lqApplications\(rq, a new menu will appear.
-Selecting \(lqWeb Browser\(rq in the new menu will open firefox.
+Selecting \(lqWeb Browser\(rq in the new menu opens firefox.
.SH SEE ALSO
.IR dmenu (1),
.IR 9menu (1),