Кратка шетња кроз i3 менаџер прозора

Једном када нормална Линукс дистрибуција досади, када проблеми са драјеверима буду ријешени, када се ријешимо предрасуда везаних за Линукс, када се помиримо са недостатком Фотошопа и осталог професионалног софтвера који данас мање-више сви користимо јер волимо да мислимо да смо професионалци иако то нисмо, и када једноставно коришћење Линукса једноставно не представља никакав изазов, Линуксаши воле да пусте браду (шмрц, шмрц, ја је не могу пустити) и да траже сљедећи изазов.

НеверForgeт

У томе тренутку прозори апликација постану сувишни, јер реално, кроз команде у терминалу можеш већину ствари урадити брже, боље и једноставније. Прозори апликација које користимо у случају када је коришћење терминала напорно се једноставно повећава пошто Линуксаши обично имају већу контролу над хардвером јер нам не треба 20 јебених гигабајта простора да инсталирамо јебени оперативни систем и додатних 20 јебених гигабајта простора да инсталирамо Visual Studio да би испрограмирали нешто, коришћење Аlt + Tab пречице постане напорно јер мораш 10 пута притиснути Tab да дођеш до прозора до којег желиш.

Тада се почиње јављати потреба да умјесто десктоп окружења почнемо да користимо нешто што ће нам олакшати управљање прозорима, од којих обично велики постотак чине терминали. Тада на сцену ступа прелазак на сљедећи ниво и коришћење менаџера прозора (енг. Window Manager).

Пошто је Линукс кул зато што нам даје опција колико нам srce пожели, одма долазимо до проблема: који од њих инсталирати? Arch Wiki тренутно броји ни мање ни више него 55. Како изабрати један од њих? Након што сам потрошио сате читајући о њима, упоређујући их, гледајући који од њих је испрограмиран у којем програмском језику, схватио сам да сам једноставно изгубио неколико сати живота и вратио се старим навикама, типа испијање пива док се свађам по Интернету са људима о томе коју Линукс дистрибуцију Елиот користи у серији Mr.Robot. Читаву идеју о коришћењу менаџера прозора стављам у ладицу у својој глави и одлажем за неки други пут.

Идеју да се вратим на овај садомазосихтични потез ми је дао неки сасвим рандом лик када сам налетио на његову YouTube playlist-u од три видеа у којој објашњава i3. Одгледам први видео и нешто мало другог, схватам да лик зна шта прича и објашњава ствари фино и корисно, те изврших sudo apt-get install i3 и упустих се и сам у ту авантуру звану коришћење менаџерима прозора.

Шта је i3?

i3 је, укратко речено, менаџер прозорима. Не ради апсолутно ништа друго осим што олакшава навигацију између прозора. Некада се зове и i3wm да га људи не мијешају са Интеловим i3 процесорима или овим чудним градским теренцем (шта год то било) који је избацио BMW.

i3 је сасвим добар и брз у том једином задатку којег има. Лагано могу урадити нешто типа ово и имати пет терминала на екрану између којих ми је сасвим лагано скакати из једнога у други и све их посматрати истовремено:

Међутим, пошто ипак причамо о Линуксу, неки цар се није слагао са тиме што су аутори i3-а жељели да искористе сваки пиксел на екрану, те је створио копију (програмерски речено: форк) коју је назвао i3-gaps. Ова копија практички доноси само једну велику разлику, а то је омогућава да додаш размак од неколико пиксела између прозора сваки пут када отвориш нови, тако да претходни screenshot са размаком између прозора изгледа овако:

Ово већ има више смисла, зар не?

Како изгледа i3?

Када га инсталирате, одјавите се, изаберете га као своје десктоп окружење, укуцате своју шифру и поново се пријавите, дочека вас нешто овако:

Укратко речено, када први пут покренете i3, питаће вас да који тастер желите да користите као главни да радите све што радите и као опцију вам пружити или Аlt или Start на тастатури. Онај који изаберете постаје ваш $mod тастер, а свака пречица која вам је потребна функционише по правилу $mod + пречица.

Да би покренули неку апликацију, морате да притиснете $mod + d и укуцате име програма који желите да покренете. Пошто када покренем дифолтни i3 многе пречице на тастатури не раде док их не омогућите, а пречица за screenshot је једна од њих, да би усликао ово што сам усликао, морао сам да покренем $mod + d и да покренем gnome-screenshot.

Једном када инсталирате i3, потребно је да знате само за једну датотеку: ~/.i3/config

Ово је обична текстуална датотека преко којег едитујете изглед вашег i3 менаџера. Коментари у коду почињу са # карактером и обично преко коментара можете да сконтате која линија ради шта. Уколико коментари не помогну, Линуксаши већ знају шта да раде: RTFM (енг. Read The Fucking Manual).

Наравно, као и свака документација, документација за i3 је дуга и напорна за читање и садржи неких 13 хиљада ријечи. Зато сам ја био апсолутно одушевљен када је изашла одлична YouTube серија која ми је објаснила ствари на људски језик.

Пречице на тастатури

i3 долази са неких 50ак својих пречица на тастатури, међутим у пракси на неке од њих не морате ни помислити при свакодневном коришћењу. Неке од најважнијих су сљедеће:

  • Преко $mod + d покрећете апликацију преко које покрећете остале апликације.
  • Преко $mod + 1..9 се помијерате од првог до деветог workspace-а (0 је десети).
  • Преко $mod + Shift + 1..9 помијерате прозор на којем сте са једног на други workspace.
  • Преко $mod + r улазите у rеsize mode преко којег можете да повећате или смањите неки прозор.
  • Преко $mod + Shift + r рефрешујете i3 да бисте примјенили неке промјене које сте направили у својој config датотеци.
  • Да бисте се одјавили, потребно је да притиснете $mod + Shift + е
  • Да бисте затворили било коју апликацију, само притисните $mod + Shift + q

Једном када имате више прозора отворених у исто вријеме, нуде вам се три опције како да их поређате:

  1. Staccing mode ($mod + s): прозори су поређани један изнад другог.
  2. Tabbing mode ($mod + w): прозори су поређани у табове.
  3. Foating mode ($mod + е): прозори су поређани један до другога (ово је стандард).

Једном када се навикнете на ове команде, сасвим је лако прећи са једног прозора на други, са једног workspace-а на други, помијерање са овог на онај workspace и све друго што вам падне на памет. Једино што морате да запамтите јесте реченица коју ће вам сваки корисник менаџера прозора рећи:

Imaš ли проблема са помијерањем прозора? Не? Онда не треба мене да питаш како да урадиш X или Y.

Дакле, пошто је једина функција менаџера прозора фукција… па… менаџовања прозора, то аутоматски значи да за сваки проблем друге природе није крив менаџер прозора већ неки други дио вашег система.

Апликације које надопуњују i3

Постоји много различитих скрипти које служе тиме да неки дио i3 окружења побољшају. Оне које ја редовно користим су i3blocks и rofi.

i3blocks је aлтернативни статус бар који је, по мом личном искуству, много лакши за едитовање, а „rofi“ је другачији покретач апликација који се може едитовати да изгледа нешто боље од оног који долази прединсталиран са i3 менаџером. Типа овако:

Терминал3

Поред ових апликација, користим и своју властиту малу bash скрипту за приказивање броја GitHub нотификација и i3lock скрипту коју сам копирао од не знам ни ја од кога која ми омогућава да пречицом за закључавање екрана постигнем нешто типа ово:

Зар није кул?

dotfiles објашњење

Пошто је помало глупо у потпуности креирати своје властите скрипте за конфигурисање менаџера прозорима, а Линукс заједница је позната по дијељењу, у сржи коришћења како i3-а, тако и других менаџера прозора је заправо дијељење конфигурација са другима. Те конфигурације се најчешће зову dotfiles, или ти га датотеке са тачком, пошто се конфигурације обично обављају у сакривеним датотекама наравно.

Тренутно GitHub броји 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 одличну YouTube playlist-u од мог имењака, ништа вас не спрјечава да и ви пређете на сљедећи ниво и почнете да користите window manager.

За крај…

Screenshot-и моје тренутне конфигурације

Кратко објашњење Фајерфокс модификације: Stylish + Twily’s Powerline Fajerfoks CSS + random Unsplash слика + New Tab Override Фајерфокс екстензија јер су људи из Mozille шупци који због Windows корисника који инсталирају глупости уклањају корисне ствари које ми power корисници свакодневно користимо.