Konfigurujeme Openbox

4. 1. 2007
Doba čtení: 4 minuty

Sdílet

V dnešním článku si náš Openbox patřičně „vytuníme”. Ale pozor, rozhodně nezůstaneme jenom u nezbytných úprav konfiguračních souborů patřících přímo Openboxu, přenastavíme si i například vzhled GTK+ aplikací, téma kurzoru a také se koukneme na startovací skriptík.

Veškerá specifická konfigurace Openboxu se nachází ve složce ~/.config/openbox, systémově v /etc/xdg/openbox. Tedy… veškerá konfigurace – jsou to všehovšudy dva soubory – menu.xml a rc.xml. V prvém je menu, ve druhém je všechno ostatní nastavení Openboxu.

Startovací skript

Jeden z prvních problémů, který budete patrně řešit je, že Openbox nemá žádné „po spuštění”, což poznáte o to palčivěji, že Openbox neukládá poslední sezení, jak to dělá KDE, Gnome či XFCE. Nebojte, řešení je prosté. Startujete-li Xka přes příkaz startx, stačí zeditovat soubor ~/.xinitrc, startujete-li přes GDM či KDM, pak editujte soubor ~/.xsession. Oba soubory vypadají stejně. Jsou to klasické bashovské skripty. Pro inspiraci přikládám jednoduchou ukázku souboru  ~/.xinitrc:

#!/bin/bash

# Načtení obrázku na pozadí
eval `cat ~/.fehbg` &

# Totéž lze zařídit příkazem display z balíku ImageMagick
display -dispose Background -window root /home/user/desktop.jpg

# Spuštění screensaveru
xscreensaver -no-splash &

gkrellm &
conky &
glipper &
pypanel &
tilda &

# Spuštění openboxu, musí být jako poslední
exec openbox

Menu

S vytvořením menu může pomoci prográmek Menumaker. Mimochodem – ten nezvládá jen Openboxové menu, ale i menu pro Deskmenu, FluxBox, IceWM, WindowMaker a XFCE.

mmaker -v OpenBox3

Když toto budete mít, je vhodné si vygenerované menu patřičně přiohnout. Přikládám komentovanou ukázku:

<!-- XML HLAVIČKA -->
<?xml version="1.0" encoding="utf-8"?>
<!-- ZAČÁTEK CELÉHO MENU -->

<openbox_menu>
  <menu id="root-menu" label="OpenBox">
    <!-- PIPE-MENU -->
    <menu execute="~/.config/openbox/pipe/todo.rb" id="todo" label="TODO"/>
    <!-- ODDĚLOVAČ -->
    <separator/>

    <!-- KLASICKÉ MENU -->
    <menu id="ob" label="Openbox">
      <item label="Obtuner">
        <action name="Execute">
          <execute>
            obtuner
          </execute>

        </action>
      </item>
      <item label="Obmenu">
        <action name="Execute">
          <execute>
            obmenu
          </execute>

        </action>
      </item>
    </menu>
    <item label="Reconfigure">
      <action name="Reconfigure"/>
    </item>

    <item label="Exit">
      <action name="Exit"/>
    </item>
</openbox_menu>

Myslím, že na tom není nic nepochopitelného. Celé menu je v párovém tagu <openbox_menu>, každé jedno submenu má svůj libovolný, ale jedinečný identifikátor ( id) a název ( label), každá položka v menu je uvnitř párového tagu <item> s povinným parametrem label, tedy jméno položky a je definována vlastní akcí. Akce jsou dostupné v Openboxu celkem tři: Exit, Reconfigure a Execute. Reconfigure znovu načte nastavení ( rc.xml a menu.xml), exit samozřejmě ukončí Openbox a Execute spouští program ohraničený párovým tagem execute. Poslední věc, která stojí za povšimnutí je další typ menu – pipe-menu. Jak na pipe-menu si řekneme v dalším díle, zde si jen povšimněte, jak se umisťuje do Openboxího menu – stačí použít tag menu, ovšem v tomto případě je nepárový a má povinný parametr id, label a hlavně execute, odkazující na skript, který se má vykonat. A samozřejmě separátor produkuje oddělovač

Patrně vám z toho vyleze něco takového:

Openbox menu

Nastavení vzhledu GTK aplikací

Když jsem poprvé spustil pod Openboxem svůj oblíbený GVim, pokoušela se o mne mrtvice. Defaultní téma je decentně řečeno úplně odporné. Naštěstí není problém to změnit. Za tímto účelem nainstalujeme prográmek gtk-chtheme. Podotýkám, že nastavuje vzhled GTK 2 aplikací. Pro jedničkovou verzi GTK je zde gtk-theme-switch. Také existuje gtk-theme-switch2, který je opět pro GTK2, ovšem gtk-chtheme je dle mého soudu rozhodně lepší alternativa.

Téma kurzoru

Nastavuje se v souboru ~/.Xdefaults:

Xcursor*theme:   [jmeno tematu kursoru]

Třeba já tam mám tohle:

Xcursor*theme: whiteglass

Obrázek na pozadí

Obrázek na pozadí vám umožní umístit prográmek feh, příkaz display z balíku ImageMagick, případně utilitka xsetbg.

feh:
feh --bg-scale obrázek.jpg

display:

display -dispose Background -window root obrázek.jpg

xsetbg:

ict ve školství 24

xloadimage -onroot obrázek.jpg

Ikony

Patrně vám nesdělím žádnou novinku, upozorním-li vás na to, že složky s ikonami musí být ve složce /usr/share/icons/, případně v ~/.icons. Jaké téma ikon jste si zvolili, se zapisuje do souboru ~/.gtkrc.mime. Zde se dá ovšem navolit mnohem více věcí, doporučuji nahlédnout do nějakého gtkrc souboru přítomného v tématech pro GTK.

# kdyz chcete, stačí si vybrat již existující gtkrc z nějakého tématu vzhledu:
include "/home/botanicus/.themes/Clearsoft/gtk-2.0/gtkrc"

gtk-font-name = "DejaVuSansCondensed 10"  # defaultní font
gtk-icon-theme-name = "Tango"             # složka Tango je podsložka /usr/share/icons

Závěr

Nějak se nám to natáhlo, takže konfigurace bude mít ještě další díl a rozhodl jsem se přidat ještě závěrečný díl, kde bude, co vám kde chybělo, mj. se tam objeví srovnání s ostatními lehkými WM a la Fluxbox, jak se objevilo v diskusi pod minulým článkem.

Odkazy

Autor článku

Jakub Šťastný byl v letech 2007 až 2008 redaktorem serveru Root.cz. Mezi jeho zájmy patří Linux, programování a typografický systém TeX.