JGMENU(1) JGMENU(1) (NAME) jgmenu - X11 (SYNOPSIS) jgmenu [--no-spawn] [--checkout=] [--config-file=] [--icon-size=] [--at-pointer] [--hide-on-startup] [--simple] [--vsimple] [--csv-file=] [--csv-cmd=] [--die-when-loaded] [--center] [--persistent] : jgmenu_run jgmenu_run init ~/.config/jgmenu/jgmenurc jgmenu_run init -i man jgmenututorial (DESCRIPTION) jgmenu Linux/BSD . CSV X11 . CSV : (1) () (2) (3) (4) (5) () : printf "Terminal,xterm\\nWeb Browser,firefox" | jgmenu --vsimple # . (source) @ (widget).SS " (Special Characters in fields)" , . : foo,"""^pipe(find . -printf `%f,display %p,%p\n')""" < > & description pango < > & < > & (escape) . " CSV (") . . """ """ . . (Markup) ^foo(bar) foo bar . bar inner value ( ) . description : sep() . inner value . inner value . command : ^tag() . ^tag(whatever) ^checkout() ^root() . item0.0 item0.1 submenu1,^checkout(1) submenu2,^root(2) ^tag(1) item1.0 item1.1 ^tag(2) item2.0 item2.1 ^checkout() inner value . ^root() inner value (root) . ^sub() . stay_alive=0 . : item0.0 item0.1 submenu1,^sub(echo "item1.0" | jgmenu --simple) ^back() (Check-out) ^term() ^pipe() (stdout) . ^filter() ^quit() .SS " (Icons)" : Terminal,xterm,utilities-terminal Firefox,firefox,firefox (OPTIONS) --no-spawn stdout . --checkout= . --config-file= . --icon-size= ( ). 0 . --at-pointer . --hide-on-startup . --simple tint2 ( Enter Escape) stdin. --vsimple --simple jgmenurc . --csv-file= ( CSV jgmenu). stdin . --csv-cmd= : jgmenu_run pmenu --die-when-loaded exit(0). . --center . --persistent persistent. . (USER INTERFACE) Up, Down / Left. Right / PgUp, PgDn / Home, End / Enter F5 F8 stderr F9 exit(1) F10 exit(0) Backspace . OR ( )..SH " (WIDGETS)" CSV jgmenu <<@>> (syntax) : @type,action,x,y,w,h,r,halign,valign,fgcol,bgcol,content type : rect fgcol search ( ) text . icon action . ^root() . x y w h r fgcol bgcol rrggbb #aa. fgcol auto color_norm_fg jgmenurc . content icon icon_path text halign valign . top left . (CONFIGURATION FILE) -config-file= XDG (XDG Base Directory Specification) . : o ${XDG_CONFIG_DIRS:-/etc/xdg} o ${XDG_CONFIG_HOME:-$HOME/.config} ~/.config/jgmenu/jgmenurc . ( ): o (config.c) o tint2rc ( TINT2_CONFIG ) o jgmenurc ( -config-file= ) o .SS (Syntax) # . : key = value . (Values) . : boolean 0 1 . 0 (false) 1 (true) . integer . (0-9) . . color #rrggbb aaa rr gg bb (00-ff) aaa (0-100) ( 100 0 .) #ff0000 100 #000088 50 50% . pathname . (~) $HOME . (Variables) verbosity = integer ( 0) : (0) (1) (2) (3) : (4) IPC : IPC JGMENU_VERBOSITY=4 stay_alive = boolean ( 1) 1 "exit" () "hide" () : escape. USR1 ("un-hide") . persistent = boolean ( 0) 1 : escape. ^quit() . hide_on_startup = boolean ( 0) 1 jgmenu "hidden" () . jgmenu killall -SIGUSR1 jgmenu . csv_cmd = string ( apps) CSV jgmenu jgmenu . apps pmenu lx ob . ( !). jgmenu stdin . : csv_cmd = lx csv_cmd = jgmenu_run lx --no-dirs csv_cmd = cat ~/mymenu.csv tint2_look = boolean ( 0) tint2rc . position_mode = (fixed | ipc | pointer | center) ( fixed) . fixed margin_{x,y} _NET_WORKAREA. ipc IPC . Inter-Process Communication . pointer _NET_WORKAREA edge_snap_x. center _NET_WORKAREA. menu_{v,h}align . edge_snap_x = integer ( 30) ( ) . at_pointer . terminal_exec = string ( x-terminal-emulator) ^term() terminal_args = string ( -e) . : x-terminal-emulator -e 'some_command with arguments'. terminal_args -e -e -e xterm -e . monitor = integer ( 0) 1 . 0 . hover_delay = integer ( 100) ( ) . hide_back_items = boolean ( 1) ^back() . 1 0 . columns = integer ( 1) tabs = integer ( 120) (tab) menu_margin_x = integer ( 0) (= X11) . _NET_WORKAREA menu_{v,h}align . menu_margin_y = integer ( 0) menu_margin_x menu_width = integer ( 200) . () . ( ) . menu_height_min = integer ( 0) . menu_height_min menu_height_max . . menu_height_max = integer ( 0) . menu_height_min menu_height_mode = (static | dynamic) ( static) static ^root() dynamic ^root() . menu_padding_top = ( 5) / menu_padding_right = ( 5) / menu_padding_bottom = ( 5) / menu_padding_left = ( 5) / menu_radius = ( 1) menu_border = ( 0) menu_halign = (left | right | center) ( left) . jgmenu _NET_WORKAREA freedesktop EWMH . _NET_WORKAREA . : openbox xfwm4 tint2 polybar. : awesome i3 bspwm plank menu_valign = (top | bottom | center) ( bottom) . menu_halign . menu_gradient_pos = (none | top | right | bottom | left | top_left | top_right | bottom_left | bottom_right ) ( none) . . color_menu_bg color_menu_bg_to (from) (to) . sub_spacing = ( 1) . . sub_padding_top = ( auto) menu_padding_top . auto menu_padding_* . sub_padding_right = ( auto) sub_padding_top . sub_padding_bottom = ( auto) sub_padding_top . sub_padding_left = ( auto) sub_padding_top . sub_hover_action = ( 1) ( multi-window ). item_margin_x = ( 3) . item_margin_y = ( 3) . item_height = ( 25) . item_padding_x = ( 4) ( ). item_radius = ( 1) . item_border = ( 0) . item_halign = (left | right) ( left) . right arrow_string . sep_height = ( 5) ( ^sep()). item_height . sep_halign = (left | center | right) ( left) . sep_markup = ( ) foo ^sep(foo) pango . pango : ( ): o font o size (x-small, small, medium, large, x-large) - style (normal, oblique, italic) o weight (ultralight, light, normal, bold, ultrabold, heavy o foreground ( #rrggbb ) o underline (none, single, double) : sep_markup = font="Sans Italic 12" foreground="blue" font = ( ) . font Cantarell 10 UbuntuCondensed 11 . points . px . "points" . font_fallback = ( xtg) icon_theme_fallback xsettings Gtk/FontName . icon_size = ( 22) . 0 . icon_text_spacing = ( 10) . icon_norm_alpha = ( 100) (0-100). icon_sel_alpha = ( 100) (0-100). icon_theme = ( ) . : Adwaita breeze Paper Papirus Numix. ls /usr/share/icons/ ( ) . icon_theme_fallback = ( xtg) . : x=xsettings Net/IconThemeName t=tint2 g=gtk3.0. icon_theme . tint2 xsettings tint2rc launcher_icon_theme_override 0 . arrow_string = ( ) . jgmenuunicode(7) . arrow_width = ( 15) arrow_string. 0 . search_empty_string = ( ) . color_menu_bg = ( #000000 100) . (from) ..TP color_menu_bg_to = color ( #000000 100) (to) - color_menu_border = color ( #eeeeee 8) color_norm_bg = color ( #000000 0) . color_norm_fg = color ( #eeeeee 100) () . color_sel_bg = color ( #ffffff 20) . color_sel_fg = color ( #eeeeee 100) () . color_sel_border = color ( #eeeeee 8) . color_sep_fg = color ( #ffffff 20) () color_title_fg = color ( #eeeeee 50) () . sep_markup color_title_bg = color ( #000000 0) . color_title_border = color ( #000000 0) . color_scroll_ind = color ( #eeeeee 40) ( ). CSV (CSV generator variables) csv_ CSV . csv_name_format = string ( %n (%g)) name CSV . apps lx . : %n %g . generic name name %n . csv_single_window = boolean ( 0) csv ^checkout() ^root() . . apps pmenu . csv_no_dirs = boolean ( 0) csv . apps pmenu lx . csv_i18n = string ( ) . `jgmenu-i18n(1) . apps ob . csv_no_duplicates = boolean ( 0) . apps . (IPC) IPC jgmenu . tint2 xfce-panel . : jgmenu_run jgmenu . position_mode=ipc jgmenu . : TINT2_BUTTON_PANEL_X1 TINT2_BUTTON_PANEL_X2 TINT2_BUTTON_PANEL_Y1 TINT2_BUTTON_PANEL_Y2. (X1,Y1) panel (X2,Y2) . . : o TINT2_BUTTON_ALIGNED_X1 TINT2_BUTTON_ALIGNED_X2 . o TINT2_BUTTON_ALIGNED_Y1 TINT2_BUTTON_ALIGNED_Y2 . . X Y . menu_margin_x menu_margin_y ..SH " (DIAGRAMS)" (General Notes) margin padding ( ) (Vertical Menu) 1 2 item 2 item 2 3 1. menu_padding_top 2. item_margin_y 3. menu_padding_bottom (Horizontal Menu) | | | | | | | |icon text >| | | | 2|1| |1|3 | | | | 4 |5| |6| | | | | | | | | | | | 1. item_margin_x 2. padding_left 3. padding_right 4. icon_size 5. icon_to_text_spacing 6. arrow_width (External to menu) screen 2 | root | 1| menu | | sub | | |3| menu | | | 1. menu_margin_x 2. menu_margin_y 3. sub_spacing (HOOKS) (hook) jgmenu jgmenu (= - jgmenu_run) (restart) . $HOME/.config/jgmenu/hooks : , GTK : ~/.config/gtk-3.0/settings.ini,jgmenu_run gtktheme . (restart-hooks) ~/.config/jgmenu/{jgmenurc,append.csv,prepend.csv} /usr/share/applications. print ( ) . clear ..SH " (STARTUP SCRIPT)" --vsimple ~/.config/jgmenu/startup . (SEE ALSO) o jgmenu_run(1) o jgmenututorial(7) o jgmenuunicode(7) jgmenu : (AUTHORS) Johan Malm. 2 January, 2021 JGMENU(1)