Hlavní navigace

Co chybělo nebo se nevešlo o Openboxu

Jakub Šťastný

V posledním díle našeho seriálu se budeme věnovat tématům, na která se zatím nedostalo. Probereme si používání Openboxu jako WM v samostatných desktopových prostředích, dále se podíváme na srovnání s ostatními *boxy a při tom všem si ještě stihneme napsat drobný bashovský skriptík s GUI k tvorbě screenshotů.

Openbox v kompletních desktopových prostředích

Ano, Openbox můžete vcelku snadno napasovat do svého KDE, Gnome nebo XFCE a využívat tak funkcionality obou prostředí zároveň. Ostatně podívejte se na screenshot níže. Klasické KDE a v něm openboxové pipe-menu. Chcete-li si to vyzkoušet, stačí zadat příkaz openbox --replace. Lépe se takto debugují pipe-menu, hned vidím, co se vypsalo do konzole za chybu.

Bohužel všechna tato prostředí se s Openboxem „perou” když ne třeba o klávesové zkratky, tak alespoň o plochu. Protože se patrně k menu standardním způsobem nedostanete, doporučuji si jej v rc.xml  namapovat na klávesovou zkratku:

<keybind key="C-A-m">
   <action name="ShowMenu">
      <menu>root-menu</menu>
   </action>
</keybind>

Vyplatí se to používat? Samozřejmě záleží jen na vás. Já osobně si myslím, že je to opravdu zajímavé a stojí to minimálně za zkoušku. Přináší to s sebou slušnou funkcionalitu. Já ale preferuji jednoduchost, a tedy volím Openbox samotný.

OpenBox 1 v KDE

KDE v kombinaci s Openboxem

Srovnání s dalšími WM

V diskusi k prvnímu dílu se objevila užitečná připomínka, že chybí srovnání s jinými *boxy, takže to nyní konečně, alespoň částečně, napravím.

Protože jsem nikdy k Blackboxu příliš neinklinoval, zkusím alespoň srovnání s Fluxboxem. Okamžitě jak jsem Openbox poprvé pustil, napadlo mě, zda má také taby jako Fluxbox. Bohužel nemá, takže zatím můžeme tuto užitečnou featurku fluxboxistům jen závidět. Ovšem Fluxboxu zase chybí pipe-menu, což je jedna z nejhezčích vlastností Openboxu. U Fluxboxu se mi dále nelíbí, že když máte aktivované menu, tak k tomu, abyste jej nechali zmizet, nestačí kliknout prostě někam, jako třeba do otevřeného souboru, ale musíte kliknout přímo na plochu. Co se týče konfiguračních souborů, Openbox používá standardizované XML, kdežto Fluxbox jde klasickou unixovou cestou a využívá prostě normální textové soubory. Oboje má výhody i nevýhody, ať už je to dostupnost zvýrazňování syntaxe ve všech větších nespecializovaných editorech, dostupnost knihoven pro parsování nebo na druhou stranu zase fakt, že se ve fluxboxových konfigurácích tak moc nenapíšete.

Pěkná vlastnost Fluxboxu je také přesouvání oken skrze aktivní okraj plochy, což jsem u Openboxu nějak nenašel. A pravdou je, že zvláštní startovací soubor, jako má Fluxbox, také není tak úplně od věci. Za příjemné taktéž považuji, že po editaci souboru s menu není třeba dávat znovunačtení konfiguračních souborů (což nelze prohlásit o dalších konfiguračních souborech Fluxboxu, ovšem menu je to, co člověk asi edituje nejvíce, takže proč ne). Musím se přiznat, že Fluxbox na můj vkus obsahuje poměrně dost zbytečností, jednak panel (navíc dle mého soudu nepříliš dobrý, už jen to ořezávání trayikon nepůsobí příliš dobrým dojmem) a také různé nabídky na úpravu něčeno, co bych stejně řešil přes konfigurační soubor… ale věřím, že spoustě lidí to vyhovuje, nakonec Linux je přece o svobodě volby, nebo ne?

Pár tipů závěrem

Nevíte, čím udělat screenshot, když „nefunguje” PrintScreen? Zkuste scrot nebo import! Scrot je samostatný balíček, import je součástí balíčku imagemagick.

scrot -cd 5 Openbox.png
# volba -cd 5 znamená pětivteřinové odpočítávání před vytvoření screenshotu
import Openbox.png

Chtěli byste raději nějaké klikátko? To není problém, můžete zkusit třeba tento skript:

#!/bin/bash

SCREENSHOT="/home/botanicus/screenshots/`zenity --entry --title "Uložit screenshot" --text "Jméno screenshotu:" --entry-text ".png"`" || exit

if [ -f $SCREENSHOT ] ; then
   zenity --error --title "Screenshot" --text "Chyba: soubor již existuje."
   exit 1
else
   scrot $SCREENSHOT
fi

A proč si to rovnou nenamapovat na PrintScreen, že ano?

<keybind key="Print">
   <action name="execute">
      <execute>/home/botanicus/.config/openbox/screenshot.sh</execute>

   </action>
</keybind>

Čímž jsem zároveň chtěl dát tip na prográmek zenity, se kterým můžete dělat jednoduché GUI pro své skriptíky.

Pokud používáte nautilus, určitě jej spouštějte s parametrem --no-desktop, zamezíte tím nataháním půlky Gnome do RAM a nahraní plochy z Gnome. Pokud se vám to stane, ani v nejmenším neváhejte poštvat na něj kill nautilus, ostatně je to asi jediná možnost, jak se toho zbavit.

Slíbil jsem, že dám ke stažení svá pipe-menu, takže tady jsou. Podotýkám, že jsou pořád dost „testing”, určitě je tam spoustu věcí, co se dají udělat lépe, spoustu nedotažeností a podobně. To je prostě proto, že nemám čas jen na Openbox. Za patche, návrhy nebo připomínky budu vděčen. Minulá diskuse byla dosti bash pozitivně naladěna, a někteří čtenáři napsali, že se pokusí přepsat má řešení v Ruby do Bashe, takže se těším, vyleze-li z toho něco zajímavého.

Zhodnocení

Openbox na mě udělal velmi pozitivní dojem, a tak když jsem před asi dvěma měsíci dělal čistku v systému, dal jsem Gnome vale a musím říct, že mi nikterak nechybí.

Anketa

Zaujal vás seriál o Openboxu?

Našli jste v článku chybu?