.TH GSMENU 1 gsmenu\-4.0 .SH NAME gsmenu \- grid menu .SH SYNOPSIS .nh gsmenu [Sindre options...] .SH DESCRIPTION .SS Overview gsmenu is a generic grid menu for X11, originally a port of the GridSelect contrib for XMonad. Now it is a program built on Sindre. It displays elements as a grid of rectangular cells. gsmenu always uses the display indicated in the DISPLAY environment variable. .SS Options No options are accepted apart from those provided by .IR sindre (1). .SH USAGE gsmenu reads a list of newline-separated elements from standard input and presents them in a grid. Each element has a foreground and a background colour, as well as a name (what will be visible on the screen) and a list of tags that are used only for filtering. .SS INPUT FORMAT The standard Sindre key-value format is used. Each line takes the form of key-value pairs, with the key being a sequence of alphanumerics, followed by an equals sign, followed by a value in double quotes (double-quotes can be embedded by doubling them). For example, an element might be .nf name="foo" bg="red" .fi And a list-value can be given by simply writing more double-quoted strings (this also showcases double quote-escaping): .nf name="quote ""this"" please" tags="bar" "baz" bg="red" .fi The following keys are defined: .TP .B name The string that will be displayed in the grid. The value can also be a list, in which case each part of the list will be printed as a line by itself (note that there will probably not be room for more than two lines). Also, only the first line will count as the "name" as far as selection output is concerned. .TP .B fg The foreground (text) colour of the element (#RGB, #RRGGBB, and color names are supported). .TP .B bg The background colour of the element (#RGB, #RRGGBB, and color names are supported). .TP .B tags A list of tags of the element, used when filtering. .TP .B value Instead of the name, print the value of this key when the element is selected. If a list, a newline is printed after every element but the last. .SS INTERACTION When the user moves focus to an element and presses Return, that element is selected and is printed to standard output and gsmenu terminates. Elements can also be selected by clicking on them with the mouse. Additionally, the following keyboard commands are recognised: .TP .B Any printable character Appends the character to the text in the input field. This works as a filter: only items containing this text (possibly in a tag) will be displayed. .TP .B Backspace Remove the last character in the input field, or if empty, open the topmost filter for editing. .TP .B Left/Right/Up/Down (CTRL\-b/CTRL-f/CTRL\-p/CTRL\-n) Move focus in the grid. .TP .B CTRL\-a Set focus to the leftmost element in the row. .TP .B CTRL\-e Set focus to the rightmost element in the row. .TP .B CTRL\-s Focus on the next element following a spiral path from the center. .TP .B CTRL\-r Focus on the previous element following a spiral path from the center. .TP .B CTRL\-w Remove the topmost filter, if any. .TP .B Escape, CTRL\-c, CTRL\-g Cancel selection and exit gsmenu. .SH EXIT STATUS gsmenu returns a .B 0 exit status on success, .B 1 if there was an internal problem, and .B 2 if the user cancelled. .SH SEE ALSO .IR sindre (1), .IR dmenu (1), .IR xmonad (1)