Dlaždicový manažér chudobného muža #1
Dlaždicový okenný manažér… dokáže vyvolať emócie a (našťastie iba) ideologické vojny. Ako si z neho vziať to najlepšie?
Čo to je, ten dlaždicový okenný manažér?
Každý, kto len trochu pričuchol k modernému operačnému systému zbadal, že okenné manažéry (alebo správcovia okien), čo je vlastne softvér, ktorý má na starosti hlavne polohu a dekorácie okien, sú delené na plávajúce (floating) a dlaždicové (tiling). Extrémne zjednodušene by sa dalo povedať, že plávajúce prekrývajú okná cez seba, a dlaždicové ich ukladajú vedľa seba, podľa určitého vzoru. Je to veľmi zjednodušené, navyše jeden aj druhý prístup sa dajú kombinovať.
Prečo je koncept dlaždicového manažéra nanič
Ojojoj, čo si to ten človek nedovoľuje!?
A veru ani si nedovoľuje, lebo zámerom nie je vyvolať negatívne emócie. Jedná sa o môj subjektívny pohľad, čo je vlastne v blogu aj žiadúce, nie?
Automatické ukladanie okien
… sa zdá ako výborná myšlienka. Funguje, ak sú okná - textové terminály. Nefunguje, ak je jedno okno CAD, druhé kalkulačka a tretie napríklad chatovací program. A ak jedno z nich má byť na celú obrazovku. Iste, dajú sa nastaviť výnimky pre ten-ktorý program, čo je práca navyše.
Všetky okná naraz?
A skutočne je potrebné vidieť všetky okná v rámci jednej plochy naraz? Sú momenty, keď áno, ale ak to nemá byť neustále…
Programy s grafickým rozhraním
… nie sú out-of-box kompatibilné s dlaždicami. Napríklad GIMP (OK, od verzie tuším 2.8 dokáže bežať v rámci jedného okna) alebo kdejaké pop-up okná. Opäť platí, že treba na ich akceptovateľnom zobrazení popracovať.
Takže v praxi človek, chtiac, alebo nechtiac, musí používať oba prístupy k zobrazeniu okien. Používať dlaždice a priohýnať nastaveniami výnimky pre niektoré programy, alebo používať plávajúce okná a tie si niekedy ručne naskladať.
No ale čo je toto za blog, ktorý uvádza to, čo vie úplne každý?
No dobre, tak teraz bude nejaká pridaná hodnota. Teda dúfam ☺.
Plávajúci manažér s vyššou disciplínou
Kategórie užívateľov a ich zručností sú rôzne - od bežných, ktorí akceptujú nadefinované správanie a ovládanie programov, po advanced, ktorí si dajú čas a námahu a prispôsobia si správanie programov podľa ich možností (napr. klávesovými skratkami či malými skriptami) - a týchto je asi najviac - až po super guru najvyššej kategórie, ktorí dokážu modifikovať zdrojové kódy a podstatne pôvodné programy vylepšiť (všetci vieme, o kom je reč).
Je viac spôsobov, ako prikázať plávajúcemu manažéru, aby sa trochu podláždil.<irony>
Ukladanie dlaždíc je ostatne niekedy tak dôležité, že si človek ani nevšimne dôležité spoločenské udalosti. Ako zmenu zriadenia. </irony>
V tomto príspevku si predstavíme poloautomatické ukladanie dlaždičiek, v druhej časti automatické riešenie.
Len na okraj: niektoré okenné manažéry majú zabudované schopnosti uložiť určitý počet okien, napr. vedľa seba, alebo pod sebou. Aj toto častokrát postačuje k plnej spokojnosti.
Obr. 0: Automatické uloženie dvoch okien vedľa seba
Pod pojmom poloautomatické ukladanie okien mám na mysli, že užívateľ si sám uloží okno na požadované miesto a toto okno zmení svoju veľkosť.
K tomuto poslúži súbor bash skriptov, ktorý spravili tvorcovia distribúcie antiX. Tie sú predvolene pribalené pri inštalácii rovnomennej distribúcie, ale samozrejme, dajú sa stiahnuť a používať aj oddelene.
Link: https://github.com/antiX-Linux/wingrid-antix
Potrebné závislosti sú (pravdepodobne ich má každý nainštalované):
- awk (na extrahovanie hodnôt z ostatných programov, ako:)
- xdpyinfo (ktorým sa zisťuje rozmer plochy)
- wmctrl (známy program na manipuláciu s oknami)
- yad (na zobrazenie dialógov).
Použitie súboru skriptov je opísané na https://downloads.tuxfamily.org/antix/docs-antiX-15/FAQ/wingrid.html, len v krátkosti zhrniem:
Git repozitár obsahuje niekoľko skriptov (wingrid-bottom.sh
, wingrid-bottomleft.sh
, wingrid-bottomright.sh
,…).
Podľa autorov a návodu na vyššie-uvedenom linku, by si mal užívateľ priradiť ku každému skriptu klávesovú skratku (napr. CTRL+3
,…). Preto aj takto, v tom návode, udávajú opisy pozície okien, viď obrázok nižšie.
Obr. 1: Možné pozície okien pomocou skriptov "wingrid-antix"
Obr. 2: A ich vzájomné kombinácie
Ja som napríklad takto umiestnil dve otvorené okná:
Obr. 3: gExec + GNU Emacs Calc
Obr. 4: A takto by sa to dalo použiť v praxi
Ej bisťu, nemám toľko klávesov
…voľných pochopiteľne. Autori predpokladajú, že na každú pozíciu okna si užívateľ nabinduje jednu klávesovú skratku, ktorá navyše nebude kolidovať s skratkami v práve používanom programe.
No mne sa osobne popri Emacse, kde je všetko prevažne o všemožných kombináciách klávesov, nič vhodné nepodarilo nájsť.
Tak som spravil jednoduchý skript, ktorý sa bude spúšťať jednou skratkou, a ten cyklicky umiestňuje okno do rôznych pozícií.
Nie je to žiadna raketová veda, a asi by sa to dalo vyriešiť elegantnejšie. Ale nepíšem (už) toho veľa v bashi, takže prosím o zhovievavosť ☺
Samotný skript je dostupný tu: https://gitlab.com/my_bash_scripts/wingrid-launcher
Záver
Ja osobne tieto ručné dlaždice používam iba výnimočne. Pretože ak pracujem v emulátore terminálu, tak používam výlučne GNU Emacs a jeho eshell. A ten má tieto fajnové fičúry zabudované v sebe.
A ak by som používal iný emulátor terminálu, tak by som siahol radšej napr. po Tilix-e.
Ale ako platí vo svete GNU/linuxu - sloboda a rôznorodosť je niečo tak prirodzené, že sa v inom prostredí (rozumej OS) necítime dobre. Proste nie.
Ako bolo spomenuté, nabudúce si ukážeme, ako tie dlaždice ukladať automaticky.
<irony>
To má potom človek čas zapojiť sa napríklad do sprievodu. Prvomájového, alebo revolučného. </irony>
Pre pridávanie komentárov sa musíte prihlásiť.
dobre. o winndgrid som nevedel.
len ja nemam rad dlazdicove ukladanie, davam prednost viacerym monitorom.
Na strane druhej. vdaka Mirecovi som zacal skusat awesomewm.
...čo je dobrá motivácia naučiť sa jazyk Lua
Brr lua. Minule som pozeral moje štatistiky jazykov na githube a objavila sa medzi top jazykmi. Kto by to bol povedal, že budem používať jazyk, ktorý indexuje polia od 1 :D Dobrovoľne.
stále si rád prečítam takéto príspevky, kde autor opisuje, čo, ako a prečo robí,
a je fajn, ako aj v tomto prípade, ak tomu aspoň trochu rozumiem a môžem čerpať inšpiráciu :)
no veď blogy by mali byť o tom
čakám na druhú časť :)
Ja pouzivam i3 tilling wm, skuste. Podla mna sa to hodi na typ akejkolvek prace. Robim v tom uz od cca 2014, je to moj primarny wm na vsetko.
i3 som nikdy neskúšal, z tilling manažérov som najviac robil v dwm a herbstluftwm.
Ale ako bolo spomínané v článku, väčšinou preferujem okná na celú obrazovku, s výnimkou terminálu, kde ale príslušný "tilling" obstaráva práve emulátor terminálu.