A dwm (dynamic window manager) egy rendkívül minimalista, ám annál hatékonyabb ablakkezelő X11 alapú Linux és BSD rendszerekhez. A suckless.org közösség terméke, amely a szoftverek egyszerűségét és átláthatóságát tekinti legfőbb értéknek. Míg a legtöbb desktop környezet (GNOME, KDE, Cinnamon) egy teljes, sok millió soros ökoszisztémát ad a felhasználó kezébe grafikus beállítóablakokkal, panelekkel és háttérszolgáltatásokkal, addig a dwm ennek szinte a tökéletes ellentéte: egyetlen C forrásfájlokból álló, alig kétezer soros program, amelyet a felhasználó saját maga fordít le, és amelynek minden viselkedését a forráskód szerkesztésével lehet megváltoztatni.
Ez a leírás részletesen bemutatja, mi is az a dwm, milyen filozófia áll mögötte, hogyan működik technikailag, és – a lényegre térve – miért érdemes egyáltalán foglalkozni vele, milyen konkrét előnyökkel jár a napi használatban, és milyen kompromisszumokat kell elfogadni cserébe.
Honnan ered a dwm, és mi az a "suckless" filozófia?
A dwm-et Anselm R. Garbe indította el a 2000-es évek közepén, azzal a céllal, hogy létrehozzon egy olyan ablakkezelőt, amely a lehető legkevesebb kóddal nyújtja a lehető legnagyobb hatékonyságot. A projekt a suckless.org ernyője alá tartozik, amely több hasonló szellemiségű szoftvert gondoz (pl. az st terminál-emulátort, a dmenu menürendszert, a slock képernyőzárolót).
A suckless filozófia néhány alapelvre épül:
- Egyszerűség (KISS – Keep It Simple, Stupid): minden funkciónak jó okkal kell léteznie; ha valami kihagyható anélkül, hogy a program lényegi célja sérülne, azt ki kell hagyni.
- Átláthatóság: a kódnak olyan rövidnek és világosnak kell lennie, hogy egyetlen fejlesztő végig tudja olvasni és érteni egy menetben.
- A felhasználó a fejlesztő: a suckless szoftvereknél nincs éles határ a "végfelhasználó" és a "fejlesztő" között – elvárás, hogy aki testre akarja szabni a programot, az képes legyen belenyúlni a forráskódba. Bár az elvárás szép, de nem kell technómágusnak lennie a változtatáshoz, mert a C nyelvet a mesterséges intelligencia jól ismeri, így segíteni is tud.
- Nincs felesleges absztrakció: a suckless projektek kerülik a bonyolult beépülőmodul-rendszereket, szkriptnyelveket és futásidejű konfigurációs rétegeket, mert ezek mind növelik a komplexitást és a hibalehetőségek számát. Ami egyszerű, abban kevés a hiba lehetősége.
Ez a szemlélet gyökeresen eltér a legtöbb modern szoftver irányától, ahol a cél az, hogy minél többféle felhasználói igényt ki lehessen szolgálni egyetlen, mindenre képes programmal. A dwm ehelyett azt mondja: legyen a program kicsi és tökéletesen érthető, a testreszabást pedig oldja meg maga a felhasználó forráskód-szinten.
Hogyan működik a dwm? – A technikai alapok
Dinamikus csempézés (dynamic tiling)
A dwm az úgynevezett dinamikus csempéző (dynamic tiling) ablakkezelők családjába tartozik. Ez azt jelenti, hogy az ablakok nem szabadon, egymást átfedve helyezkednek el a képernyőn (mint egy hagyományos desktopon), hanem automatikusan, rács- vagy oszlopszerű elrendezésben töltik ki a rendelkezésre álló helyet. Amikor egy új ablakot nyitunk, a dwm újraszámolja és újrarendezi a meglévő ablakokat úgy, hogy mindegyik látható és elérhető maradjon – nincs szükség kézi mozgatásra vagy átméretezésre.
Ez alapvetően különbözik a három fő ablakkezelési modelltől:
- Lebegő (floating): hagyományos modell, ahol az ablakok szabadon mozgathatók és átfedhetik egymást (pl. Windows, klasszikus GNOME/KDE mód).
- Statikus csempézés (static tiling): az elrendezés fix, a felhasználó manuálisan helyezi el az ablakokat egy előre meghatározott rácsba.
- Dinamikus csempézés: az elrendezést egy algoritmus (layout) számolja ki automatikusan, valós időben, az ablakok számához igazodva – ez a dwm modellje.
A tag-rendszer
A dwm nem hagyományos "munkaterületeket" (workspace) használ, hanem egy ennél rugalmasabb koncepciót: a tag-eket (címkéket). Alapértelmezetten kilenc tag áll rendelkezésre (1–9), és minden ablakhoz egy vagy több tag rendelhető. Ez a különbség lényegesebb, mint elsőre tűnik:
- Egy hagyományos munkaterület-rendszerben egy ablak pontosan egy asztalhoz tartozik.
- A dwm tag-rendszerében egy ablak egyszerre több tag-hez is hozzárendelhető, így ugyanaz az ablak megjelenhet több "virtuális asztalon" is.
- Több tag egyszerre is megjeleníthető egy monitoron, tetszőleges kombinációban – tehát nem csak egyesével lehet váltogatni köztük, hanem akár az 1-es és 3-as tag tartalmát is meg lehet nézni egyszerre. Én ezt a lehetőséget nem használom.
Ez a rugalmasság különösen hasznos, ha valaki projektek szerint szeretné csoportosítani az ablakait (pl. egy tag a levelezésnek, egy a fejlesztői környezetnek, egy a kommunikációs alkalmazásoknak), és időnként át akar látni több csoportot egyszerre.
Elrendezések (layouts)
A dwm alapból néhány beépített elrendezést kínál:
- Tiled (alapértelmezett): egy nagyobb "master" terület a bal oldalon, a többi ablak pedig egy oszlopban ("stack") jobbra rendeződik.
- Monocle: minden ablak egymásra, teljes képernyőn jelenik meg, és Alt-Tab-szerűen lehet közöttük váltani.
- Floating: klasszikus, szabadon mozgatható ablakok, azoknak, akik esetenként mégis erre a modellre váltanának.
A master–stack arány, a master terület mérete és az ablakok sorrendje mind billentyűparancsokkal, menet közben állítható.
Az elrendezések száma enél nagyobb, ezeket kiegészítéssel, un. patch-okkal lehet megoldani. Én a Kiro-ban megtalálható ohmychadwm-et használom, ami egy előre konfigurált sok kiegészítést tartalmazó dwm rendszer. Érdemes kezdésnek valamelyik előre konfigurált dwm-et használni, mert alap dwm egy fekete ablakkal indul, nulla hozzáadott eszközzel.
A forráskód mérete és jelentősége
Az egyik leggyakrabban emlegetett tény a dwm-mel kapcsolatban, hogy a teljes forráskód mindössze nagyjából 2000 sor C kódban elfér. Összehasonlításképpen egy nagyobb desktopkörnyezet ablakkezelő-komponense simán százezres vagy milliós nagyságrendű sorszámmal dolgozik.
Ennek gyakorlati következményei vannak:
- Végigolvasható egyetlen menetben. Egy közepes C-tudással rendelkező felhasználó néhány óra alatt átlátja a teljes programot.
- Nincsenek "fekete dobozok". Minden viselkedés – a fókuszkezeléstől a billentyűparancsokig – nyomon követhető és megérthető a kódban. Minden egyértelműen kódolt, jól olvasható és értelmezhető.
- A hibák könnyen behatárolhatók. Egy 2000 soros programban sokkal könnyebb megtalálni egy hiba forrását, mint egy sokrétegű, plugin-alapú rendszerben.
- A biztonsági kockázat felülete kisebb. Kevesebb kód statisztikailag kevesebb potenciális sebezhetőséget is jelent.
Konfiguráció fordítással: a config.h szerepe
A dwm-nek nincs hagyományos értelemben vett konfigurációs fájlja (nincs ~/.dwmrc, nincs futásidejű beállítópanel). Minden beállítás – a billentyűparancsok, a színek, a betűtípus, az elrendezések listája, a tag-ek száma – egyetlen config.h fejlécfájlban van megadva, amelyet a felhasználó szerkeszt, majd a programot ezután újrafordítja (make clean install).
Ez elsőre szokatlannak tűnhet azoknak, akik megszokták a futásidejű, grafikus beállítóablakokat, de gyakorlati előnyökkel jár:
- A konfiguráció maga is C kód, tehát semmilyen korlátja nincs annak, amit be lehet állítani – nem kell megvárni, hogy a fejlesztők beépítsenek egy adott opciót egy beállítómenübe. A hivatalos dwm-ben nincs az ablakkeretre való kattintásra bezárás, de a mesterséges intelligenciával megoldható a kódolása.
- A fordítás pillanatok alatt lezajlik (jellemzően egy másodperc törtrésze), így a "szerkesztés → fordítás → újraindítás" ciklus rendkívül gyors.
- Mivel a konfiguráció fordítási időben dől el, nincs szükség a beállítások futásidejű beolvasására és értelmezésére, ami tovább egyszerűsíti és gyorsítja a programot.
- Hiba esetén a fordítás megszakad, és értelmes (vagy annak tűnő) hibajelzést kapunk.
- Ha minden (kiegészítő programok stb.) a dwm könyvtárba kerül - és az mentve is van! - a környezet egyszerűen visszaállítható.
Miért érdemes használni a dwm-et? – Az előnyök részletesen
1. Sebesség és erőforrás-takarékosság
A dwm memóriaigénye jellemzően néhány megabyte, és a CPU-terhelése gyakorlatilag nulla, amikor nincs aktív interakció. Ez nem csak régebbi, gyengébb gépeken számít – modern hardveren is érezhető a különbség abban, hogy a rendszer minden erőforrása a tényleges munkára (fejlesztés, böngészés, terminálok) jut, nem pedig a felület kiszolgálására.
2. Stabilitás és megbízhatóság
Mivel a kódbázis kicsi, jól átlátható, és évek óta gyakorlatilag változatlan gerincre épül, a dwm rendkívül stabil. Nincsenek váratlan összeomlások, memóriaszivárgások vagy a frissítésekkel érkező regressziók, amelyek a nagyobb, aktívan fejlesztett desktop környezeteket időnként sújtják. Sok felhasználónál heteken, hónapokon át újraindítás nélkül fut anélkül, hogy az ablakkezelő egyetlen hibát is produkálna. Most aktívan, munkakörnyezetben használom, összeomlásra nem volt példa.
3. Teljes testreszabhatóság – a kód a tiéd
Ez talán a legfontosabb pont: mivel a teljes program a felhasználó kezében van forráskód formájában, bármi megvalósítható, amit el lehet képzelni, és amihez van C tudás – nincs korlátozva egy beépülőmodul-API vagy egy beállítómenü lehetőségeire. A közösség évek alatt egy hatalmas "patch" (kódfolt) gyűjteményt hozott létre a suckless.org oldalán, amelyek különféle funkciókkal bővítik az alapverziót: fülekkel rendelkező elrendezések, gördülő állapotsorok, egérrel átméretezhető ablakok, rendszertálca-támogatás és még sok más. Ahogy említettem: a mesterséges intelligencia, nálam a Claud megoldja a tudásbeli hiányosságot.
Aki mélyebbre megy, saját maga is képes apró, gyakorlati problémákat megoldani a forráskódban. Néhány példa arra, milyen jellegű finomítások valósíthatók meg viszonylag kevés C kóddal:
- Egy egyéni egérgomb-esemény hozzáadása, amivel egy ablak a keretére kattintva bezárható, anélkül hogy külön gombkombinációt kellene megjegyezni.
- Saját elrendezési algoritmusok (layout) írása, amikor egyik meglévő elrendezés sem illik pontosan a munkafolyamathoz.
Ezek a fajta pontos, személyre szabott javítások egy zárt, csak grafikus felületen konfigurálható ablakkezelőnél egyszerűen nem elérhetők – ott meg kell várni, amíg a fejlesztők (ha egyáltalán) beépítik az adott funkciót.
Itt érdemes tudni, hogy a beállításhoz, a konfiguráláshoz nem kell haladó,de középszintű C ismeret sem. A beállítások jól olvashatóak, relatíve sok magyarázat van. A precíz munka és a lépésről-lépésre haladás megadja a biztonságot a későbbi, komolyabb változtatásokhoz!
4. Billentyűzet-központú, megszakítás nélküli munkafolyamat
A dwm-et úgy tervezték, hogy szinte minden művelet billentyűzetről, egérhasználat nélkül elvégezhető legyen: ablakváltás, tag-váltás, elrendezés-váltás, ablakbezárás, terminál- vagy alkalmazásindítás (jellemzően a dmenu programindítóval kombinálva). Ez a megközelítés jelentősen csökkenti azt az időt, amit valaki azzal tölt, hogy az egérrel navigál a felületen, és sokak számára mérhetően gyorsabb, "flow"-barátabb munkavégzést eredményez, különösen fejlesztői vagy adminisztrátori munka során.
5. Átláthatóság és tanulási lehetőség
Mivel a teljes program elolvasható és érthető, a dwm kiváló tanulási terep is: aki szeretné jobban megérteni, hogyan működik egy X11 kliens–szerver architektúra, hogyan kezeli egy ablakkezelő az eseményeket, vagy egyszerűen gyakorolni szeretné a C nyelvet egy valós, hasznos projekten keresztül, annak a dwm forráskódja tökéletes kiindulópont. Ez a fajta "megérthető komplexitás" ritkaság a mai szoftverek világában.
6. A KISS-elv és a "bloat" hiánya
A dwm nem próbál mindenkinek megfelelni. Nincsenek beépített widgetek, animációk, effektek, amelyekre a felhasználók egy része soha nem is lenne kíváncsi, de amelyek mégis futásidőt és memóriát emésztenek, illetve potenciális hibaforrást jelentenek. Ez a minimalizmus nem hiányosság, hanem tudatos tervezési döntés: a dwm pontosan azt csinálja, amire való – ablakokat kezel –, és ezt teszi kiemelkedően jól.
7. Multi-monitor támogatás
A dwm natívan támogatja a több monitoros elrendezéseket (Xinerama/RandR alapon): minden monitor saját tag-készlettel és saját elrendezéssel rendelkezik, és az ablakok monitorok között is mozgathatók. Ez lehetővé teszi, hogy különböző monitorokon teljesen eltérő munkakontextusokat tartsunk párhuzamosan futtatva.
8. A tag-rendszer rugalmassága a hagyományos munkaterületekkel szemben
Ahogy korábban említettem, a tag-alapú rendszer nagyobb szabadságot ad, mint a hagyományos, egy-ablak-egy-asztal modell. Ez a gyakorlatban azt jelenti, hogy a felhasználó saját, projekt- vagy kontextus-alapú szervezési logikát tud kialakítani, amely jobban illeszkedik az egyéni munkafolyamathoz, mint egy mereven rögzített munkaterület-lista. Bár az elején kicsit furcsa a megoldás, de számomra teljesen megfelelő. A tag-ek közt az ablakok szabadom mozgathatóak, gyorsan váltani lehet, a monitorok közt is mozgathatok a programokat.
A patch-ökoszisztéma és a közösség
A suckless.org hivatalos oldala egy nyilvános patch-gyűjteményt tart fenn, amelyben több tucat, jól dokumentált kódfolt található a dwm különféle bővítéséhez. Néhány népszerű példa:
- Állapotsor-integrációk: olyan kísérő programok, mint a dwmblocks vagy az slstatus, amelyek modulárisan jelenítenek meg rendszerinformációkat (idő, hálózat, akkumulátor, hangerő) a dwm állapotsorában.
- Fül- és csoportosítási elrendezések: a tab patch vagy a bartabgroups patch az ablakokat fülekként, illetve tag-csoportokként jeleníti meg a felső sávban.
- Alternatív elrendezés-gyűjtemények: például a deck layout, amely a monocle és a hagyományos master–stack elrendezés ötvözete.
- Gyűjtő disztribúciók: a dwm-flexipatch egy olyan community-projekt, amely egyetlen forrásfájlban, kapcsolókkal be- és kikapcsolható formában gyűjti össze a legnépszerűbb patch-eket, megkönnyítve azok kombinálását anélkül, hogy manuálisan kellene minden egyes patch-et külön-külön alkalmazni és az esetleges ütközéseket feloldani. Ha magad akarod felépíteni a dwm patchelést ezzel kezd, mert sok időt megtakarítasz vele. Nem lesznek ütközések és egymásnak ellentmondó megoldások.
Ez az ökoszisztéma azt eredményezi, hogy bár a dwm alapja minimalista marad, a felhasználó szabadon "összerakhatja" a saját, pontosan az igényeire szabott verzióját anélkül, hogy a teljes projekt filozófiáját fel kellene adni.
Fork-ok és variánsok
A dwm nyitott, patch-alapú modellje számos önálló fork létrejöttét is inspirálta, amelyek egy adott patch-kombinációt és esztétikai irányvonalat kínálnak "gyárilag", hogy a felhasználónak ne kelljen a nulláról összeállítania mindent. Az egyik ilyen, viszonylag ismert fork a chadwm, amely modernebb, dekoratívabb alapbeállításokkal (pl. lekerekített ablaksarkok, gap-ek az ablakok között, beépített állapotsor-integráció) rendelkezik, miközben megtartja a dwm alapvető működési logikáját és a C forrás-alapú konfigurációs modellt. Az ilyen fork-ok jó belépési pontot jelentenek azoknak, akik szeretnék kipróbálni a dwm-élményt anélkül, hogy azonnal a patch-ek kézi kezelésébe kellene belevágniuk – ugyanakkor a mögöttes forráskód továbbra is szabadon módosítható marad, ha valaki mélyebbre szeretne ásni.
Amire érdemes felkészülni – a dwm hátrányai és kihívásai
A tisztesség kedvéért fontos megemlíteni azokat a pontokat is, amelyek miatt a dwm nem mindenkinek való, és amelyekkel érdemes tisztában lenni, mielőtt valaki mellette dönt:
- Tanulási görbe. A hagyományos, egérrel vezérelt, grafikus beállításokhoz szokott felhasználóknak időbe telik átállni a billentyűzet-központú, konfigurációs fájlt igénylő működésre.
- C-ismeret szükséges a mélyebb testreszabáshoz. Az alapfunkciók használatához nem kell programozni tudni, de bármilyen érdemi módosításhoz (új billentyűparancs, egyéni viselkedés) legalább alapszintű C-tudás és a fordítási folyamat ismerete elengedhetetlen.
- Újrafordítás minden konfigurációváltáskor. Bár ez gyors, mégis egy plusz lépés minden egyes beállításváltáshoz képest egy futásidejű konfigurációs fájllal szemben.
- Patch-ütközések frissítéskor. Ha valaki több patch-et is alkalmazott, és új dwm-verzióra vagy más patch-ekre szeretne váltani, előfordulhat, hogy a patch-ek nem illeszkednek egymásra automatikusan, és manuális konfliktuskezelésre (kódszintű összefésülésre) van szükség.
- Kevesebb "gyári" kényelmi funkció. Olyan dolgok, mint az értesítési központ, a grafikus beállítóközpont vagy a beépített ablak-animációk, alapból nincsenek jelen – ezeket vagy külön programokkal kell pótolni, vagy egyszerűen le kell mondani róluk.
- Korlátozott, jellemzően angol nyelvű dokumentáció. A hivatalos dokumentáció és a közösségi tartalom túlnyomó többsége angol nyelven érhető el; más nyelveken jóval kevesebb forrás található.
Kinek ajánlott a dwm?
A dwm elsősorban azoknak ajánlott, akik:
- szívesen töltenek időt a saját munkakörnyezetük finomhangolásával;
- billentyűzet-központú, hatékony munkafolyamatra törekednek;
- fontosnak tartják, hogy pontosan értsék, mi történik a gépükön futó szoftverekben;
- alapvető vagy afeletti C-ismerettel rendelkeznek, vagy szívesen tanulnának ilyet egy gyakorlati projekten keresztül;
- fejlesztőként, rendszergazdaként vagy hasonló, terminál-intenzív munkakörben dolgoznak, ahol a gyors ablakváltás és a minimalizmus valódi napi szintű előnyt jelent.
Azoknak, akik inkább kész, grafikusan konfigurálható, "plug and play" megoldást keresnek, valószínűleg jobban megfelel egy kevésbé radikálisan minimalista csempéző ablakkezelő (pl. i3, bspwm vagy awesome), amelyek konfigurációs fájllal (nem forráskód-szerkesztéssel) testreszabhatók, vagy egy hagyományos desktopkörnyezet.
Saját tapasztalat: én a Kiro disztribúcióban lévő ohmychadwm dwm-et használom. Beállításokat nem nagyon kellett bántani, a panelon (itt alapból kapod a panelt) indítóikonokat helyeztem el, és egy-két szépészeti beállítást tettem. A használata sem okozott nehézséget, pontosan azt kapja az ember amire számít: egy korrektül és gyorsan működő dwm rendszer. Az ablakok elhelyezése, és a lebegő ablak, azok mozgatása logikus, gyors. Amit kell egérrel is lehet vezérelni. Ütközést felhasználó programmal eddig csak egyet találtam a flatpak telepítésű jdownloader üres ablakkal indult. Öt perc alatt megoldható probléma...
Tapasztalati tippek:
Nem kellene erőltetni nulla tudással az alap, gyári dwm installációt. Használj előre beállított, jól felpatchelt rendszert, ahol az igényeidnek megfelelő a kínálat.
Bár a beállítások száma nagy, hanyagolt a percenkénti variálást. Érdemes követni azt az elvet, hogy a gyári jó, és ha mégsem, akkor várj egy kicsit a változtatással. A legtöbb impulzus a változtatásra elmúlik, ha várunk vele.
A dwm-ben a billentyű kombinációkat a programban is beállíthatod, de sokkal egyszerűbb az sxhkd-t használni ehhez. A forráskódban csak azokat a kombinációkat teszem, amik a rendszert vezérlik és a terminált nyitják meg. A többi az sxhkd feladata.
Ha hiányolsz egy csempézési módot, a legtöbb esetben kiderül, hogy az nem is kell. sok megoldás van (az ohmycadwmben 12) ez messze túlmutat az igényeimen.
Elvileg bármi funkciót hozzáadhatsz, ha azt meg tudod írni, íratni. Tarts mértéket, hiszen az alapelv a mértékletesség. A meglévő lehetőségek, csempézési kiosztások, billentyű kombinációk, a tag-ek megismerése, használata és ezek begyakorlása sokkal több előnnyel jár, mint egy új funkció beépítése.
A dwm jellemzően billentyű vezérlésre épül, de van panelja is. Használd ezt a gyári panelt, mert illeszkedik a koncepcióba. A kellő funkcionalitása elegendő: indító ikonok, tag váltás, kijelzések, és tálca...
A dwm-hez a picom nagyon jól társítható, így a szépészeti, átlátszósági stb. igényeket is ki lehet elégíteni.
Ne add fel! Az ablakkezelős megoldások nagyon mások mint a megszokott módszerek. Kell egy idő arra, hogy megszokd, hogy itt minden rendezetten és a helyén fog megjelenni. Ez idegen lehet az elején.
Eszedbe se jusson csak a dwm-et feltenni az elején önmagában. Bármelyik ablakkezelővel és asztali környezettel jó el van a gépeden. Ha csak ez van fenn és jön valami probléma, akkor gondjaid lesznek. Bár lehet, hogy egy betű elütése miatt nem indul a dwm, de ha nem tudod gyorsan megoldani, akkor elmegy a kedved az egésztől!
Összegzés
A dwm nem egy mindenki számára készült, kényelmi funkciókkal teli ablakkezelő – éppen ellenkezőleg: egy tudatosan minimalista, forráskód-szinten konfigurálható eszköz, amely a sebességet, az átláthatóságot és a teljes kontrollt helyezi a középpontba. Cserébe azért, hogy a felhasználó hajlandó megtanulni a C alapjait és megbarátkozni a "szerkesztés → fordítás → újraindítás" ciklussal, cserébe kap egy rendkívül gyors, stabil, és korlátlanul testreszabható rendszert, amely pontosan úgy viselkedik, ahogyan a felhasználó szeretné – se többet, se kevesebbet.
Ez a fajta közvetlen, kompromisszumok nélküli kapcsolat a szoftver és a felhasználó között az, ami miatt a dwm évtizedek óta lelkes, elkötelezett közösséget tart fenn maga körül, annak ellenére (vagy éppen amiatt), hogy a mainstream szoftverfejlesztési trendekkel homlokegyenest ellenkező irányba halad.

Hozzászólások
Ügyes kis jószág, jó ideig
Beküldte berus -
Értékelés:
Ügyes kis jószág, jó ideig játszottam vele, de a foltozgatás azért elég sok időt elvett (főleg mikor kézzel kellett javítani), ezért idővel elengedtem... Nagyon hatékony, de a spectrwm vagy éppen a herbstluftwm sincs nagyon messze tőle, és sokkal egyszerűbb az élet velük.
Ügyes kis jószág, jó ideig
Beküldte balacy -
Értékelés:
számomra sokáig visszatartó erő volt a foltozgatás, mert messze túlmutatott azon a szinten, amivel foglalkozni akartam. Amióta van pár olyan előre konfigurált dwm, aminél ezt a munkát elvégezte valaki más, azóta már járható út lett nekem. Ami nincs benne az általam használt ohmycadwm-ben azt a mesterséges intelligencia bele tudja rakni. A legtöbb, ami eddig "hiányzott" megoldható volt, de kiderült nem is annyira kell nekem. Egy megoldás amit az MI segítségével megcsináltattam és használom is, hogy a keretre kattintva zárja be az ablakot. A többi ment a kukába.
Ügyes kis jószág, jó ideig
Beküldte berus -
Értékelés:
Mondjuk a Skynetet befogni foltozni, erre nem is gondoltam, jó ötlet...! Pedig én is sokat használom, nélküle herbstluftwm alatt a dzen2 ma is azt és ott jelenítene meg amit akar, mert rá nem jöttem volna... Mentségemre legyen mondva, a Skynetnek is meggyűlt vele a baja, több ügynök hosszas vallatása után végül a Claude mondta be a tutit (lehet, nekem voltak túl nagyok az elvárásaim a dzen2-vel)! Azért az Aeont most nem adom fel, hogy kipróbáljam a dwm foltozásra, de észben tartom!