|
|
| |
XMENU(1) |
FreeBSD General Commands Manual |
XMENU(1) |
xmenu - menu utility for X
xmenu [-irw] [-p position] [title]
xmenu is a menu 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.
The options are as follows:
- -i
- Disable icons. This makes xmenu loading faster when not using icons.
- -p position
- Set the position to spawn xmenu. Without this option, xmenu spawns next to
the cursor. position is a string of the form
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. MONITOR can be a number from 0 to the number of monitors
minus 1; or it can be a string like current or cursor. If
present, the monitor specifies that the position is relative to the upper
left corner of that monitor. If monitor is current or
cursor, the monitor to be used is that where the cursor is in. For
example, -p 0x0:cursor specifies that xmenu must spawn at
the position 0x0 of the monitor where the cursor is in. And -p
100x500:0 specifies that xmenu must spawn at the position
100x500 of the monitor 0.
- -r
- If this option is set, the right mouse button is disabled; so pressing it
will not trigger any menu item.
- -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.
Each item read from stdin has the following format:
-
ITEM := [TABS] [[IMAGE TABS] LABEL [TABS OUTPUT]] 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.
- 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 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.
- 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.
If the argument title is given, the title of the menu
window is set to it.
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), Home, End, Enter and Esc, and 1-9 keys. Items can also be selected by
typing the first several characters in it.
- Home
- Select the first item in the menu.
- End
- Select the last item in the menu.
- Down
- Cycle through the items in the regular direction.
- Tab
- Cycle through the items in the regular direction. When the type-to-select
feature is active, cycle through matching items instead.
- Up
- Cycle through the items in the reverse direction.
- Shift-Tab
- Cycle through the items in the reverse direction. When the type-to-select
feature is active, cycle through matching items instead.
- Right, Enter
- Select the highlighted item.
- Left
- Go to the menu above.
- Esc
- Go to the menu above or exit xmenu.
xmenu features the type-to-select selecting style, where
typing a string will select the first item matching it.
Additional key bindings can be set at compile time by changing the
config.h file.
xmenu understands the following X resources.
- 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.
- xmenu.background
- The background color of non-selected items in the menu.
- xmenu.foreground
- The color of the label text of non-selected items in the menu.
- xmenu.selbackground
- The background color of selected items in the menu.
- xmenu.selforeground
- The color of the label text of selected items in the menu.
- xmenu.border
- The color of the border around the menu.
- xmenu.separator
- The color of the separator between items in the menu.
- xmenu.gap
- The gap, in pixels, between the menus.
- xmenu.width
- The minimum width, in pixels, of the items in the menu.
- xmenu.height
- The size in pixels of the height of a single menu item.
- xmenu.borderWidth
- The size in pixels of the border around the menu.
- xmenu.separatorWidth
- The size in pixels of the item separator.
- xmenu.alignment
- If set to "left", "center", or
"right", text is aligned to the left, center, or right of
the menu, respectively. By default, text is aligned to the left.
The following script illustrates the use of xmenu. The output is
redirected to sh(1), creating a command to be run by the shell.
-
#!/bin/sh
cat <<EOF | xmenu | sh &
Applications
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
EOF
For example, by selecting “Applications”, a new menu
will appear. Selecting “Web Browser” in the new menu opens
firefox.
dmenu(1), 9menu(1), thingmenu(1)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |