Čvc 03

i3wm XIII. – Polybar základy

V poradí trinástom článku sa budeme venovať alternatívnemu panelu pracujúcemu s i3wm či i3-gaps. Je ním polybar. Ide o vysoko konfigurovateľný bar postavenom na lemobar. Nakoľko ide naozaj o panel s mnohými možnosťami, rozhodla som sa informácie rozdeliť do dvoch článkov. Prvý sa bude venovať iba základom. So všeobecnou konfiguráciou sa oboznámime v druhom článku s názvom i3wm XIV. – Polybar konfigurácia a s konfiguráciou niektorých modulov v poslednom s názvom i3wm XV. – Polybar moduly.

 

Inštalácia programu

Inštalácia programu pomocou AUR pomocníkov:

yay -S polybar
yay -S polybar-git

Inštalácia programu bez použitia AUR pomocníkov:

git clone https://aur.archlinux.org/polybar.git
cd polybar
makepkg -sri

 

Pomoc:

polybar --help
polybar -h

Manuálová stránka a Wiki:

man polybar

 

Spustenie programu pri štarte

Príprava potrebných súborov:

Užívateľský konfiguračný súbor sa nachádza v ~/.config/polybar. Zložku je potrebné vytvoriť. Buď klikaním alebo cez príkazový riadok:

mkdir  ~/.config/polybar

 

Zložka musí obsahovať dva súbory. Konfiguračný súbor a súbor, ktorý spustí polybar pri štarte. Predvolený konfiguračný súbor sa nachádza v /usr/share/doc/polybar/config. Buď si ho skopírujeme klikaním alebo cez príkazový riadok:

cp /usr/share/doc/polybar/config ~/.config/polybar

 

Druhý súbor je potrebné vytvoriť a priradiť mu práva pre spúšťanie programov. Nazveme ho launch.sh. Referencie sú na Wiki. Otvoríme si nejaký textový editor:

gedit ~/.config/polybar/launch.sh

Obsah súboru:

#!/usr/bin/env sh

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch bar1 and bar2
polybar bar1 &
polybar bar2 &

echo "Bars launched..."

Súbor uložíme na potrebné miesto (~/.config/polybar/launch.sh) a priradíme mu potrebné povolenia (možnosť spustiť ako program). Buď klikaním alebo cez príkazový riadok:

chmod +x launch.sh
chmod +x ~/.config/polybar/launch.sh

 

Poznámka ku launch.sh:

Táto sekcia hovorí, že sa spustia dva panely. V prípade, že používame len jeden, stačí deklarovať iba jeden. Napríklad horný. Môžeme mu priradiť akékoľvek meno, no to musí súhlasiť s názvom sekcie v konfiguračnom súbore [bar/bar1].

# Launch bar1 and bar2
polybar bar1 &
polybar bar2 &

Ukážka vlastného mena [bar/top]:

# Launch bar/top
polybar top &

 

Spustenie programu pri štarte:

Pomocou nejakého textového editoru si otvoríme základný konfiguračný súbor pre i3:

gedit ~/.config/i3/config

Do sekcie s automaticky spúšťaným programami pridáme tento riadok, ktorý polybar spustí pri štarte:

exec_always --no-startup-id ~/.config/polybar/launch.sh

Aby sa nám nespúšťali dva paneli (napríklad i3blocks a polybar), je potrebné vymazať alebo pomocou mriežky (#) zakomentovať celý úsek patriaci i3bar:

bar {
   i3bar_command i3bar -t
   status_command i3blocks -c ~/.config/i3/i3blocks.conf
}

V mojom prípade ide o tieto konkrétne riady:

bar {
   i3bar_command i3bar -t
   status_command i3blocks -c ~/.config/i3/i3blocks.conf
   position top
   height 21
   workspace_buttons yes
   tray_output none
   strip_workspace_numbers no
   bindsym button2 exec $HOME/.config/i3/Scripts/rofi-my
   bindsym button3 exec $HOME/.config/i3/Scripts/morc_menu
   font pango:Hack 11
   colors {
       background #303d44ff
       statusline #303d44
       separator  #303d44
       focused_workspace  #5994ad #5994ad #303d44
       active_workspace   #5994ad #5994ad #303d44
       inactive_workspace #303d44 #303d44 #5994ad
       urgent_workspace   #303d44 #303d44 #4f6571
   }
}

Pre zobrazenie novo pridaného panelu musíme reštartovať i3 pomocou klávesovej skratky:

$mod+Shift+r

 

Toto platí aj opačne. Keď chceme počas dňa zmeniť panel z polybar na i3blocks, musíme pomocou mriežky (#) zakomentovať alebo úplne vymazať riadok, ktorý spustí polybar pri štarte:

# exec_always --no-startup-id ~/.config/polybar/launch.sh

Následne pre zobrazenie napríklad i3blocks musíme i3 reštartovať pomocou klávesovej skratky:

$mod+Shift+r

Polybar sa však nestratí. Zmení sa iba poradie (priorita) panelov. Treba ho ukončiť v nejakom správcovi úloh ako je htop.

 

A výsledok môže vyzerať aj takto:

Napsat komentář

Your email address will not be published.

%d blogerům se to líbí: