IceWM + tint2
Prvýkrát som použil okenný manažér IceWM okolo roku 2005. Potom som skúšal kde-čo, od KDE, cez XFCE až po… znovu IceWM. A aj keď je to perfektný program, niečo mi na ňom začalo vadiť.
Začiatky a konce
Jedným z mojich prvých „linuxov“ bol i Mandrake s predvolene nainštalovaným desktopovým prostredím KDE. A potichúčky - nenápadne tam bol nainštalovaný aj okenný manažér IceWM. O ktorom som netušil. Až som raz, ani neviem ako, pri logine zvolil toto prostredie. Okamžitý wow efekt. Že operačný systém môže vyzerať aj inak. V začiatkoch som nevedel, že jadro, x server a pod., že všetko sú to oddelené entity. Toto ma doslova nadchlo. Po izbe som neskákal, ale mal som taký príjemný pocit. Vtedy som vedel, podobne ako trpaslíci v Hobbitovi, keď si našli niekoho (Thorina Pavézu, syna Thráina, ktorý bol synom Thróra), koho môžu nasledovať; ja som teda vedel, že toto chcem používať!
Iste, klasické KDE v tretej verzii vyzeralo super. IceWM pôsobil tak nejako — obyčajne, smutne. Ale naštartoval okamžite. Vyzeral podobne ako Windows 98, ktorý som dovtedy používal. Farebne i ovládaním.
Internet i iné informácie boli obmedzené a keď som hľadal podobné GUI nastavenia, ako boli v KDE, hľadal som márne. Neskôr som zistil, že sa dá konfigurovať sústavou textových súborov. Ako pridať ikony na plochu — to som nezistil vôbec.
Fast forward ⏩ do súčasnosti. Aj dnes sa IceWM konfiguruje textovými súbormi. Prevažne. Lebo drvivé množstvo nastavení sa dá aj pomocou submenu Preferencie, ako On/Off alebo číselné hodnoty. V zmysle: Názov premennej → Hodnota. Ak človeku názov premennej nič nehovorí, tak musí pozrieť do textových konfigurákov alebo na web.
Spoiler: Testujem i beta verziu antiX 26, ktorý prináša vlastné nastavovacie dialógy pre IceWM.
No a ikony na ploche: možné len cez nástroje tretích strán ako zzzfm alebo rox. Ale od ikon som si odvykol a nechýbajú mi (hoci sú v antiX-e (de)aktivovateľné jedným klikom).
WTF! Môže si niekto takto uľaviť. Je tento program hodný XXI. storočia? (Dokonca sa niekto vyjadril posmešne v diskusii na root-e, pri správičke o najnovšej verzii 4.0 v zmysle, že kto už len to používa…)
Môj neskromný názor: dozaista je a pre mňa je „top“ najmä preto:
- minimálne systémové nároky, zaberá cca 20 MB v RAM,
- extrémna prispôsobiteľnosť — milión parametrov, časov, skratiek, vlastností okien,…,
- minimalistický dizajn, ľahko upraviteľné témy,
- podpora pre viac monitorov (ale to som len skúšal, nepoužívam to),
- hoci nepodporuje „out-of-box“ ikony na ploche alebo pozadia, má výborne konfigurovateľné menu,
- šikovný panel s podporou „tray“.
Takto som to používal roky, doslova desaťročia. OK, asi rok som používal i XFCE, lebo som sa nechal „ošáliť“ transparentným panelom. Ale odvtedy len a len IceWM, aj v časoch, keď som nepoužíval antiX, ktorý ho má ako jeden z predvolených (+ Fluxbox, Herbstluftwm, JWM,…).
Paradoxne aj forma konfigurácie, hoci nie je úplne prívetivá, je prínosom — z hľadiska prenosnosti. Okrem „klasického PC“ používam v teréne i laptop, navzájom ich synchronizujem. A je super, keď sa oba stroje správajú a vyzerajú rovnako.
Keď som si písal s debianovým a sieťovým guru Slavkom, tak v sme rozoberali i porovnávanie súborov. Vtedy som si všimol že môj prazáklad konfiguračného súboru je z verzie 1.3.8. Tá vyšla v roku 2004!
Len ešte spomeniem, že IceWM sa venoval v seriáli i náš zosnulý kamarát Bedňa. V novembri tomu boli štyri roky. Občas na neho myslím. Vždy si spomeniem na citát z Pána prsteňov: „Veľa tých, ktorí žijú, si zaslúžia smrť. A niekto umiera a zasluhuje si život.“
ヽ(´□`。)ノ
Tak čo teda nevyhovuje (na IceWM)?
Skrátim to: IceWM dokáže mať len horizontálny panel, umiestnený na vrchu alebo spodku obrazovky. Neviem, či je to degeneráciou zraku, alebo inou formou prejavu „zubu času“, ale potrebujem svetlé témy a najlepšie sa sústredím na úzky výsek textu. Nemusí to byť nutne programátorských 70 - 80 znakov v riadku, ale niečo blízko toho.
Takže logickou voľbou je mať panely na boku a čo najviac pracovného priestoru vo vertikálnom smere.
A toto IceWM neumožňuje. Inak skvelý panel zvláda pripínanie programov, pager pracovných plôch, task-tray a vlastne všetky vlastnosti, ktoré od panelu potrebujeme. Včítanie automatického alebo ručného schovávania. Ale teda neumožňuje ho umiestniť vertikálne, ako napríklad XFCE.
Schovávanie mi nikdy nebolo po chuti, potrebujem vidieť všetky tie ikonky a hodiny.
AntiX má vo svojom vlastnom správcovi programov dva panely: Plank, ktorý je skôr dokom, o ktorom si osobne myslím, že je ergonomický faul (ak má niekto argumenty, prečo to tak nie je, do diskusie s nimi!) A potom tint2. Ten sa mi páči.
Tint2
… je teda ľahký a prispôsobiteľný panel a správca úloh.
Je:
- prispôsobiteľný (grafickým nástrojom i editovaním tint2rc),
- zobrazuje ikony a/alebo text bežiacich aplikácií, čas, dátum,
- môže byť umiestnený na vrchnej, spodnej, alebo bočnej strane obrazovky,
- podporuje systray a hlavne vlastné tlačidlá a vykonávače skriptov, tzv. executors,
- panelov môže bežať súčasne viacej, na rôznych miestach plochy.
Nebudem detailne opisovať možnosti nastavenia, sú veľmi bohaté a na githube sa dajú nájsť krásne príklady. Krásne — myslené dizajnovo. Ak má niekto rád moderné „rice“, t.j. „ryžu“, ktoré čarujú s priehľadnosťou, viacerými panelmi, kdejakými ukazovateľmi.
Preto len opíšem ako to mám vlastne ja. Dizajnovo zapasované do mojej úpravy GTK(2/3/4) témy, ktorá má niektoré farby Haiku a niektoré prvky Windows 3.1, a k tomu zodpovedá i téma v IceWM.
![]() |
| Obr. č. 0: Panel, kalendár, agenda, meniny. |
Na nultom obrázku to vidíme v plnej kráse. Pozadie si nevšímajme, to sa automaticky mení 3× za hodinu, náhodne si vyberá niektorý z vyše 500 obrázkov. Na archive.org sa dajú nájsť hotové pack-y.
Panel je zvislý, na pravej strane. Zbytočná veta, priznávam. Konfigurácia CE:TSPL. Dešifrovane:
- Clock,
- Executor,
- Separator,
- Tasks,
- Systray,
- Button (neviem, prečo je to označené ako P, ale budiž),
- Launcher.
Clock
T.j. hodiny. Font „Alarm Clk“, odniekaľ z webu (DaFont). Dátum i čas sú klasicky vo formáte strftime, programátori poznajú.
Tint2 umožňuje „nabindovať“ reakciu (hodín, vykonávača) na tlačítka myši i na koliesko.
U mňa to vyzerá nasledovne:
clock_tooltip = LMB:calendar RMB:cpu/bat status MMB: lxtask clock_lclick_command = yad --calendar clock_rclick_command = ~/bin/battery_status.sh clock_mclick_command = lxtask clock_uwheel_command = clock_dwheel_command =
Asi je to zrejmé: podľa aktivovaného tlačidla/pohybu koliesa možno spustiť skript. Ako ten yad --calendar. Yad je super, netreba nič viac, ani superľahký orage.
Na ľavej strane plochy je zobrazená Agenda — viac som o nej písal v článku Jednoduché plánovanie a agenda, nielen v Emacs-e. Vpravo dole sú vypísané meniny, po kliknutí pravým tlačidlom myši na tlačidlo Agenda na paneli.
Executor(s)
Počasie pod hodinami sú príkladom executora. Teda vlastného skriptu, ktorý je odlišný od tlačidla. Odlišný je najmä v tom, že dokáže byť volaný v pravidelných intervaloch.
Ukážka z časti napovie:
execp_command = ~/.prog/ansiweather/ansiweather -l Poprad -a false -i false -w false
| sed 's/.*: \(-*[0-9]*\) °C - Humidity: \([0-9]*%\) - Pressure: \([0-9]*
hPa\).*/\1°C, \2, \3/' ; notify-send "`fortune`"
execp_interval = 3600
execp_has_icon = 0
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 1
execp_monitor = all
execp_tooltip = Weather Poprad (try LMB, RMB, MMB)
execp_lclick_command = yad --title="5-days forecast" --text="$(/home/richard/.prog/ansiweather/ansiweather -l Poprad -a false -F |
sed 's/forecast:/forecast:\n/g; s/°C/°C\n/g')" --geometry 300x100+1285+0
--timeout=5 --timeout-indicator=right --skip-taskbar
execp_rclick_command = cd ~/.cache && wget wttr.in/Poprad.png && yad
--title="Weather Poprad" --image="Poprad.png" ; sleep 5 &&
rm ~/.cache/Poprad.png
execp_mclick_command = antix-viewer https://www.accuweather.com/sk/sk/poprad/300229
/daily-weather-forecast/300229?partner=web_mozilla_adc
Takže každých 3600 sekúnd sa spustí príkaz
~/.prog/ansiweather/ansiweather -l Poprad -a false -i false -w false | sed 's/.*: \(-*[0-9]*\) °C - Humidity: \([0-9]*%\) - Pressure: \([0-9]* hPa\).*/\1°C, \2, \3/' ; notify-send "`fortune`"
Aha, asi to nie je čitateľné, tak to nasekám:
~/.prog/ansiweather/ansiweather -l Poprad -a false -i false -w false | sed 's/.*: \(-*[0-9]*\) °C - Humidity: \([0-9]*%\) - Pressure: \([0-9]* hPa\).*/\1°C, \2, \3/' ; notify-send "`fortune`"~
Ansiweather je skript na zobrazenie aktuálnych poveternostných podmienok s podporou farieb ANSI a symbolov Unicode. Mini program, asi z Poľska, lebo pri nezadaní mesta ukazuje počasie pre Rzeszów. Čítaj „rzešóv“. Ech, to je teda jazyk, ktorý sa zbavil diakritických znamienok a nahradil to kombináciami prevažne s písmenom z. Ja občas kupujem stroje na čistenie zeleniny, ako súčasť veľkých spracovateľských liniek, a jeden stroj sa volá „szczotkarka do warzyw“. To neviem v maili nikdy napísať na prvýkrát ☺.
Výstup v tvare Weather in Poprad: -2 °C - UVI: 0.83 - Wind: 4.12 m/s ENE - Humidity: 92% - Pressure: 1005 hPa upraví sed na lepší tvar. A tento výstup zo skriptu sa zobrazí.
Tip na ktorý som prišiel neskôr, asi som zle čítal dokumentáciu, ale hlavne som si preštudoval iné konfiguráky — ak je výstup skriptu viacriadkový a v prvom riadku je cesta k obrázku (png, svg,…), tak tint2 tento obrázok zobrazí a za ním ďalšie riadky výstupu. To je paráda, takto môžeme zobrazovať dynamicky sa meniace obrázky, napríklad stav siete, grafické symboly počasia a čo nás len napadne. Veď to… čo ešte? ☺
![]() |
| Obr. č. 1: Jednoduchý monitor stavu PC, v laptope mi ukazuje aj info o baterke. |
![]() |
| Obr. č. 2: PTM zobrazí PNG z wttr.in, STM myši grafickú predpoveď. |
Inak tú grafickú predpoveď som ukradol z Firefox-u, ktorý má applet na homepage 😏.
Battery
Na snímkoch to nie je, lebo to píšem na stolnom PC. Ale dokáže to zobrazovať stav nabitia batérie (batérií), čas do vybitia a spúšťať skripty pri pripojení či odpojení nabíjačky. Napríklad:
battery_low_cmd = notify-send -u critical "🪫 Battery low!" battery_full_cmd = notify-send "🔋 Battery fully charged." ac_connected_cmd = notify-send "AC 🔌 connected." ac_disconnected_cmd = notify-send "AC 🔌 disconnected."
Tasks
Zobrazujú spustené programy a pracovné plochy. Môže to vyzerať aj inak, napríklad ikony + text, alebo len ikony aktuálnej plochy. Ja zobrazujem všetky naraz. Vidíme, že na označenie plochy mi stačí len zvýrazený pásik, pri štyroch označenie číslom asi netreba.
Samozrejme, programy sa dajú „preťahovať“ z plochy na plochu.
A kliknutím pravého tlačidla zobrazíme menu aplikácií z IceWM. Nepotrebujeme externý nástroj ako jqmenu a ďalší launcher/button.
System tray
Je vyhradené miesto na systémové ikony. Ja tam mám:
- apt-notifier pre zobrazenie čakajúcich aktualizácií (a možné ich spustenie),
- gnubiff strážiaci nové emaily,
- clipit — správca schránky,
- gxkb na zobrazenie aktívneho rozloženia klávesnice (ak človek používa vlastné, treba ho trochu priohnúť),
- volumeicon pre zobrazenie a ovládanie hlasitosti a otvorenie mixéra,
- wazzapp — klient pre WhatsApp.
Hm, a čo keď chceme ľubovoľný program „zadokovať“? Ja na to používam kdocker.
Jasné, pri niečom veľkom ako je Gnome, KDE či XFCE máme hotové applety na tieto srandy. Ale nie je to skvelé si to spraviť po svojom?
Button
Je vlastne podobný executoru. U mňa to zobrazuje agendu a meniny.
Launcher
Je umožňuje poukladať spúšťače (.desktop). Na rozdiel od button sa to robí len naťahaním v grafickom konfigurátore tint2conf. U mňa sú tam vlastné .desktop súbory:
launcher_item_app = tint2conf.desktop launcher_item_app = ~/.local/share/applications/skp2.desktop launcher_item_app = ~/.local/share/applications/unplug_drive.desktop
Na prepnutie klávesnice a aktivovanie hyper klávesy (namiesto Caps Lock) a skript na odpojenie externých diskov (pôvodný program z antiX-u).
Ak desktop súbor nemáme, musíme si ho spraviť, inak ho Launcher nevie zobraziť.
Aha — poriadne som nezdôraznil, že všetko, čo sa edituje pomocou textového súboru sa dá naklikať i pomocou programu tint2conf. Ten už teraz „chodí“ spolu s tint2. Je to šikovný program, hoci výber farieb je trochu nemotorný a ja radšej editujem RGB hex kódy.
Ďalšie obrázky:
![]() |
| Obr. č. 3: Farebne k tomu pasuje i GNU Emacs. |
![]() |
| Obr. č. 4: A i prehliadač Zen s kartami na boku. |
![]() |
| Obr. č. 5: tint2conf — pohodlné GUI. |
Záver
IceWM, bez ikon na ploche, a k tomu tint2… to je tak 30 MB použitej RAM.
Keď sa človek dobre namaká, tak sa mu podarí dosiahnuť i dizajn a komfort panelov z veľkých desktopových prostredí.
Myslené satiricky a s nadhľadom 😊.
Nie je to pre každého. Ja osobne to nám veľmi rád. Takéto hrajkanie mi spôsobuje radosť. Ak by neexistoval linux, musel by som asi oprášiť lego alebo stavebnicu Merkúr.
Tento prístup má aj tienistú stránku: človek nikdy nie je spokojný s vecami v predvolenom stave. A ľahko veci aj pokazí 😏. Vždy je to súčasť učenia.
Happy hacking!
Pre pridávanie komentárov sa musíte prihlásiť.







V období, keď bedňa publikoval články na pokračovanie o IceWM, tak ma to najskôr zaujalo. Ale tak isto mi tam niečo vadilo. Minimálne vzhľad okien a vzhľad panelu tint2. Čo na tom, že to štartuje bleskovo a zaberá málo RAM, keď to vyzerá divne a nastavovanie je také kostrbaté. Ja preferujem vzhľad, ako jednu z "must-have" vlastností. Cez to vlak neide. Tak isto automatická integrácia novo nainštalovaných programov do menu. U KDE, XFCE atď. sa to deje automaticky. V IceWM sa to asi automaticky nedeje, či?
No ono tent tint2 môže vyzerať pekne, aj transparentne, viď galériu https://github.com/addy-dclxvi/tint2-theme-collections
A to platí aj o IceWM. To len ja ho používam v takomto retro šate. Mojou ďalšou dizajnovou zastávkou bude asi vzhľad ala TWM :)
Inak IceWM, ale aj JWM vedia novoinštalové programy automaticky pridať do menu na základe .desktop súborov. Tuším sa ten úzus volá XDG menu či ako…