En introduksjon til Linux window managers, og hvorfor du kanskje vil bytte til en tiling window manager!
Hva er en window manager?
Før jeg forklarer hva en tiling window manager er, bør du vite hva en window manager er:
En window manager er programvare som styrer utseende og plassering av vinduer innenfor et vindusystem i et grafisk brukergrensesnitt. De fleste av disse håndtererne er designet for å hjelpe til med å gi et skrivebordsmiljø, og de er til stede i operativsystemer som Windows og ChromeOS.
Så, hva er de forskjellige typene?
Window managere er vanligvis delt inn i fire klasser som beskriver hvordan vinduene oppdateres og tegnes.
Compositing: Dette er den mest vanlige formen for window managere, da de fleste av oss bruker en ofte uten å vite det. Et godt eksempel på dette er Windows dwm.exe (Desktop Window Manager). Hvordan denne typen fungerer, er ved å gi programmene uavhengige og separate buffer for hvert vindu. Deretter sammenstiller den outputen fra disse separate bufferne til et felles skrivebord.
Stacking: Også ofte kalt floating window manager er en window manager som tegner vinduer og tillater dem å overlappe uten bruk av en komposisjonsmetode.
Tiling: er en window manager som organiserer skjermen i gjensidig ikke-overlappende rammer, i motsetning til den mer typiske tilnærmingen med stabling av overlappende objekter koordinat-basert som gjøres for å etterligne “skrivebordsmetaforen”.
Dynamic: er en tiling window manager som “flislegger” vinduer basert på forhåndsdefinerte oppsett som brukeren kan bytte mellom. Et oppsett består ofte av en hoveddel og en sekundær del. Hoveddelen har vanligvis ett vindu, selv om antallet vinduer i denne delen kan endres. Målet er å gi plass til det viktigste vinduet mens den sekundære delen viser de gjenværende vinduene.
Hvorfor bør du bruke en flisleggings-vindushåndterer?
Først og fremst er tiling window managere svært konfigurerbar og utvidbare. Dette betyr at du virkelig kan gjøre det til ditt eget, ofte gjennom å konfigurere med Lua, Haskell, python, bash, C eller vanlige tekstkonfigurasjonsfiler.
For det andre er det mye enklere og mer effektivt å organisere skrivebordet ditt med tiling window managere. Du kan enkelt styre og flytte vinduer rundt på skrivebordet med tastatursnarveier du selv styrer og velger. Et godt eksempel på dette er å bruke sxhkd for å styre alle tastatursnarveiene når du bruker bspwm.
Møt en ekte GNU/Linux-bruker: - Jeg kjører en webserver på denne koronatesten!
For det tredje får du en bedre forståelse for operativsystemet, da du kanskje må konfigurere og sette opp paneler og et varslingssystem selv. Dette gir deg muligheten til virkelig å kontrollere hva som utgjør skrivebordsmiljøet ditt, og jeg vil påstå at det kan gjøre deg til en bedre sysadmin eller utvikler.
For det fjerde, ved å bruke en tiling window manager fjerner du “bortkastet” skjermplass, da den bruker all tilgjengelig størrelse på vinduet når den er i tiling modus. Dette sikrer også at du alltid vet hvilke apper som er åpne, da du alltid kan se dem. De har også stor støtte for multi head-systemer (flere skjermer).
Til slutt er det perfekt for sysadmins og utviklere som bruker hele dagen i en terminal eller med tekstredigering, da det er mer effektivt og lettere enn fullverdige skrivebordsmiljøer. Du får også muligheten til fullt ut å kontrollere arbeidsflyten din, og det er en virkelig god kombinasjon med vim og Emacs.
Bonus: Du kan se ut som en hacker fra en Hollywood-film 😎
Liste over noen kule flisleggings vindushåndterere å sjekke ut:
Dynamic:
- awsome: En hybrid window manager med batterier inkludert konfigurert i Lua som er bra for nybegynnere.
- dwm: Minimal ut av boksen konfigurert i C (du må rekompilere etter hver konfigurasjonsendring).
- xmonad: Suckless i naturen og skrevet og konfigurert i Haskell og kan derfor være den vanskeligste å konfigurere.
- i3: Veldig populær “dynamic” tiling window manager, skrevet i C og enkel å tilpasse med en konfigurasjonsfil.
- Sway (Wayland): En tiling Wayland-kompositor som er en drop-in erstatning for X11 i3 vindushåndterer.
Flislegging:
- bspwm: Lettvekter og minimalistisk hvor vinduene representeres i blader på et binært tre. Skrevet i C og enkelt å konfigurere med en konfigurasjonsfil.
- Qtile: Batterier inkludert og konfigurert med python, bra for nybegynnere.
Derfor valgte han Emacs over Vim: - Diskuterer ikke editorer, men ideologi
Dette er kult og alt, men jeg er ikke en Linux-bruker?
Ikke bekymre deg, det finnes alternativer for både Mac og Windows! Hvis du vil dyppe tærne dine i flisleggings vindushåndterer universet uten å forplikte deg til Linux, er disse noen gode alternativer å prøve ut.
Windows:
- FancyWM: FancyWM er en dynamic tiling window manager for Windows 10/11.
Mac:
- Amethyst: En xmonad-inspirert tiling window manager laget for MacOS.
Bonus: Hvordan får jeg oppsettet mitt til å se kult ut?
Det finnes communities som fokuserer kun på å gjøre sånn at skrivebordsmiljøet ser kult ut. Dette kalles ricing og kommer fra bilverdenen hvor RICE står for Race Inspired Cosmetic Enhancement. Ideen bak dette er å øke den opplevde ytelsen gjennom kosmetiske endringer ifølge urban dictionary. Hvis du vil bli inspirert av andres oppsett, bør du sjekke ut subredditen r/unixporn.