Simplifying parsing and data structure building
[xmenu] / xmenu.1
diff --git a/xmenu.1 b/xmenu.1
index 0e830d2..d114668 100644 (file)
--- a/xmenu.1
+++ b/xmenu.1
@@ -3,7 +3,6 @@
 xmenu \- menu utility for X
 .SH SYNOPSIS
 .B xmenu
 xmenu \- menu utility for X
 .SH SYNOPSIS
 .B xmenu
-.RB [ \-w ]
 .SH DESCRIPTION
 .B xmenu
 is a menu for X,
 .SH DESCRIPTION
 .B xmenu
 is a menu for X,
@@ -11,30 +10,26 @@ it reads a list of newline-separated items from stdin,
 shows a menu for the user to select one of the items,
 and outputs the item selected to stdout.
 .PP
 shows a menu for the user to select one of the items,
 and outputs the item selected to stdout.
 .PP
-The options are as follows:
-.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.
-.PP
 Each item read from stdin has the following format:
 .IP
 .EX
 Each item read from stdin has the following format:
 .IP
 .EX
-ITEM := TABS LABEL TABS COMMAND NEWLINE
+ITEM := [TABS] [LABEL [TABS OUTPUT]] NEWLINE
 .EE
 .PP
 .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 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.
 .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 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
 .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.
 .SH USAGE
 .IP
 The newline terminates the item specification.
 .SH USAGE
@@ -88,24 +83,26 @@ The color of the separator between itens in the menu.
 .B xmenu.width
 The minimum width, in pixels, of the items in the menu.
 .TP
 .B xmenu.width
 The minimum width, in pixels, of the items in the menu.
 .TP
-.B xmenu.itemborder
-The size in pixels of the border around the label text in items in the menu.
+.B xmenu.padding
+The size in pixels of the padding around the label text in items in the menu.
 .TP
 .TP
-.B xmenu.menuborder
+.B xmenu.borderWidth
 The size in pixels of the border around the menu.
 .TP
 The size in pixels of the border around the menu.
 .TP
-.B xmenu.separatorsize
+.B xmenu.separatorWidth
 The size in pixels of the item separator.
 
 .SH EXAMPLES
 The size in pixels of the item separator.
 
 .SH EXAMPLES
-The following is an script exemplifying the use
+The following is an script exemplifying the use of
 .BR xmenu .
 .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
 
 .IP
 .EX
 #!/bin/sh
 
-cat <<EOF | xmenu | xargs sh -c
+cat <<EOF | xmenu | sh &
 Applications
        Web Browser     firefox
        Image editor    gimp
 Applications
        Web Browser     firefox
        Image editor    gimp