Jednom kada normalna Linux distribucija dosadi, kada problemi sa drajeverima budu riješeni, kada se riješimo predrasuda vezanih za Linux, kada se pomirimo sa nedostatkom Photoshop-a i ostalog profesionalnog softvera koji danas manje-više svi koristimo jer volimo da mislimo da smo profesionalci iako to nismo, i kada jednostavno korišćenje Linux-a jednostavno ne predstavlja nikakav izazov, Linuxaši vole da puste bradu (šmrc, šmrc, ja je ne mogu pustiti) i da traže sljedeći izazov.

NeverForget

U tome trenutku prozori aplikacija postanu suvišni, jer realno, kroz komande u terminalu možeš većinu stvari uraditi brže, bolje i jednostavnije. Prozori aplikacija koje koristimo u slučaju kada je korišćenje terminala naporno se jednostavno povećava pošto Linuxaši obično imaju veću kontrolu nad hardverom jer nam ne treba 20 jebenih gigabajta prostora da instaliramo jebeni operativni sistem i dodatnih 20 jebenih gigabajta prostora da instaliramo Visual Studio da bi isprogramirali nešto, korišćenje Alt + Tab prečice postane naporno jer moraš 10 puta pritisnuti Tab da dođeš do prozora do kojeg želiš.

Tada se počinje javljati potreba da umjesto desktop okruženja počnemo da koristimo nešto što će nam olakšati upravljanje prozorima, od kojih obično veliki postotak čine terminali. Tada na scenu stupa prelazak na sljedeći nivo i korišćenje menadžera prozora (eng. Window Manager).

Pošto je Linux kul zato što nam daje opcija koliko nam srce poželi, odma dolazimo do problema: koji od njih instalirati? Arch Wiki trenutno broji ni manje ni više nego 55. Kako izabrati jedan od njih? Nakon što sam potrošio sate čitajući o njima, upoređujući ih, gledajući koji od njih je isprogramiran u kojem programskom jeziku, shvatio sam da sam jednostavno izgubio nekoliko sati života i vratio se starim navikama, tipa ispijanje piva dok se svađam po Internetu sa ljudima o tome koju Linux distribuciju Elliot koristi u seriji Mr. Robot. Čitavu ideju o korišćenju menadžera prozora stavljam u ladicu u svojoj glavi i odlažem za neki drugi put.

Ideju da se vratim na ovaj sadomazosihtični potez mi je dao neki sasvim random lik kada sam naletio na njegovu YouTube playlist-u od tri videa u kojoj objašnjava i3. Odgledam prvi video i nešto malo drugog, shvatam da lik zna šta priča i objašnjava stvari fino i korisno, te izvrših sudo apt-get install i3 i upustih se i sam u tu avanturu zvanu korišćenje menadžerima prozora.

Šta je i3?

i3 je, ukratko rečeno, menadžer prozorima. Ne radi apsolutno ništa drugo osim što olakšava navigaciju između prozora. Nekada se zove i i3wm da ga ljudi ne miješaju sa Intelovim i3 procesorima ili ovim čudnim gradskim terencem (šta god to bilo) koji je izbacio BMW.

bmwi-i3-more-than-a-car-ts

i3 je sasvim dobar i brz u tom jedinom zadatku kojeg ima. Lagano mogu uraditi nešto tipa ovo i imati pet terminala na ekranu između kojih mi je sasvim lagano skakati iz jednoga u drugi i sve ih posmatrati istovremeno:

Terminal

Međutim, pošto ipak pričamo o Linuxu, neki car se nije slagao sa time što su autori i3-a željeli da iskoriste svaki piksel na ekranu, te je stvorio kopiju (programerski rečeno: fork) koju je nazvao i3-gaps. Ova kopija praktički donosi samo jednu veliku razliku, a to je omogućava da dodaš razmak od nekoliko piksela između prozora svaki put kada otvoriš novi, tako da prethodni screenshot sa razmakom između prozora izgleda ovako:

Terminal2

Ovo već ima više smisla, zar ne?

Kako izgleda i3?

Kada ga instalirate, odjavite se, izaberete ga kao svoje desktop okruženje, ukucate svoju šifru i ponovo se prijavite, dočeka vas nešto ovako:

i3izgled

Ukratko rečeno, kada prvi put pokrenete i3, pitaće vas da koji taster želite da koristite kao glavni da radite sve što radite i kao opciju vam pružiti ili Alt ili Start na tastaturi. Onaj koji izaberete postaje vaš $mod taster, a svaka prečica koja vam je potrebna funkcioniše po pravilu $mod + prečica.

Da bi pokrenuli neku aplikaciju, morate da pritisnete $mod + d i ukucate ime programa koji želite da pokrenete. Pošto kada pokrenem default-ni i3 mnoge prečice na tastaturi ne rade dok ih ne omogućite, a prečica za screenshot je jedna od njih, da bi uslikao ovo što sam uslikao, morao sam da pokrenem $mod + d i da pokrenem gnome-screenshot.

Jednom kada instalirate i3, potrebno je da znate samo za jednu datoteku: ~/.i3/config

Ovo je obična tekstualna datoteka preko kojeg editujete izgled vašeg i3 menadžera. Komentari u kodu počinju sa # karakterom i obično preko komentara možete da skontate koja linija radi šta. Ukoliko komentari ne pomognu, Linuxaši već znaju šta da rade: RTFM (eng. Read The Fucking Manual).

Naravno, kao i svaka dokumentacija, dokumentacija za i3 je duga i naporna za čitanje i sadrži nekih 13 hiljada riječi. Zato sam ja bio apsolutno oduševljen kada je izašla odlična YouTube serija koja mi je objasnila stvari na ljudski jezik.

Prečice na tastaturi

i3 dolazi sa nekih 50ak svojih prečica na tastaturi, međutim u praksi na neke od njih ne morate ni pomisliti pri svakodnevnom korišćenju. Neke od najvažnijih su sljedeće:

  • Preko $mod + d pokrećete aplikaciju preko koje pokrećete ostale aplikacije.
  • Preko $mod + 1..9 se pomijerate od prvog do devetog workspace-a (0 je deseti).
  • Preko $mod + Shift + 1..9 pomijerate prozor na kojem ste sa jednog na drugi workspace.
  • Preko $mod + r ulazite u resize mode preko kojeg možete da povećate ili smanjite neki prozor.
  • Preko $mod + Shift + r refrešujete i3 da biste primjenili neke promjene koje ste napravili u svojoj config datoteci.
  • Da biste se odjavili, potrebno je da pritisnete $mod + Shift + e.
  • Da biste zatvorili bilo koju aplikaciju, samo pritisnite $mod + Shift + q.

Jednom kada imate više prozora otvorenih u isto vrijeme, nude vam se tri opcije kako da ih poređate:

  1. Stacking mode ($mod + s): prozori su poređani jedan iznad drugog.
  2. Tabbing mode ($mod + w): prozori su poređani u tabove.
  3. Floating mode ($mod + e): prozori su poređani jedan do drugoga (ovo je standard).

Jednom kada se naviknete na ove komande, sasvim je lako preći sa jednog prozora na drugi, sa jednog workspace-a na drugi, pomijeranje sa ovog na onaj workspace i sve drugo što vam padne na pamet. Jedino što morate da zapamtite jeste rečenica koju će vam svaki korisnik menadžera prozora reći:

Imaš li problema sa pomijeranjem prozora? Ne? Onda ne treba mene da pitaš kako da uradiš X ili Y.

Dakle, pošto je jedina funkcija menadžera prozora fukcija… pa… menadžovanja prozora, to automatski znači da za svaki problem druge prirode nije kriv menadžer prozora već neki drugi dio vašeg sistema.

Aplikacije koje nadopunjuju i3

Postoji mnogo različitih skripti koje služe time da neki dio i3 okruženja poboljšaju. One koje ja redovno koristim su i3blocks i rofi.

i3blocks je alternativni status bar koji je, po mom ličnom iskustvu, mnogo lakši za editovanje, a rofi je drugačiji pokretač aplikacija koji se može editovati da izgleda nešto bolje od onog koji dolazi predinstaliran sa i3 menadžerom. Tipa ovako:

Terminal3

Pored ovih aplikacija, koristim i svoju vlastitu malu bash skriptu za prikazivanje broja GitHub notifikacija i i3lock skriptu koju sam kopirao od ne znam ni ja od koga koja mi omogućava da prečicom za zaključavanje ekrana postignem nešto tipa ovo:

Sifrovani Terminal

Zar nije kul?

dotfiles objašnjenje

Pošto je pomalo glupo u potpunosti kreirati svoje vlastite skripte za konfigurisanje menadžera prozorima, a Linux zajednica je poznata po dijeljenju, u srži korišćenja kako i3-a, tako i drugih menadžera prozora je zapravo dijeljenje konfiguracija sa drugima. Te konfiguracije se najčešće zovu dotfiles, ili ti ga datoteke sa tačkom, pošto se konfiguracije obično obavljaju u sakrivenim datotekama naravno.

Kud svi, tud i ja, tako da sam kreirao svoj dotfiles GitHub repozitorij na kojem, ako pažljivo gledate, možete da pronađete sve od moje GitHub skripte, preko i3blocks konfiguracije, komande koju koristim za rofi i i3lock skripte, pa sve do pozadina koje koristim.

Trenutno GitHub broji negdje oko 66 hiljada repozitorija koje se zovu dotfiles. Svakako najbolje mjesto za dijeljenje screenshot-a takvih konfiguracija je, naravno, /r/unixporn (konfiguracije specifične za i3 su ovdje). Uz ova dva resursa i ovu odličnu YouTube playlist-u od mog imenjaka, ništa vas ne sprječava da i vi pređete na sljedeći nivo i počnete da koristite window manager.

Za kraj…

Screenshot-i moje trenutne konfiguracije

NeverForget

Terminal10

Screenshot from 2016-04-24 04:11:50

Browser

Kratko objašnjenje Firefox modifikacije: Stylish + Twily’s Powerline Firefox CSS + moja Firefox početna stranica + random Unsplash slika + New Tab Override Firefox ekstenzija jer su ljudi iz Mozille šupci koji zbog Windows korisnika koji instaliraju gluposti uklanjaju korisne stvari koje mi power korisnici svakodnevno koristimo.