Portál AbcLinuxu, 1. května 2025 03:30

Right-click menu pro dwm

24.4.2009 11:03 | Přečteno: 1006× | poslední úprava: 24.4.2009 11:03

Když jsem zkoušel Awesome 3 WM, docela se mi zalíbila možnost mít right-click menu i v dynamickém window manageru. Je to fajn způsob jak spouštět nejpoužívanější aplikace, aniž by člověk musel pokaždé datlovat jméno programu v dmenu.

Proč vlastně píšu tenhle zápisek? Hledal jsem všude možně po internetu, jak zakomponovat takové menu do dwm, ale jediné, co jsem našel byl nějáký starý patch pro dwm 3.9. Rozhodl jsem se tedy uveřejnit způsob jak na to pro případné zájemce, aby nemuseli ztrácet čas hledáním informací na internetu, nebo vymýšlením různých skriptů pro dzen2.

Nejsnažší způsob je stáhnout si program 9menu, který by měl být někde v repozitáři pro vaší distribuci. Potom vytvořit soubor (pojmenujme ho třeba 9menurc), do kterého napíšeme, co chceme spouštět. Syntaxe je jednoduchá

název : executable
a uložit soubor třeba do ~/config/9menu/9menurc. Poté je třeba v souboru config.h "namapovat" pravé tlačítko tak, aby při klepnutí na plochu spustilo 9menu. To se udělá tak, že sekci commands upravíme následovně (viz poslední řádek):
/* commands */
static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[]  = { "urxvt", NULL };
static const char *menucmd[] = { "9menu", "-popup", "-teleport", "-file", "/home/david/.config/9menu/9menurc", "-bg", normbgcolor, "-fg", selfgcolor, "-font", font, NULL };
Potom do sekce button commands přidáme tuto řádku:
	{ ClkRootWin,		0,		Button3,	spawn,		{.v =menucmd } },
Teď už jen překompilovat dwm a je to.

Třeba se to někomu bude hodit. Výsledek můžete vidět zde

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.