Přiznejte si to. Používáte stále dokola jen pár aplikací. Prohlížeč, e-mail, správce souborů, přehrávač hudby… ještě něco? Dobrá, je jich třeba dvacet. Co kdyby každá z nich obdržela vlastní klávesu, abyste už nikdy nemuseli mařit čas jejich spouštěním? Prvních devět se vejde na taskbar a spolehlivě je spustí Super+číslo. Ale není všechno super, co se třpytí… Přináším doporučení, jak si přidat užitečné aplikace na Super+Ctrl+číslo a Super+Shift+číslo, a ukážu, jakou kočičinu jde se zkratkami zažit!
xbindkeys
Bylo nebylo, v Linuxu odpradávna existovala utilita xbindkeys, kamarádka xdotool a wmctrl, kterou vložil pod ochranná křídla hodný prasynovec jumpapp. A všem se dobře vedlo. Naše xbindkeys hlídala, jestli nejdou klávesy a vždycky hvízdla, aby jumpapp vyrazil a běžel najít požadovanou aplikaci. Řešení to bylo parádní a na výše zmíněné stránce jumpapp potkáte snadný návod, jak v souboru .xbindkeysrc nastavit chování počítače dle obrazu svého.
Nastavit, aby se Firefox spustil či vznesl vzhůru při stisku Super+1 lze těmito řádky. První řádek je příkaz, druhý očekávaná zkratka.
#Super+1 firefox "jumpapp firefox" Mod2+Mod4 + plus "jumpapp firefox" Mod2+Mod4 + KP_1
Nelekněte se krkolomného řešení, kdy Mod4 signalizuje stisknutí klávesy Super. Takže hle, vytvořili jsme dvě zkratky, jednu pro jedničku na diakritické řadě a druhou na numpadu. Tyto zkratky nemusí mít touž funkci. Když vyvíjím web, hodí se mi mít k dispozici vývojářské konzole dvou největších prohlížečů. Všimněte si, že první zkratka se zajímá o DevTools Chromu (či v tomhle případě Chromia), zatímco druhá cyklí okna vývojářské konzole Firefoxu.
# Super+Ctrl+1 Firebug & Chrome Developer tools "jumpapp -t "DevTools" chromium-browser" Control+Mod2+Mod4 + plus "jumpapp -t "Developer Tools" firefox" Control+Mod2+Mod4 + KP_1
A i bez xbindkeys doporučuju overlay key zničit. Když namapujete hodně zkratek na Super+..., častým používáním zjistíte, že občas nechcete zkratku domáčknout a dopadne to tak, že zmáčknete pouze Super. Nebo spustíte nějaký virtuální stroj a Super vám s ním bude ohyzdně interferovat.
run-or-raise
V roce 2017 s železnou pěstí dopadl na ekosystém Ubuntu hrozivý mrak Waylandu. Nikdo nevěděl, o co jde, ale všichni říkali, že ve Waylandu nebude fungovat nic a hlavně ne xbindkeys. Prozkoumav všechny tehdejší vyhlídky a nečekav návrat doby kamenné, vytvořil jsem správce zkratek run-or-raise jako rozšíření pro GNOME. Jeho syntaxe je ještě o něco snazší: Zkratka, okno či příkaz ke spuštění, případně lze doplnit wm_class, což je takový systémový titulek okna, a opravdický titulek okna. Spouštění Firefoxu a různých vývojářských panelů, které jsme probrali výše, lze udělat jednoduše:
<Super>1,firefox, <Super>KP_1,firefox, <Super><Ctrl>1,,,DevTools <Super><Ctrl>KP_1,firefox,,Developer Tools
Vyrazme teď spolu se podívat, jak si může skromný vývojář zařídit spouštění programů přes numpad. V levém dolním rohu vidíte Super+Numpad1, v pravém horním Super+Numpad9. Na základních číslech potkáme prohlížeče, správce informací Zim, správce souborů Krusader, textový editor Kate (který zcela utišil můj žal, že pro Linux není nativní verze českého PSPadu; používáte-li gedit, vaše budoucí já bude kroutit hlavou v údivu), slovník, osobní e-mail, pracovní e-mail a na procesoru zátop – htop.
V našem případě spouštíme Gmail jako takovou poloaplikaci v rámci Chromu. Přidáme za příkaz dvě čárky a nakonec přidáme klíčové slovo “Chrome” nebo váš e-mail – aby nám zkratky Super+3 a Super+7 cyklily jen relevantní okna prohlížeče; jedna běžná, druhá gmailová.
<Super>KP_3,/opt/google/chrome/google-chrome,,Chrome <Super>KP_7,/opt/google/chrome/google-chrome --app=https://gmail.com,,VAS_EMAIL
Už jsem bájil o editoru Kate. Na vás zůstává, jestli se má otevřít s čistým štítem, či zda bude rovnou editovat předem určený soubor, bezpečné místo, kam házet rychlé poznámky.
<Super>5,kate,, <Super>KP_5,kate /home/USER/muj_soubor.txt,,muj_soubor.txt
Na Super+9 spouštíme htop. Protože je to program, běžící v terminálu, a gnome-terminal začal mít před pár lety problém s parametrem title, pomůžeme si vlastním pomocným spouštěčem launch-titled, díky kterému nám nové okno terminálu bude pracovat jako nezávislá aplikace.
<Super>KP_9,gnome-terminal --window --maximize -x /opt/launch-titled htop,,htop
Další sada užitečných programů následuje. Na Super+Ctrl+KP_1/1 se jedná o dva nezávislé, výše zmíněné vývojářské nástroje prohlížečů. Následuje PDF editor a Jupyter běžící v prohlížeči. Na čtyřce se tyčí dvě vlastenecká vývojová prostředí. Čtyřka z diakritické řady spustí původem český PyCharm, zatímco čtyřka numpadu spouští původem český NetBeans. Běží-li však už aspoň jedno prostředí, obě zkratky cyklí mezi všemi jeho okny. Tím elegantně vyřešíme situaci, kdy pro některý jazyk používáme to a pro jiný ono prostředí, stačí nám však v daný okamžik jediné.
<Super><Ctrl>4,/opt/pycharm/bin/pycharm.sh,/NetBeans|jetbrains-pycharm/, <Super><Ctrl>KP_4,/home/edvard/netbeans-12.0/netbeans/bin/netbeans,/NetBeans|jetbrains-pycharm/,
Situaci s dokumenty jsme vyřešili obdobným způsobem. Pětka ovládá vždy textový procesor balíku LibreOffice. Šestka pak pomocí fikaného regulárního výrazu cyklí mezi všemi ostatními aplikacemi dané rodiny – ať už je to Impress, Draw, Base, nebo Math. Není-li žádná spuštěna, defaultně spustí tabulkový procesor Calc.
<Super><Ctrl>KP_5,libreoffice --writer,libreoffice-writer, <Super><Ctrl>KP_6,libreoffice --calc,/libreoffice-[^w]/,
Náš vývojář pořád nemá dost, chtěl by ještě další aplikace. Na jedničku mu umístíme komunikátor Pidgin. Ten otevírá okno se seznamem kontaktů a titulkem “Buddy List” a okna jednotlivých zpráv. On vždy preferuje cyklení mezi okny zpráv, ale pokud žádné takové není k dispozici, chce spustit program pro případ, že vůbec neběží. První argument bude tedy spouštěcí příkaz pidgin, potom specifikujeme název wm_class Pidgin (ten jsme zjistili z vestavěného nástroje Looking Glass) a do parametru pro titulek stránky picnem umouněný regulární výraz říkající, že titulek nesmí obsahovat “Buddy List”, abychom vyloučili seznam kontaktů.
<Super><Shift>1,pidgin,Pidgin,/^((?!Buddy List).)*$/
Windows
Toužíte po snadno dostupných, plně spravovatelných zkratkách, ale ve vašem systému nevíte, kam se vrtnout? A jaký by to byl odstavec o Windows, kdybych nezmínil AHK? Oprášil jsem svůj starý skript – nebojte, byť to nemusí být evidentní (iexplore), pochází ještě z tohoto tisíciletí. Do svého skriptu si přidáte funkci ToggleWindow, k níž snadno namapujete zkratky podobné k těm, které jsme v tomhle článku viděli.
; prohlizece #Numpad1::ToggleWindow("Mozilla Firefox","Run","h:\QuickLaunchirefox.lnk") ^#Numpad1::ToggleWindow("Firebug","Tip","Firebug nenalezen") #Numpad2::ToggleWindow("Opera","Run","h:\Programy\Opera\opera.exe") ^#Numpad2::ToggleWindow("IrfanView","Run", "h:\QuickLaunch\i_view32.lnk") #Numpad3::ToggleWindow("Google Chrome","Run","GoogleChromePortable\GoogleChromePortable.exe") ^#Numpad3::ToggleWindow("Internet Explorer","Run","iexplore.exe")