jgmenu

Jednoduché, nezávislé menu pro X stvořené pro skriptování a ladění.

Jgmenu mi sedí

Je programovatelné a maximálně přizpůsobitelné. Lze si vybrat z několika druhů nabídek - osobně preferuji jednoduché menu.

Konfigurační soubory

Menu aplikací a jeho nastavení jsou umístěné v adresáři ~/.config/jgmenu.

Inicializace nastavení

Před prvním spuštěním je nutné vygenerovat nastavení pomocí příkazu:

jgmenu_run init -i

Jinak se použije standardní/výchozí.

Konfigurace k dwm

V dwm nastavíme proměnnou pro klávesové zkratky v souboru config.h:

static const char *menu[]  = { "jgmenu_run", NULL };

Definujeme akce, kdy se jgmenu spustí, pro klávesovou zkratku MODKEY + w:

{ MODKEY,	XK_w,	spawn,	{.v = menu } },

Akce po stisku levého tlačítka na ploše:

{ ClkRootWin,	0,	Button1,	spawn,	{.v = menu } },

Moje konfigurační soubory:

jgmenurc
stay_alive           = 1
tint2_look           = 0
position_mode        = pointer
terminal_exec        = urxvt
terminal_args        = -e
menu_width           = 200
menu_padding_top     = 1
menu_padding_right   = 1
menu_padding_bottom  = 1
menu_padding_left    = 1
menu_radius          = 5
menu_border          = 1
menu_halign          = left
sub_hover_action     = 1
item_margin_y        = 1
item_height          = 16
item_padding_x       = 1
item_radius          = 0
item_border          = 0
sep_height           = 20
font                 = Terminus 12px
icon_size            = 16
color_menu_bg        = #222222 70
color_norm_bg        = #222222 0
color_norm_fg        = #7bbdbd 100
color_sel_bg         = #444444 100
color_sel_fg         = #7bbdbd 100
color_sep_fg         = #888888 40
		    
append.csv
^sep()
CLI,^checkout(cli), utilities-terminal
V terminálu,^checkout(vterminalu), utilities-terminal
Konec,^checkout(konec), system-shutdown

,^tag(cli),
BSD Games,^checkout(bsdgames), utilities-terminal
Alsamixer,urxvt -e alsamixer,utilities-terminal
Cmus,urxvt -e cmus,utilities-terminal
Gtop,urxvt -e gtop,htop
Htop,urxvt -e htop,htop
Kalendář online,urxvt -e calcurse-online,utilities-terminal
Links,urxvt -e links,utilities-terminal
MC,urxvt -e mc,utilities-terminal
NCDU,urxvt -e ncdu /,utilities-terminal
pcurses,urxvt -e pcurses,utilities-terminal
screen,urxvt -e screen,utilities-terminal
xprop,urxvt -hold -e xprop,utilities-terminal
xev,urxvt -e xev,utilities-terminal

,^tag(bsdgames)
adventure,urxvt -e adventure,utilities-terminal
atc,urxvt -e atc,utilities-terminal
battlestar,urxvt -e battlestar,utilities-terminal
caesar,urxvt -e caesar,utilities-terminal
cribbage,urxvt -e cribbage,utilities-terminal
dab,urxvt -e dab,utilities-terminal
drop4,urxvt -e drop4,utilities-terminal
gofish,urxvt -e gofish,utilities-terminal
gomoku,urxvt -e gomoku,utilities-terminal
hangman,urxvt -e hangman,utilities-terminal
klondike,urxvt -e klondike,utilities-terminal
robots,urxvt -e robots,utilities-terminal
sail,urxvt -e sail,utilities-terminal
snake,urxvt -e snake,utilities-terminal
spirhunt,urxvt -e spirhunt,utilities-terminal
worm,urxvt -e worm,utilities-terminal
wump,urxvt -e wump,utilities-terminal

,^tag(vterminalu),
e4defrag - defragmentace,urxvt -e sudo e4defrag /,utilities-terminal
UPDATE,urxvt -hold -e sudo pacman -Syyu,utilities-terminal

,^tag(konec)
Suspend,systemctl -i suspend,system-log-out
Reboot,systemctl -i reboot,system-reboot
Poweroff,systemctl -i poweroff,system-shutdown
		    
prepend.csv
Terminál,urxvt,utilities-terminal
Web,firefox,firefox
Soubory,pcmanfm,system-file-manager
Editor,geany,geany
Email,thunderbird,thunderbird
Menu,urxvt -e menu,applications-other
Záznamy,urxvt -e zaznamy,utilities-terminal
^sep()

Další motiv k mému Awesome

jgmenurc
tint2_look          = 0
csv_cmd             = pmenu
position_mode       = pointer
menu_width          = 165
menu_padding_top    = 110
menu_padding_right  = 0
menu_padding_bottom = 0
menu_padding_left   = 0
menu_radius         = 0
sub_spacing         = 0
item_margin_x       = 0
item_margin_y       = 0
item_height         = 24
sep_height          = 4
sep_halign          = center
font                = Terminus 12
icon_size           = 0
arrow_string        = ›
arrow_width         = 8
color_menu_bg       = #636f6a 100
color_menu_border   = #94a79f 100
color_norm_bg       = #000000 0
color_norm_fg       = #ffffff 100
color_sel_bg        = #5fa387 50
color_sel_fg        = #84e3bc 100
color_sel_border    = #888888 100
color_title_fg      = #ffffff 100
color_title_bg      = #596460 100
color_title_border  = #7aff7d 00
color_sep_fg        = #777777 100
sep_markup =
hover_delay         = 1
csv_name_format     = %n
stay_alive = 1
menu_border = 1
sub_hover_action = 1
		    
prepend.csv
# MV moje menu
@icon,,1,1,192,,2,left,top,#000000 50,#000000 50,/opt/moje_speciality/grafika/ostatní/mira.png
@search,,0,3,175,20,2,left,top,auto,#000000 0,


^sep(Všahísova nabídka)
Aplikace,^checkout(apps)
Místa,^pipe(cat /opt/moje_speciality/nastaveni/jgmenu/mista.csv)
PVA,^pipe(cat /opt/moje_speciality/nastaveni/jgmenu/pva.csv)
Systém,^pipe(cat /opt/moje_speciality/nastaveni/jgmenu/system.csv)
PC,^pipe(cat /opt/moje_speciality/nastaveni/jgmenu/pc.csv)
Konec,^quit()

^tag(apps)
. /opt/moje_speciality/nastaveni/jgmenu/aplikace
^sep(Menu aplikací)

		    

Příklad jednoho CSV souboru(položky nabídky):

^tag(pc)
^sep(Vypnout)
Vypnout,poweroff
Vypnout za,^checkout(vypnout-za)

^sep(Zámek)
Zamknout obrazovku,slock

^tag(vypnout-za)
	Vypnout 1h,shutdown -h +60
	Vypnout 2h,shutdown -h +120
	Vypnout 3h,shutdown -h +180
	Vypnout 6h,shutdown -h +360
	Vypnout 12h,shutdown -h +720

Výpis disků

Takto můžu zapsat do CSV souboru:

Disky, ^pipe(df -hlT -x tmpfs -x devtmpfs)

Výsledek