KnowHow SuperKaramba


SuperKaramba
KNOW HOW
Jak tchnąć życie w tapety pulpitu KDE przy pomocy SuperKaramby
Karamba na tapecie
dyby tło pulpitu nie zajmowało Tło pulpitu  miejsce wyłącznie do pokazywania ładnych obrazków? Nigdy
znacznej części ekranu, nie
w życiu! Program SuperKaramba umożliwia modernizację pulpitu KDE,
Gmusielibyśmy przejmować się
marnotrawstwem obszaru pulpitu. Na
dzięki której otrzymujemy narzędzie mające wiele zastosowań.
ekranach swoich komputerów mamy jed-
nakże do czynienia z ogromnÄ… iloÅ›ciÄ… HAGEN HÖPFNER
miejsca, które nie jest do niczego wyko-
rzystywane! Na szczęście istnieją narzędzia
potrafiące zagospodarować tą przestrzeń  noatun [6]. Program Karamba wykorzystuje KDE (konsole) spowoduje wywołanie niepo-
jednym z nich jest SuperKaramba [12]. efekty pseudoprzezroczystości, znane między zornego, choć funkcjonalnego menu
To niewielkich rozmiarów narzędzie dla innymi z takich aplikacji jak konsole. W prze- głównego programu (Rysunek 1). Pozycja
środowiska K Desktop stworzono w oparciu ciwieństwie jednak do poprzedników, menu Download... sugeruje użytkownikowi
o program karamba [11], który umożliwiał sterowanie SuperKarambą może odbywać się możliwość pobrania dodatków tła dla K
wyświetlanie informacji o systemie na przy pomocy skryptów Pythona. Desktop przy pomocy jednego kliknięcia
pulpicie, a także zdalne sterowanie odtwarza- Dodatki programu SuperKaramba, myszą. Niestety otwarcie strony sieci Web
czami multimedialnymi typu XMMS [8] czy pracujące bezpośrednio na pulpicie, nie w przeglądarce Konqueror nie udało się
powodują ukrywania (czy też mini- i w chwili pisania tego artykułu nie
malizowania) okien innych pro- byliśmy w stanie pobrać w ten sposób
gramów  jeżeli na pulpicie będzie żadnych nowych kompozycji pulpitu.
znajdować się wiele okien uru- Za to pod adresem [2] można znalezć kilka
chomionych programów, trzeba kompozycji pulpitu. Do rozpakowania tych
będzie przesunąć część z nich, aby archiwów można użyć następujących poleceń
odsłonić dodatki SuperKaramby. (wcześniej musi istnieć katalog ukryty
~/.superkaramba w katalogu domowym
Instalujemy? użytkownika, można go utworzyć polece-
ObecnÄ… wersjÄ™ programu przygo- niem: mkdir ~/.superkaramba):
towano w pakietach binarnych dla
systemów SuSE, Mandrake, Red tar -C ~/.superkaramba/ -xvjf U
Hat, Debian i Slackware (pakiety archivename.tar.bz2
można pobrać z adresu [1]). tar -C ~/.superkaramba/ -xvzf U
Użytkownicy Gentoo powinni archivenamegz
wykonać polecenie emerge.
W chwili pisania tego artykułu
użytkownicy chcący zainstalować
najnowszÄ… wersjÄ™ programu (0.33)
muszą pobrać pliki zródłowe
i wykonać trzy polecenia:./configure
&& make && make install, co uru-
chomi kompilacjÄ™ i instalacjÄ™ pro-
gramu. Operacja ta zakłada, że
wcześniej w systemie są poprawnie
zainstalowane pliki nagłówkowe
biblioteki Qt i samego KDE oraz
plików binarnych Qt 3.x. W przy-
padku problemów można skorzys-
tać z gotowego pliku binarnego.
Niniejszy artykuł został oparty na
SuperKaramba w wersji 0.32b. Rysunek 1: Menu główne SuperKaramby
Polecenie superkaramba &  może być w dowolnym kolorze, o ile ten
wywołane z okna wiersza poleceń kolor to czarny...
48 Kwiecień 2004 www.linux-magazine.pl
SuperKaramba KNOW HOW
Następnie z głównego menu FONT, które określa
wybieramy odnośnik Open... rodzaj czcionki użytej
i wskazujemy plik definicji standardowo w kompozy-
znajdujący się w katalogu Rysunek 2: Glassmachine to po prostu kolejny przybornik na pulpicie naszego cji. Reszta użytych para-
zawierającym rozpakowaną komputera. metrów zależy już tylko od
kompozycję pulpitu (plik woli użytkownika.
o rozszerzeniu.theme). dwie kategorie. Pierwsza z nich to polecenia W Listingu 1 wybraliśmy czcionkę Sans
Na Rysunku 2 pokazano kompozycję pul- mające wpływ na ogólny wygląd kompozycji, Serif (FONT='Sans') w kolorze
pitu o nazwie  glassmachine , pobraną ze druga  to funkcje umożliwiające ocenę białym(COLOR) z cieniowaniem o sze-
strony [2]. Kompozycja zawiera zegar, menu i monitorowanie parametrów systemu. rokości 2 punktów (SHADOW=2). Oczy-
KDE, zestaw ikon systemowych i aplikacji oraz Nasza pierwsza samodzielnie stworzona wiście parametry czcionki możemy
panel sterowania dla XMMS. kompozycja pulpitu (Listing 1) będzie zaw- w dowolnej chwili zmienić.
Bardziej powściągliwi ierać prosty zegar, aktualną Przy określaniu kolorów SuperKaramba
użytkownicy wybiorą ra- datę i obciążenie procesora korzysta z wartości RGB. Pierwsza liczba
czej kompozycję pulpitu (Rysunek 4). Kompozycja określa intensywność koloru czerwonego,
o nazwie  Liquid Weather jest oparta na kompozycji druga  intensywność koloru zielonego,
Plus (Rysunek 3). Dzięki glassmachine (Rysunek 2). a trzecia  niebieskiego. Jeżeli użyjemy dla
niemu otrzymujemy na Na początek potrzebu- wszystkich kolorów wartości maksymalnych,
bieżąco informacje o pogo- jemy głównego okna kom- tj. 255, otrzymamy kolor biały. Wybierając
dzie w interesującym nas pozycji  do jego utworzenia wartości minimalne dla tych kolorów
obszarze geograficznym. Rysunek 3: Pogoda prosto służy słowo kluczowe COLOR=0,0,0 otrzymamy kolor czarny.
Po kliknięciu prawym kla- z pulpitu KDE. KARAMBA. Współrzędne X Zajmijmy się teraz podziałem ekranu na
wiszem myszy uzyskujemy i Y określają liczbę punktów grupy. W pierwszej części będzie wyświetlany
dostęp do menu rozwijanego, od górnego lewego narożnika aktualny czas i data, w drugiej obciążenie pro-
w którym znajduje siępozycja ekranu, w którym znajdzie się cesora. Parametr format określa format wyświ-
Configure Theme / Find location on lewy górny narożnik okna kom- etlania czasu i daty. W naszym przykładzie
weather.com. Podajemy tutaj wy- Rysunek 4: Czas, pozycji. Parametr W określa sze-  ddd MM.dd.yyyy oznacza wyświetlanie kole-
brane miejsce na świecie (na data i obciążenie rokość, a parametr H wysokość jno: skróconej nazwy dnia tygodnia (np. Pon
przykład Warsaw, PL), po czym procesora. okna. Aby umożliwić użytkown- to poniedziałek) i daty w formacie
klikamy opcję Reload Theme i zer- ikom przesuwanie i skalowanie miesiąc.dzień.rok. Jeżeli dla określenia nazwy
kając po chwili na pulpit już będzie wiado- (zmianę wielkości) okna musimy podać dnia podamy dddd, na ekranie wyświetlona
mo, jaka jest pogoda w Warszawie. parametr LOCKED=FALSE. Ostatnia zostanie pełna nazwa dnia tygodnia.
opcja, INTERVAL, określa okres W ostatniej linijce grupy dotyczącej zegara
Tworzenie własnych odświeżania okna w milisekundach. Jako że pojawia się słowo kluczowe CLICKAREA,
kompozycji pulpitu nasz zegar wyświetla także sekundy, określające obszar interakcji, dla którego para-
Jeżeli zamierzamy stworzyć własną kom- odpowiednią wartością będzie tutaj wartość metry X i Y definiują pozycję górnego lewego
pozycję pulpitu, gotowe kompozycje będą 1000. Ponadto używanie dużych liter narożnika grupy w stosunku do okna główne-
dla nas niewyczerpanym zródłem pomysłów w plikach.theme nie jest konieczne. go lub do grupy nadrzędnej. Wartości W oraz
i dodatkowych informacji. Każdy pulpit W drugiej linijce naszego przykładu H ponownie określają szerokość i wysokość,
posiada własny katalog najwyższego pojawia się słowo kluczowe DEFAULT- a parametr ONCLICK='...' określa z kolei
poziomu wraz z plikiem kontroli (posi-
adającym, jak zapewne pamiętamy, rozsz-
Listing 1: Kod programu pozwalający uzyskać
erzenie.theme). Pod adresami [3, 4, 5] można
efekt pokazany na Rysunku 4
uzyskać szczegółowe informacje na temat
zawartości tego katalogu.
KARAMBA x=0 y=0 w=140 h=65 locked=false interval=1000
 Glassmachine posiada jedynie plik kon-
DEFAULTFONT font="Sans" shadow=2 color=255,255,255
troli i kilka ikon. Z kolei  Liquid Weather
Plus posiada dodatkowo plik programu. Jako
x=10 y=10
że kompozycja ta wymaga pobrania danych
TEXT x=12 y=0 sensor=time fontsize=22 format="hh:mm:ss" interval=500
pogodowych z Internetu, sam plik.theme już
TEXT x=12 y=25 sensor=time fontsize=10 format="ddd MM.dd.yyyy"
nie wystarcza. Obsługę tej funkcji zapewnia
CLICKAREA x=0 y=0 w=120 h=35 onclick="kdesu kcmshell clock"
skrypt Pythona. Nie musimy siÄ™ tym jednak

na razie martwić  na początek poradzimy
sobie bez specjalnych umiejętności pro-
x=10 y=50
gramistycznych, gdyż SuperKaramba oferuje
TEXT x=12 y=0 value="CPU"
wiele funkcji, takich jak np. wyświetlanie
TEXT x=42 y=0 sensor=cpu
informacji o systemie itd.

Zawartość pliku.theme można podzielić na
www.linux-magazine.pl Kwiecień 2004 49
SuperKaramba
KNOW HOW
wiersz poleceń (w cudzysłowie podwójnym),
Tabela 1: Główne polecenia używane
dzięki któremu po kliknięciu w zdefiniowa-
w plikach .theme
nym obszarze wykonywane jest zapisane tam
Polecenie Znaczenie Istotne parametry
polecenie. W trybie LOCKED=FALSE wy-
KARAMBA definiuje główne okno programu X: położenie w poziomie (domyślnie: x=0)
starczy zwykłe kliknięcie lewym klawiszem
Y: położenie w pionie (domyślnie: y=0)
myszy. Jako że w naszym przypadku używamy
W: szerokość (domyślnie: w=300)
trybu LOCKED=TRUE (linijka 1), aby wy-
H: wysokość (domyślnie: h=300)
wołać moduł KDE i skonfigurować datę oraz
LOCKED: Zablokowanie (true) lub umożliwienie(false) zmiany
czas wraz ze strefą czasową, musimy kliknąć
wielkości/przesuwania okna (domyślnie: locked=false)
podwójnie myszą.
INTERVAL: Częstotliwość odświeżania okna w milisekundach
(domyślnie: interval=5000)
Dostęp
CLICKAREA po kliknięciu na ten obszar X: położenie w poziomie (w stosunku do okna głównego lub grupy
do parametrów systemu uruchamiany jest program nadrzędnej)
Y: położenie w pionie (w stosunku do okna głównego lub grupy nadrzędnej)
Aby uzyskać dane o aktualnym czasie, da-
W: szerokość
cie i obciążeniu procesora będziemy potrze-
H: wysokość
bowali danych z dwóch różnych czujników:
PREVIEW: Czy granice obszaru czułego na kliknięcie myszą powinny być
SENSOR=TIME dostarcza informacji o cza-
widoczne dla użytkownika? Jeżeli tak, polecenie preview=true
sie i dacie, a SENSOR=CPU o obciążeniu
spowoduje wyświetlenie ramki wokół zdefiniowanego obszaru.
procesora. Poza tym SuperKaramba ma kil-
ONCLICK: program, który ma zostać uruchomiony
ka innych parametrów:
DEFAULTFONT określa czcionkę domyślną FONT: Rodzina czcionek (przykład: font="times"). Aby poznać
DISK wyświetla informacje dotyczące na-
dostępne czcionki w systemie należy użyć polecenia xfontsel z menu fmly.
pędów obecnych w systemie wraz z napę-
COLOR: Wartości koloru czcionki w systemie RGB (przykład:
N
F
S
S
a
m
b
a
dami w systemach NFS i Samba. color=255,0,0 to kolor czerwony)
SHADOW: szerokość cieniowania czcionek wyrażona w punktach
MEMORY wyświetla informacje dotyczą-
(przykład: shadow=2)
p
l
i
k
u
w
y
m
i
a
n
y
ce pamięci fizycznej oraz pliku wymiany.
, powoduje grupowanie elementów wieloczęściowych
NETWORK wyświetla informacje o ru-
chu w sieci.
NOATUN informuje użytkownika o ak- TEXTFILE odczytuje plik tekstowy i
tualnie odtwarzanej ścieżce audio z pro- wyświetla jego zawartość. Przykładowo:
gramu noatun [6].
PROGRAM wyświetla standardowe infor- TEXT ... sensor=textfile pathU
Rysunek 5: Obcią- Rysunek 6:... i jako macje z danego programu. Przykładowo: ="/proc/acpi/thermal_zone/THRMU
żenie CPU jako wykres liniowy. /temperature"
wykres słupkowy... TEXT ... sensor=program programU wyświetli informacje o obecnej temperaturze
="who | cut -d\ -f 1 | U procesora (oczywiście zakładając, że system
sort | uniq" jest w stanie dostarczyć takich informacji).
UPTIME wyświetla czas, który upłynął
spowoduje wyświetlenie użytkowników od ostatniego uruchomienia systemu.
aktualnie pracujących w systemie. XMMS wyświetla odtwarzaną aktualnie
Rysunek 7: Zdal- Rysunek 8: Gotowy SENSOR wykorzystuje zewnętrzne czu- ścieżkę dzwiękową przy pomocy pro-
ne sterowanie przykład. jniki [7] umożliwiające zbieranie danych gramu xmms [8].
XMMS. o systemie. Pełny przegląd parametrów jest dostępny
SAOWNICZEK
kdesu: W oknie dialogowym KDE pojawia protokole SMB (głównie Microsoft Ne- ścią pracy na pamięci fizycznej RAM).
k
d
e
s
u
:
się monit o hasło użytkownika głównego tworks) i umożliwiający dostęp do zasobów
who | cut -d\ -f 1 | sort | uniq: polecenie
w
h
o
|
c
u
t
d
\
f
1
|
s
o
r
t
|
u
n
i
q
:
(root), po wpisaniu którego uruchamiany tego typu w systemach Linux. Dzięki Sam-
pokazujÄ…ce wykorzystanie tradycyjnych po-
jest program określony w przekazanym ar- bie Linux może pracować jako serwer pli-
toków systemu Unix (|). Polecenie
gumencie (w tym przypadku: kcmshell ków i drukarek dla użytkowników pracują-
 who spowoduje wyświetlenie użytkowni-
clock) z przywilejami użytkownika root. cych w systemie Windows.
ków zalogowanych do systemu. Polecenie
NFS: Network File System czyli dosłownie Plik wymiany: obszar dysku twardego, któ-  cut wycina pierwsze pole z nazwą użyt-
N
F
S
:
P
l
i
k
w
y
m
i
a
n
y
:
 sieciowy system plików  umożliwia pra- ry jest wykorzystywany przez system jako kownika (-f 1) ograniczając znakiem spacji
cę z plikami na zdalnych serwerach dodatkowa pamięć wirtualna (szczególnie kolumny (-d). Po znaku spacji musi wystą-
Unix/Linux w ramach lokalnego drzewa przez systemy z małą ilością pamięci fi- pić znak  \ . Polecenie  sort umożliwia
systemu plików. zycznej RAM). Korzystają z niej głównie wyświetlenie danych w porządku alfabe-
programy wymagające dużej ilości pamię- tycznym, a polecenie  uniq eliminuje po-
Samba: oprogramowanie zapewniajÄ…ce
S
a
m
b
a
:
ci. Wymiana danych z pamięci na dysk wtórzone wpisy.
kompatybilność z funkcjami współużytko-
trwa dość długo (w porównaniu z szybko-
wania plików i drukarek sieci opartych na
50 Kwiecień 2004 www.linux-magazine.pl
SuperKaramba KNOW HOW
pod adresem [4]. przypadku liczba punktów
Tabela 2: Istotne parametry
wynosi 100. Oczywiście
dotyczące wyświetlania
Miłe dla oka program automatycznie
Parametr Znaczenie
Wyświetlanie statystyk w formie zwykłego znormalizuje tę wartość
X współrzędna pozioma lewego górnego narożnika
tekstu nie jest zbyt atrakcyjne. Obciążenie zgodnie z ustaloną szero-
(w odniesieniu do głównego okna lub grupy nadrzędnej)
procesora można zobrazować przy pomocy kością wykresu (w naszym
Y współrzędna pionowa lewego dolnego narożnika
wskaznika poziomu. Aby to osiągnąć, musi- przypadku 70).
(w odniesieniu do głównego okna lub grupy nadrzędnej)
my zastąpić ostatnią linijkę drugiej grupy SuperKaramba potrafi
W szerokość (opcjonalna; jeżeli nie podano wartości,
z Listingu 1: także przetwarzać warto-
SuperKaramba przyjmie domyślnie wartość równą szerokości obrazka)
ści zwrotne na plik obra-
H wysokość (opcjonalna; jeżeli nie podano wartości,
BAR x=42 y=0 sensor=CPU U SuperKaramba przyjmie domyślnie wartość równą wysokości obrazka) zu i wyświetlać ten plik
PATH ścieżka dostępu do pliku obrazu
path='bar.png' w określonym miejscu,
VERTICAL wyświetlanie  z góry na dół zamiast  z lewej do prawej
zgodnie z podanymi poni-
(domyślnie: vertical=false)
Do stworzenia graficznego wizerunku nasze- żej linijkami:
go wskaznika bar.png możemy użyć progra-
mu Gimp [9] lub dowolnego innego oprogra- możemy podać adres internetowy http. IMAGE x=numeric y=numeric U
mowania. Na Rysunku 5 jest to po prostu W T wyjaśniono dodatkowe parame- w=width h=height path='path/toU
abeli 2
biały prostokąt o wymiarach 70x12 punktów. try dotyczące wskazników poziomów 2. /or/URL/of/imagefile'
SuperKaramba wyświetlać będzie część Aby zastosować dokonane zmiany w aktu-
stworzonej grafiki odpowiadającą obecnemu alnie używanej kompozycji pulpitu, musimy Funkcja ta bardzo przydaje się do umiesz-
stanowi obciążenia procesora. Wykres będzie kliknąć prawym klawiszem myszy i wybrać czania obrazów z kamer internetowych w na-
zaczynał się w lewym górnym rogu, a każdy z menu rozwijanego polecenie Reload theme szych kompozycjach pulpitu. Więcej możli-
punkt reprezentuje jedną działkę wskaznika (załaduj ponownie kompozycję). wości opisano pod adresem [5].
poziomu. Jeżeli teraz zastąpimy linijkę, w której do-
Jeżeli grafika, której chcemy użyć, ma konywaliśmy zmian, na linijkę o następują-
większe rozmiary niż główne okno lub jest cej treści:
INFO
ona ograniczona parametrem szerokości
[1] Pakiety binarne SuperKaramba:
w lub wysokości h, SuperKaramba automa- GRAPH x=42 y=0 w=70 h=12 colorU
http://netdragon.sourceforge.net/
tycznie przytnie obrazek. Oczywiście plik =255,255,255 points=100 U
?page=Download+SuperKaramba
obrazu może wykorzystywać efekty dodat- sensor=cpu
[2] Kompozycje pulpitu dla SuperKaramba:
kowe, szczególne dla określonego formatu
http://www.kde-look.org/index.php?
PNG
, nie dotyczy to jednak grafiki w forma- SuperKaramba wyświetli obciążenie proce-
xcontentmode=karamba
cie JPG sora jako wykres liniowy, jak pokazano na
.
[3] Parametry ogólne w plikach .theme:
Jeżeli nie określimy katalogu poleceniem Rysunku 6. Parametry X, Y, W oraz H defi-
http://netdragon.sourceforge.net/
path, SuperKaramba uzna za katalog z kom- niują pozycję względną wykresu oraz jego
?page=General+Commands
pozycją pulpitu ten katalog, w którym bę- szerokość i wysokość. Możemy tutaj użyć sło-
[4] Czujniki stosowane w plikach .theme:
dzie znajdował się plik.theme. Plik obrazu wa kluczowego COLOR i przypisać wykreso-
http://netdragon.sourceforge.net/?page=Se
może być przechowywany na dysku, ale rów- wi określony kolor. Parametr POINTS okre-
nsors
nie dobrze jako ścieżkę dostępu do obrazka śla liczbę punktów pomiarowych  w naszym
[5] Mierniki stosowane w plikach .theme:
http://netdragon.sourceforge.net/
Listing 2: Sterowanie programem XMMS ?page=Meters
[6] Program noatun, odtwarzacz
multimedialny KDE:
X=10 Y=65 CLICKAREA x=70 y=0 w=9 H=12
http://noatun.kde.org/
text x=12 y=0 value="XMMS" preview=true SENSOR=PROGRAM
[7] Monitorowanie sprzętu
text x=50 y=0 value="<" ONCLICK="xmms --fwd"
w systemach Linux:
text x=60 y=0 value="W" CLICKAREA x=80 y=0 w=9 H=12
http://secure.netroedge.com/~lm78/
text x=70 y=0 value=">" preview=true SENSOR=PROGRAM
[8] System X Multimedia:
text x=80 y=0 value="P" ONCLICK="xmms --play-pause"
http://www.xmms.org/
text x=90 y=0 value="S" CLICKAREA x=90 y=0 w=9 H=12
text x=100 y=0 value="M" preview=true SENSOR=PROGRAM [9] GIMP: http://www.gimp.org/
ONCLICK="xmms --stop"
[10] Przykładowa kompozycja pulpitu:
CLICKAREA x=50 y=0 w=9 h=12 CLICKAREA x=100 y=0 w=9 H=12
http://wwwiti.cs.uni-magdeburg.de/
preview=true SENSOR=PROGRAM preview=true SENSOR=PROGRAM ~hoepfner/download.html
ONCLICK="xmms --rew" ONCLICK="dcop kmix
[11] Karamba, wersja oryginalna:
CLICKAREA x=60 y=0 w=9 h=12
http://www.efd.lth.se/~d98hk/karamba/
preview=true SENSOR=PROGRAM kmix-mainwindow#1 show"
[12] SuperKaramba:
ONCLICK="xmms --play"

http://netdragon.sourceforge.net/
www.linux-magazine.pl Kwiecień 2004 51


Wyszukiwarka