i3 jest świetne!

W trakcie sesji zacząłem robić to co każdy student - unikać nauki jak tylko się da, więc postanowiłem w końcu przerzucić się na tiling window managera - i3wm. Myślałem, że konfiguracja zajmie mi nie wiadomo ile czasu… ale byłem w błędzie!

Konfiguracja, którą dostajemy out-of-box jest świetna, dodatkowo samo czytanie jej również nie jest uciążliwe. Być może niektóre domyślne ustawienia czy bindingi nie są najtrafniejsze, ale mimo wszystko jest to bardzo przyjazne środowisko dla kogoś, kto i tak większość czasu spędza w terminalu.

Dodatkowo mogę polecić to środowisko dla każdego, kto chce spróbować czegoś innego niż standardowy Gnome czy KDE. Na laptopie nie jestem w stanie wyobrazić sobie już niczego innego, bo nie trzeba ściągać rąk z klawiatury i sięgać po mysz zbyt często (jak dla mnie na plus, ale de gustibus… Z jakiegoś dziwnego powodu ludzie korzystają z MacOSX).

A teraz troszkę szczegółów, które wymagały usprawnienia. (Plik konfiguracyjny najprawdobodobniej można znaleźć w ~/.config/i3/config).

Zmiana alt na super

Pierwsza rzecz, która rzuca się w oczy. Alt jest jak dla mnie dziwnym wyborem, ponieważ sporo aplikacji z niego korzysta, więc przemapowanie go na tzw. super było dla mnie oczywiste (dla niewtajemniczonych będzie to windows key).

i3 układ klawiszy

Zgodnie z dokumentacją należy zamienić wszystkie wystąpienia Mod1 na Mod4, aby osiągnąć takie zachowanie. W Vimie wystarczy wydać takie zaklęcie:

    :%s/Mod1/Mod4/g

Dla pewności można jeszcze dorzucić na koniec c, żeby interaktywnie sprawdzić każde dopasowanie, ale ja nie miałem żadnych problemów.

Korzystanie z powiadomień aktywności w obszarach roboczych

Niesamowicie pomocny okazał się być artykuł dotyczący skonfigurowania irssi w takie sposób, aby w przypadku wysłania wiadomości workspace, w którym znajduje się otwarte okno z programem, pojawiało się podświetlenie na czerwono, które ma zwrócić uwagę na ten workspace.

Nie będę się tutaj niepotrzebnie rozpisywać po prostu zachęcam do skonfigurowania sobie w ten sposób urxvt oraz irssi - zdecydowanie ułatwia korzystanie z IRC :).

W każdym razie takie ustawienie pozwala na skonfigurowanie swojej powłoki w taki sposób, aby długo wykonujące się polecenia również powiadamiały o swoim zakończeniu.

W przypadku Basha można napisać na przykład taką prostą funkcję:

    function urgency_hint_i3 () {
        echo -e '\a'
    }

Aby wszystko działało jak należy wystarczy dodać wywołanie tej funkcji do zmiennej PS1 określającej co ma sie wyświetlić jako zachętka powłoki.

U mnie wygląda ona następująco:

    export PS1="\u@\h:[\w]: \$?\$(urgency_hint_i3)\n\$ "

Co daje taki efekt:

    jakub@jotunheimr:[~]: 0
    $ 

I w przypadku gdy nie znajduję się w danym workspace'ie dostaję taką wskazówkę:

i3 jak wygląda hint

Jak dla mnie jest to booster jak chodzi o produktywność ;) Może komuś się to przyda.


Napisz mi co myślisz przez e-mail