Portál AbcLinuxu, 27. května 2024 04:48

Blackbox: malá černá skříňka

2. 6. 2003 | Vlastimil Ott
Články - Blackbox: malá černá skříňka  

Kultovní správce oken pod drobnohledem. Chcete se připojit k Men in Black?

V tomto článku vás seznámím se správcem oken, který se jmenuje BlackBox. Nepochybuji o tom, že mnozí z vás ho už znají, mnozí z vás ho zkusili a mnozí z vás ho také používají. Já jsem ho také nejdříve jen znal, potom jsem ho vyzkoušel a nakonec jsem u něj zůstal. BlackBox je určen v první řadě pro pomalé počítače, ale nejen pro ně. Na rozdíl od grafických desktopů KDE a GNOME je BlackBox "pouze" správce oken, a tedy neposkytuje žádné grafické prostředí v tomto smyslu. Na ploše nenajdeme žádné ikony, BlackBox neposkytuje žádné programy, které by měly sjednocený design a tvořily tedy vizuálně semknutý celek (což je nazýváno "prostředím"). Těch několik programů, které pracují pro BlackBox, má většinou charakter konzolových utilit.

Na otázku, která vám právě projela hlavou ("Co tedy nabízí?"), odpovídám, že BlackBox je jednoduchý a rychlý správce oken, jehož největší devíza je právě jeho jednoduchost, rychlost, transparentnost nastavení a z toho plynoucí uživatelská přítulnost. Samozřejmé je, že BlackBox neosloví každého uživatele; někdo se může cítit před černou obrazovkou s malým panýlkem "bezmocný". Troufám si tvrdit, že tato bezmoc se po chvíli změní v euforii z rychlé a efektivní práce (kvůli práci ty počítače přece máme, ne? ;-) ).

Stáhnutí a instalace

Program lze stáhnout z domovské stránky nejlépe ve formě zdrojových souborů, které si sami zkompilujete. Tento postup je obecně vzato nejvýhodnější, na druhou stranu mnohdy přináší různé (často obtížně řešitelné) problémy závislostí. U BlackBoxu by kompilace neměla být problémem, pokud máte nainstalované standardní součásti charakteru "Development" (Vývoj programů nebo Programování, které vybíráte při instalaci nebo postinstalaci). BlackBox nemá podle mých zkušeností zvláštní požadavky, což naopak platí i pro knihovny, které máte nainstalované nadstandardně - prostě je nepotřebuje a nijak nevyužije. Poslední verze je 0.65.0; je pravděpodobné, že je pro váš systém již připraven nativní balíček.

Výsledkem instalace je nainstalovaný BlackBox: dokumentace v /usr/doc/blackbox, programy (blackbox plus dvě utility) v /usr/X11R6/bin/, katalogy zpráv v různých jazycích vyjma češtiny :-(, ukázkové styly a ukázkové menu v adresáři /usr/X11R6/share/blackbox/ a manuálová stránka. Toť vše. Po prvním spuštění se v adresáři uživatele vytvoří soubor .blackboxrc, adresář .blackbox, který obsahuje dva adresáře (backgrounds a styles) je nutné zkopírovat, stejně jako soubor menu. Soubor menu, jak vyplývá z názvu, obsahuje uživatelské menu, hlavní prvek, který je určen pro uživatelské volby. Proč se o tom tak rozepisuji? Protože tohle minimum poskytuje maximální uživatelský komfort. Nakonec zjistíte, že ikonové menu například v KDE, které se (obvykle) nachází v levém dolním rohu (Start!), je strašně nepraktické, protože je daleko.

Prostředí

Obecně

Menu BlackBoxu se na pozici kurzoru myši objeví pokaždé, když stisknete pravé tlačítko myši. Ne že by totéž nezvládalo také KDE, ale blackboxí menu je malé, bez ikon, maximálně rychlé a lze jej pohodlně přizpůsobit (o tom níže). Celé prostředí ještě tvoří jednoduchý panel aplikací, který lze umístit na horní, nebo dolní okraj obrazovky. Standardně zabírá 66 procent šířky plochy (možno změnit), a lze jej tedy centrovat, nebo umístit doprava, nebo doleva. Obsahuje název plochy, jméno aktuálního okna a hodiny. Kromě toho také šipky přepínající plochy (ploch můžete přidávat tolik, kolik chcete) a neminimalizované programy. Další menu získáte po stisku prostředního tlačítka: najdete zde příkaz pro vytvoření další plochy, pro odstranění plochy poslední, aktuální plochu (a programy, které "vlastní") a položku Icons. Pod ní se skrývají programy minimalizované. Tyto programy nemají žádné ikony na ploše (nic takového tady nenajdete).

Slits

Zato tady ale můžete najít jiné objekty. Jsou to (v různé terminologii) dockable applications, docks, windocks, zde se jim říká slits. Slit je utilita, která provádí pouze jednu činnost, nejčastěji informační, a je umisťována do rámu spolu s jinými slits. Tento rám lze "zachytit" po okrajích obrazovky. Genialitu tohoto nápadu lze vyjádřit několika body:

Panel se slity ve stylu Minimal

Ukázka slitů v mém Minimal stylu, totéž vertikálně.

Panel se slity ve stylu Amelie

Ukázka týchž slitů ve stylu Amelie, totéž vertikálně.

Ukázka celé pracovní plochy ve stylu Amelie (113 kB), v i-stylu (74 kB) nebo ve věčně živém a aktuálním stylu (116 kB). Slity můžete stahovat například z těchto dvou adres, na další vás přivede ten, který se vyzná.

bbtools

"Povinnou" výbavou jsou bbtools. Je to základní sada slit-programů, které poskytují autoři BlackBoxu. Patří mezi ně také životně důležitý program jménem bbkeys. Stará se o klávesové zkratky, resp. jejich zpracování. Můžete si tedy nakonfigurovat množství osobitých klávesohmatů pro jakoukoliv činnost. Nechte se inspirovat. Každý z nástrojů má svůj konfigurační soubor, jejichž struktura je principiálně totožná. Je v něm zajištěno, že daný slit převezme barevnou strukturu celého prostředí; ale lze to pochopitelně změnit. Krátký přehled různých "bbtools":

Hlavní menu

Jak už jsem zmínil, hlavní menu se objevuje po stisku pravého tlačítka myši a je velice rychlé. Ostatně celý správce startuje na Pentiu 200 MHz/32 MB RAM cca jednu sekundu. 8-D Položka menu je některým z těchto typů:

Příkaz Vysvětlení a popis
[begin] Příkaz otevírající celou nabídku.
[end] Příkaz ukončující nabídku [begin] nebo podnabídku [submenu]
[exec] (název položky) {příkaz} Příkaz k vykonání.
[nop] (název položky) Oddělovač v menu, prázdná položka.
[submenu] (název položky} {název podmenu} Vytvoření podnabídky.
[include] (název souboru) Vloží soubor ve tvaru BlackBox menu (možnost dynamicky obměňovaných podnabídek).
[stylesdir] (cesta) Seznam souborů se styly, které BlackBox nalezl v zadané cestě.
[stylesmenu] (popis) {cesta} Vytvoří podmenu s názvem "popis" a umístí do něj styly nalezené ve specifikované cestě. Vhodné pro kategorizaci stylů (podle jednotlivých cest).
[workspaces] (popis) Vytvoří odkaz na menu spravující plochy. Stejnou nabídku lze vyvolat stiskem středního tlačítka na ploše.
[config] (popis) Konfigurační nabídka upravující chování oken.
[reconfig] (popis) {příkaz} Znovu načte konfigurační soubory, s výjimkou .blackboxrc. Pokud je zadán příkaz, provede se před načtením souborů; vhodné pro přepínání mezi jednotlivými konfiguracemi.
[restart] (popis) {příkaz} Restartuj BlackBox a znovu načti inicializační soubor .blackboxrc. Pokud je zadán příkaz, lze jím změnit správce oken. Pokud provádíte změnu konfigurace, je nutné BlackBox restartovat tímto příkazem, jinak se vaše změny neuloží.
[exit] (label) Tomuto příkazu nerozumím, v dokumentaci není vysvětlen.

Příklad mého nastavení si můžete stáhnout.

To není vše

Základní parametry BlackBoxu se nastavují v resource-souboru .blackboxrc. Existuje množství parametrů, které lze měnit. Jejich seznam najdete v manuálové stránce. Zde uvádím pouze některé. (Ukázka.)

session.screen0.strftimeFormat [řetězec]
Formát data a času, který se zobrazuje v panelu.
Příkl.: session.screen0.strftimeFormat %H:%M/%d.%m.20%y
session.screen0.edgeSnapThreshold [číslo]
Přitažlivost objektů. Číslo udávající vzdálenost, při jejímž dosažení se objekty "přitáhnou" (magnet). Vhodné pro ruční pozicování oken.
Příkl.: session.screen0.edgeSnapThreshold 6
session.menuFile [cesta]
Soubor s hlavní nabídkou.
Příkl.: session.menuFile .blackbox/menu
session.styleFile [cesta]
Soubor s aktuálním stylem.
Příkl.: session.styleFile .blackbox/styles/mujstyl
session.cacheMax [číslo]
Velikost paměti (v kB) pro ukládání dekorací oken. Čím více, tím lépe.
Příkl.: session.cacheMax 10000

Přidaná hodnota

Pokud na vás množství parametrů působí demotivačně, nepropadejte panice. Nejste sami, proto existuje několik utilit, které tohle všechno umožňují nastavit klikáním. Jejich nevýhoda spočívá v tom, že k běhu potřebují buď knihovnu Qt (KDE), nebo Gtk (GNOME). Čili pokud chcete resuscitovat starou 486, budete na ni muset nainstalovat i tyto knihovny, nebo psát konfiguraci přímo. Není to tak složité; existuje mnoho ukázkových souborů, které jsou bohatě komentovány (totéž už ale nelze říct o standardní dokumentaci, ta se omezuje na man blackbox). Povedenou utilitou je whiteBox nebo ještě lepší bbconf, se kterým pohodlně nastavíte barvy svého nového stylu. Jediná nevýhoda, a na ni pozor!, je, že neumí ukládat text v kódování ISO8859-2; "nežádoucí" znaky vynechá. Nejlepší možnost, jak si zničit vyladěné menu. ;-)

Konfigurační utilita bbconf

Konfigurační utilita whiteBox

Pro začátek je vhodný program genmenu, který vyhledá známé programy na vašem disku a vytvoří hlavní nabídku. Stejně jako jiné utility podporuje i další správce oken (Fluxbox, Windowmaker, Waimea, AfterStep atd.), pokud je máte nainstalované.

Nastavte sezení X-window!

Pro správný běh celého BlackBoxu je vhodné, aby se slit-programy spouštěly před samotným BlackBoxem. Není na škodu je spouštět až z BlackBoxu, ale kdo by to pokaždé dělal, že? Proto upravte svůj soubor .xinitrc třeba následovně. Parametr -w spustí program v režimu "dockapp" -- Blackbox si ho "odchytí" a umístí do panelu. Jenom mi zůstává záhadou, proč některé programy (např. wmcpuload) používají tentýž parametr pro naprosto opačnou akci -- zobrazení v okně.

Nedostatky

Objektivní nedostatky, které přiznávají i autoři, jsou následující:

Co se nevešlo

Další článek by mohl vzniknout na téma "Konfigurace bbtools". Vzhledem k tomu, že jich je ohromné množství a jsou relativně dobře dokumentovány, je to skvělá zábava na deštivé letní podvečery. Další téma je vytváření stylů, taktéž zábava pro ty, kdo se nudí. ;-) Doufám ale, že z tohoto článku vyplynulo vše potřebné a že vám nastavení a používání BlackBoxu nebude činit potíže, ale radost z vlastní kreativity. Welcome to MiB!

Všechny konfigurační soubory v jednom archívu si můžete stáhnout.

Odkazy a zdroje

Domovská stránka
bbtools

Seriál Správci oken (dílů: 11)

První díl: Blackbox: malá černá skříňka, poslední díl: Fluxbox.
Následující díl: Pekfektní správce oken: pekwm

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

Diskuse k tomuto článku

2.6.2003 09:47 lzap
Rozbalit Rozbalit vše Fffffff
Odpovědět | Sbalit | Link | Blokovat | Admin
Fuuuuuj ;-)
2.6.2003 10:33 jan molic
Rozbalit Rozbalit vše pouzivam KDE i BlackBox
Clanej je dobry, pouze jsem nikde nenasel zminku o podstatne veci pro KDEckare - moznost slucovat okna do jednoho (nejdriv mi vadila absence pruhu spustenych aplikaci nez jsem to zjistil).
2.6.2003 11:16 TombStone
Rozbalit Rozbalit vše pouzivam KDE i BlackBox
pokud chces slucovat okna do jednoho, tak se koukni na FluxBox(odnoz blackbox)
4.6.2003 10:31 Yin
Rozbalit Rozbalit vše Blackbox a vy a vas box
Toto je ukazka, ze pod linuxom je vsetko mozne. A ak chcete este nieco lepsieho a chceli by ste sa na tom podielat Mail-nite mi na Yin1@post.sk v KE vyrabame novu odnoz Blackboxu a potrebujeme vyvojarov.
2.6.2003 11:06 niva
Rozbalit Rozbalit vše blackbox? openbox!
Odpovědět | Sbalit | Link | Blokovat | Admin
Blackbox je super, jen jsem už dlouho neviděl novou verzi (a ta stará má bugy). Proto jsem přešel na openbox - nástupce blackboxu. Na mojem P120 s 2MB grafikou běhá velmi svižně a je přehledný a snadno konfigurovatelný a ... no prostě nejlepší 8-)
2.6.2003 11:10 finn
Rozbalit Rozbalit vše pár připomínek
Odpovědět | Sbalit | Link | Blokovat | Admin
1.) Blackbox se standardně instaluje do /usr/local a ne do /usr,
2.) není tak docela pravda, že slit a v něm obsažené applety jsou vždy nad ostatními okny — tak tomu je jen v případě, že je zaškrtnuta volba Always on top,
3.) díky za článek :-)
2.6.2003 17:05 butrus
Rozbalit Rozbalit vše pár připomínek
RTFM FHS? Do /usr/local se standartne instaluji fsechny balicky pouzivajici GNU autoconf/automake, pokud se nezada ./configure --prefix=/bla.
2.6.2003 12:11 Solvina
Rozbalit Rozbalit vše Fluxbox
Odpovědět | Sbalit | Link | Blokovat | Admin
Delsi dobu patram jak dokopat fluxbox k tomu, aby po startu automaticky spustil urcite programy (par dockapps, ICQ...) Nevite nekdo kam mam zadat spusteni meho ~/runme.sh ;-)?
2.6.2003 18:46 Kary
Rozbalit Rozbalit vše Fluxbox
Musit to zadat do .xinitrc v home.Je to v helpu na strankach fluxboxu.
2.6.2003 20:19 Zdenek Letko | skóre: 6 | Tabor a Brno
Rozbalit Rozbalit vše Fluxbox
Pokud spoustis pocitac do RunLevelu 5 (graficky), tak se nepouziva .xinitrc, ale .xsession obe v ~/.

jj, BlackBox pouzivam uz dlouho a musim rict, ze oproti vsemu, co jsem zatim zkousel me oslovil nejvice (jeste jsem nevidel FlushBox a ...Box).
Snad jen doplnim, ze pozadi se da nastavit i prikazem xsetbg soubor.

Dik za clanecek.

Zdenda

9.6.2003 02:47 Solvina
Rozbalit Rozbalit vše Fluxbox
Jedu X-session pres wdm, takze to bude tak nejak jak rikas - nechtelo se mi to editovat, co kdyz budu chtit zkusit nejaky jiny WM a pak se budu divit co se mi to spousti ;-). BTW zajimalo by me jestli v BlackBoxu/Fluxboxu jde nejak nastavit aby po spusteni tohoto WM na (treba) workspace 1, 3 az 5 spustil xterm? A na plose 2 browser? Proste aby se mi okamzite spustili programy, kery na ty ktery plose potrebuju mit 99,9999% casu co sem v systemu...
9.6.2003 13:10 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Fluxbox
Jo, jde (v Blackboxu, fluxbox nevím). Jedná se o bbtool bbappconf. V článku ho nezmiňuji, protože konfigurace není úplně triviální. --vo
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
27.3.2005 21:04 Georgo10 | skóre: 14 | blog: Deset hříchů | Olomouc
Rozbalit Rozbalit vše Re: Fluxbox
do ~/.fluxbox/startup :) ...
-- Georgo
3.6.2003 08:11 martin
Rozbalit Rozbalit vše ovladani z klavesnice
Odpovědět | Sbalit | Link | Blokovat | Admin
Za čistě funkční nedostatky BB považuji to že se mi v dolním panelu zbytečně zobrazuje jen aktivní aplikace, vhodnější by byl přehled toho co mám spuštěno. Nelze se dostat do menu z klavesnice a pokud mne paměť neklame (ale to si nejsem už jistý) tak nešlo z klávesnice ani přepnout do jiné běžící aplikace. To byli důvody proč jsem jej zavrhl(a používám v současné době IceWM).
3.6.2003 18:51 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše ovladani z klavesnice
Nezkoumal jsem, jestli se lze do menu dostat přes klávesnici. Nevím. Ale přepínání mezi aplikacemi řeší bbkeys; já to mám nastaveo na meta+tab, viz příklad v článku. Možná, že tam (v dokumentaci k bbkeys) někde je i příkaz pro zobrazení menu přes klávesovou zkratku. --vo
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
5.6.2003 10:38 tomm
Rozbalit Rozbalit vše ovladani z klavesnice
FluxBox uz zobrazuje vsechny aplikace z dane plochy. Mozna se da nastavit i ze vsech, nekoumal jsem to.
3.6.2003 20:26 ErikFE
Rozbalit Rozbalit vše Waimea
Odpovědět | Sbalit | Link | Blokovat | Admin
skusili ste niekto waimeu?(www.waimea.org) je podobna *box-om, ale je omnoho viac konfigurovatelna pomocou tzv. action-file. nedostatkom je, ze ten uz nie je taky prehladny.
3.6.2003 21:33 vladimír
Rozbalit Rozbalit vše dík a provokace
Odpovědět | Sbalit | Link | Blokovat | Admin

Děkuji za pěkný článek.

Inspirován článkem jsem si blackbox stáhnul a vyzkoušel. Po dvou dnech jsem jej ovšem dal pryč, svůj twm jsem si příliš zamiloval, než bych se vzdal ;-)

Mimochodem v diskusi pod Tvou recenzí Slackware 9.0 zazněl dotaz, na seriál o window managerech. Má snad být tohle první díl? Jestli ano, už se těším na další :-)

4.6.2003 09:51 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše dík a provokace
;-) To mě nenapadlo. Výše je dotaz na Waimeu. Tu jsem taky vyzkoušel, ale nevím, co si mám myslet. Ovšem článek o ní plánuju. A další windowmanagery? Toť otázka... --vo
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
4.6.2003 11:11 Zdenek
Rozbalit Rozbalit vše Flux
Odpovědět | Sbalit | Link | Blokovat | Admin
No ja si myslim ze fluxbox ma par vychytavek. na liste zobrazuje aspon aplikace ktere jsou minimalizovane A to ze je to dobre jenom na pomale stroje mam 2 Ghz procak a porad ho pouzivam protoze spousteni aplikaci je rychlejsi celkem o dost.
4.6.2003 12:57 Michael Krbek
Rozbalit Rozbalit vše Blackbox a vice obrazovek
Odpovědět | Sbalit | Link | Blokovat | Admin
Dalsi chyba, ktere jsem si u blackboxu vsiml, je nemoznost ruzne konfigurace obrazovek. Z logiky kofigurace, t.j session.screen0 a session.screen1, vyplyva, ze by to melo jit, ale ve skutecnosti to nefunguje. Tohle neni akademicky problem, mam dvojhlavou grafickou kartu a dva monitory dost rozdilne kvality, takze je zadouci nakonfigurovat je oddelene (napr. urceni velikosti pisma v menu). V blackboxu se mi toto nezdarilo zprovoznit. Takovou konfiguraci pripousti napr. waimea.
4.6.2003 16:37 petr_p
Rozbalit Rozbalit vše Rychlost je hlavni
Odpovědět | Sbalit | Link | Blokovat | Admin
Na BB jsem presel z KDE, je proste rychlejsi a prehlednejsi. Jediny, co mi vadi, je nemoznost definovat klavesovou zkratku pro menu.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.