xmenu \- menu utility for X
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.
Each item read from stdin has the following format:
ITEM := [TABS] [LABEL [TABS OUTPUT]] 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.
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.
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.
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.
The newline terminates the item specification.
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),
Cycle through the items in the regular direction.
Cycle through the items in the reverse direction.
Select the highlighted item.
Go to the menu above or exit xmenu.
understands the following X resources.
The font in which the labels should be drawn.
The background color of non-selected itens in the menu.
The color of the label text of non-selected itens in the menu.
The background color of selected itens in the menu.
The color of the label text of selected itens in the menu.
The color of the border around the menu.
The color of the separator between itens in the menu.
The minimum width, in pixels, of the items in the menu.
The size in pixels of the padding around the label text in items in the menu.
The size in pixels of the border around the menu.
The size in pixels of the item separator.
The following is an script exemplifying the use of
The output is redirected to
creating a command to be run by the shell.
For example, by selecting \(lqApplications\(rq, a new menu will appear.
Selecting \(lqWeb Browser\(rq in the new menu will open firefox.