Karamba na tapecie

Transkrypt

Karamba na tapecie
KNOW HOW
SuperKaramba
Jak tchnąć życie w tapety pulpitu KDE przy pomocy SuperKaramby
Karamba na tapecie
G
dyby tło pulpitu nie zajmowało
znacznej części ekranu, nie
musielibyśmy przejmować się
marnotrawstwem obszaru pulpitu. Na
ekranach swoich komputerów mamy jednakże do czynienia z ogromną ilością
miejsca, które nie jest do niczego wykorzystywane! Na szczęście istnieją narzędzia
potrafiące zagospodarować tą przestrzeń –
jednym z nich jest SuperKaramba [12].
To niewielkich rozmiarów narzędzie dla
środowiska K Desktop stworzono w oparciu
o program karamba [11], który umożliwiał
wyświetlanie informacji o systemie na
pulpicie, a także zdalne sterowanie odtwarzaczami multimedialnymi typu XMMS [8] czy
Tło pulpitu – miejsce wyłącznie do pokazywania ładnych obrazków? Nigdy
w życiu! Program SuperKaramba umożliwia modernizację pulpitu KDE,
dzięki której otrzymujemy narzędzie mające wiele zastosowań.
HAGEN HÖPFNER
noatun [6]. Program Karamba wykorzystuje
efekty pseudoprzezroczystości, znane między
innymi z takich aplikacji jak konsole. W przeciwieństwie jednak do poprzedników,
sterowanie SuperKarambą może odbywać się
przy pomocy skryptów Pythona.
Dodatki
programu
SuperKaramba,
pracujące bezpośrednio na pulpicie, nie
powodują ukrywania (czy też minimalizowania) okien innych programów – jeżeli na pulpicie będzie
znajdować się wiele okien uruchomionych programów, trzeba
będzie przesunąć część z nich, aby
odsłonić dodatki SuperKaramby.
Instalujemy?
Obecną wersję programu przygotowano w pakietach binarnych dla
systemów SuSE, Mandrake, Red
Hat, Debian i Slackware (pakiety
można pobrać z adresu [1]).
Użytkownicy Gentoo powinni
wykonać polecenie emerge.
W chwili pisania tego artykułu
użytkownicy chcący zainstalować
najnowszą wersję programu (0.33)
muszą pobrać pliki źródłowe
i wykonać trzy polecenia:./configure
&& make && make install, co uruchomi kompilację i instalację programu. 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 przypadku problemów można skorzystać z gotowego pliku binarnego.
Niniejszy artykuł został oparty na
SuperKaramba w wersji 0.32b.
Polecenie
superkaramba &
wywołane z okna wiersza poleceń
48
Kwiecień 2004
www.linux-magazine.pl
KDE (konsole) spowoduje wywołanie niepozornego, choć funkcjonalnego menu
głównego programu (Rysunek 1). Pozycja
menu Download... sugeruje użytkownikowi
możliwość pobrania dodatków tła dla K
Desktop przy pomocy jednego kliknięcia
myszą. Niestety otwarcie strony sieci Web
w przeglądarce Konqueror nie udało się
i w chwili pisania tego artykułu nie
byliśmy w stanie pobrać w ten sposób
żadnych nowych kompozycji pulpitu.
Za to pod adresem [2] można znaleźć kilka
kompozycji pulpitu. Do rozpakowania tych
archiwów można użyć następujących poleceń
(wcześniej musi istnieć katalog ukryty
~/.superkaramba w katalogu domowym
użytkownika, można go utworzyć poleceniem: mkdir ~/.superkaramba):
tar -C ~/.superkaramba/ -xvjf U
archivename.tar.bz2
tar -C ~/.superkaramba/ -xvzf U
archivenamegz
Rysunek 1: Menu główne SuperKaramby
– może być w dowolnym kolorze, o ile ten
kolor to czarny...
SuperKaramba
KNOW HOW
FONT, które określa
Następnie z głównego menu
rodzaj czcionki użytej
wybieramy odnośnik Open...
standardowo w kompozyi wskazujemy plik definicji
cji. Reszta użytych paraznajdujący się w katalogu
Rysunek 2: Glassmachine to po prostu kolejny przybornik na pulpicie naszego
metrów zależy już tylko od
zawierającym rozpakowaną
komputera.
woli
użytkownika.
kompozycję pulpitu (plik
W Listingu 1 wybraliśmy czcionkę Sans
dwie kategorie. Pierwsza z nich to polecenia
o rozszerzeniu.theme).
Serif
(FONT='Sans')
w
kolorze
mające wpływ na ogólny wygląd kompozycji,
Na Rysunku 2 pokazano kompozycję pulbiałym(COLOR) z cieniowaniem o szedruga – to funkcje umożliwiające ocenę
pitu o nazwie „glassmachine”, pobraną ze
rokości 2 punktów (SHADOW=2). Oczyi monitorowanie parametrów systemu.
strony [2]. Kompozycja zawiera zegar, menu
wiście parametry czcionki możemy
Nasza pierwsza samodzielnie stworzona
KDE, zestaw ikon systemowych i aplikacji oraz
w dowolnej chwili zmienić.
kompozycja pulpitu (Listing 1) będzie zawpanel sterowania dla XMMS.
Przy określaniu kolorów SuperKaramba
ierać prosty zegar, aktualną
Bardziej powściągliwi
korzysta z wartości RGB. Pierwsza liczba
datę i obciążenie procesora
użytkownicy wybiorą raokreśla intensywność koloru czerwonego,
(Rysunek 4). Kompozycja
czej kompozycję pulpitu
druga – intensywność koloru zielonego,
jest oparta na kompozycji
o nazwie „Liquid Weather
a trzecia – niebieskiego. Jeżeli użyjemy dla
glassmachine (Rysunek 2).
Plus” (Rysunek 3). Dzięki
wszystkich kolorów wartości maksymalnych,
Na początek potrzebuniemu otrzymujemy na
tj. 255, otrzymamy kolor biały. Wybierając
jemy głównego okna kombieżąco informacje o pogowartości minimalne dla tych kolorów
pozycji – do jego utworzenia
dzie w interesującym nas
COLOR=0,0,0 otrzymamy kolor czarny.
służy
słowo
kluczowe
obszarze geograficznym.
Rysunek 3: Pogoda prosto
Zajmijmy się teraz podziałem ekranu na
KARAMBA. Współrzędne X
Po kliknięciu prawym klaz pulpitu KDE.
grupy. W pierwszej części będzie wyświetlany
i Y określają liczbę punktów
wiszem myszy uzyskujemy
aktualny czas i data, w drugiej obciążenie prood górnego lewego narożnika
dostęp do menu rozwijanego,
cesora. Parametr format określa format wyświekranu, w którym znajdzie się
w którym znajduje siępozycja
etlania czasu i daty. W naszym przykładzie
lewy górny narożnik okna komConfigure Theme / Find location on
„ddd MM.dd.yyyy” oznacza wyświetlanie kolepozycji. Parametr W określa szeweather.com. Podajemy tutaj wyRysunek 4: Czas,
jno: skróconej nazwy dnia tygodnia (np. Pon
rokość, a parametr H wysokość
brane miejsce na świecie (na
data i obciążenie
to poniedziałek) i daty w formacie
okna. Aby umożliwić użytkownprzykład Warsaw, PL), po czym
procesora.
miesiąc.dzień.rok. Jeżeli dla określenia nazwy
ikom przesuwanie i skalowanie
klikamy opcję Reload Theme i zerdnia podamy dddd, na ekranie wyświetlona
(zmianę wielkości) okna musimy podać
kając po chwili na pulpit już będzie wiadozostanie pełna nazwa dnia tygodnia.
parametr LOCKED=FALSE. Ostatnia
mo, jaka jest pogoda w Warszawie.
W ostatniej linijce grupy dotyczącej zegara
opcja,
INTERVAL,
określa
okres
pojawia się słowo kluczowe CLICKAREA,
odświeżania okna w milisekundach. Jako że
Tworzenie własnych
określające obszar interakcji, dla którego paranasz zegar wyświetla także sekundy,
kompozycji pulpitu
metry X i Y definiują pozycję górnego lewego
odpowiednią wartością będzie tutaj wartość
Jeżeli zamierzamy stworzyć własną komnarożnika grupy w stosunku do okna główne1000. Ponadto używanie dużych liter
pozycję pulpitu, gotowe kompozycje będą
go lub do grupy nadrzędnej. Wartości W oraz
w plikach.theme nie jest konieczne.
dla nas niewyczerpanym źródłem pomysłów
H ponownie określają szerokość i wysokość,
W drugiej linijce naszego przykładu
i dodatkowych informacji. Każdy pulpit
a parametr ONCLICK='...' określa z kolei
pojawia się słowo kluczowe DEFAULTposiada własny katalog najwyższego
poziomu wraz z plikiem kontroli (posiadającym, jak zapewne pamiętamy, rozszListing 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 konDEFAULTFONT font="Sans" shadow=2 color=255,255,255
troli i kilka ikon. Z kolei „Liquid Weather
Plus” posiada dodatkowo plik programu. Jako
<GROUP> 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
</GROUP>
na razie martwić – na początek poradzimy
sobie bez specjalnych umiejętności pro<GROUP> 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.
</GROUP>
Zawartość pliku.theme można podzielić na
www.linux-magazine.pl
Kwiecień 2004
49
KNOW HOW
SuperKaramba
wiersz poleceń (w cudzysłowie podwójnym),
dzięki któremu po kliknięciu w zdefiniowanym obszarze wykonywane jest zapisane tam
polecenie. W trybie LOCKED=FALSE wystarczy zwykłe kliknięcie lewym klawiszem
myszy. Jako że w naszym przypadku używamy
trybu LOCKED=TRUE (linijka 1), aby wywołać moduł KDE i skonfigurować datę oraz
czas wraz ze strefą czasową, musimy kliknąć
podwójnie myszą.
Dostęp
do parametrów systemu
Aby uzyskać dane o aktualnym czasie, dacie i obciążeniu procesora będziemy potrzebowali danych z dwóch różnych czujników:
SENSOR=TIME dostarcza informacji o czasie i dacie, a SENSOR=CPU o obciążeniu
procesora. Poza tym SuperKaramba ma kilka innych parametrów:
■ DISK wyświetla informacje dotyczące napędów obecnych w systemie wraz z napędami w systemach NFS i Samba.
■ MEMORY wyświetla informacje dotyczące pamięci fizycznej oraz pliku wymiany.
■ NETWORK wyświetla informacje o ruchu w sieci.
Rysunek 5: Obcią-
Rysunek 6:... i jako
żenie CPU jako
wykres liniowy.
Tabela 1: Główne polecenia używane
w plikach .theme
Polecenie
Znaczenie
Istotne parametry
KARAMBA
definiuje główne okno programu
X: położenie w poziomie (domyślnie: x=0)
Y: położenie w pionie (domyślnie: y=0)
W: szerokość (domyślnie: w=300)
H: wysokość (domyślnie: h=300)
LOCKED: Zablokowanie (true) lub umożliwienie(false) zmiany
wielkości/przesuwania okna (domyślnie: locked=false)
INTERVAL: Częstotliwość odświeżania okna w milisekundach
(domyślnie: interval=5000)
CLICKAREA
po kliknięciu na ten obszar
uruchamiany jest program
X: położenie w poziomie (w stosunku do okna głównego lub grupy
nadrzędnej)
Y: położenie w pionie (w stosunku do okna głównego lub grupy nadrzędnej)
W: szerokość
H: wysokość
PREVIEW: Czy granice obszaru czułego na kliknięcie myszą powinny być
widoczne dla użytkownika? Jeżeli tak, polecenie preview=true
spowoduje wyświetlenie ramki wokół zdefiniowanego obszaru.
ONCLICK: program, który ma zostać uruchomiony
DEFAULTFONT
określa czcionkę domyślną
FONT: Rodzina czcionek (przykład: font="times"). Aby poznać
dostępne czcionki w systemie należy użyć polecenia xfontsel z menu fmly.
COLOR: Wartości koloru czcionki w systemie RGB (przykład:
color=255,0,0 to kolor czerwony)
SHADOW: szerokość cieniowania czcionek wyrażona w punktach
(przykład: shadow=2)
<GROUP>, </GROUP>
powoduje grupowanie elementów wieloczęściowych
■ NOATUN informuje użytkownika o aktualnie odtwarzanej ścieżce audio z programu noatun [6].
■ PROGRAM wyświetla standardowe informacje z danego programu. Przykładowo:
TEXT ... sensor=program programU
="who | cut -d\ -f 1 | U
sort | uniq"
wykres słupkowy...
Rysunek 7: Zdal-
Rysunek 8: Gotowy
ne sterowanie
przykład.
XMMS.
spowoduje wyświetlenie użytkowników
aktualnie pracujących w systemie.
■ SENSOR wykorzystuje zewnętrzne czujniki [7] umożliwiające zbieranie danych
o systemie.
■ TEXTFILE odczytuje plik tekstowy i
wyświetla jego zawartość. Przykładowo:
TEXT ... sensor=textfile pathU
="/proc/acpi/thermal_zone/THRMU
/temperature"
wyświetli informacje o obecnej temperaturze
procesora (oczywiście zakładając, że system
jest w stanie dostarczyć takich informacji).
■ UPTIME wyświetla czas, który upłynął
od ostatniego uruchomienia systemu.
■ XMMS wyświetla odtwarzaną aktualnie
ścieżkę dźwiękową przy pomocy programu xmms [8].
Pełny przegląd parametrów jest dostępny
SŁOWNICZEK
kdesu: W oknie dialogowym KDE pojawia
się monit o hasło użytkownika głównego
(root), po wpisaniu którego uruchamiany
jest program określony w przekazanym argumencie (w tym przypadku: kcmshell
clock) z przywilejami użytkownika root.
protokole SMB (głównie Microsoft Networks) i umożliwiający dostęp do zasobów
tego typu w systemach Linux. Dzięki Sambie Linux może pracować jako serwer plików i drukarek dla użytkowników pracujących w systemie Windows.
NFS: Network File System czyli dosłownie
„sieciowy system plików” – umożliwia pracę z plikami na zdalnych serwerach
Unix/Linux w ramach lokalnego drzewa
systemu plików.
Plik wymiany: obszar dysku twardego, który jest wykorzystywany przez system jako
dodatkowa pamięć wirtualna (szczególnie
przez systemy z małą ilością pamięci fizycznej RAM). Korzystają z niej głównie
programy wymagające dużej ilości pamięci. Wymiana danych z pamięci na dysk
trwa dość długo (w porównaniu z szybko-
Samba: oprogramowanie zapewniające
kompatybilność z funkcjami współużytkowania plików i drukarek sieci opartych na
50
Kwiecień 2004
www.linux-magazine.pl
ścią pracy na pamięci fizycznej RAM).
who | cut -d
d\ -ff 1 | sort | uniq: polecenie
pokazujące wykorzystanie tradycyjnych potoków systemu Unix (|). Polecenie
„who”spowoduje wyświetlenie użytkowników zalogowanych do systemu. Polecenie
„cut” wycina pierwsze pole z nazwą użytkownika (-f 1) ograniczając znakiem spacji
kolumny (-d). Po znaku spacji musi wystąpić znak „\”. Polecenie „sort” umożliwia
wyświetlenie danych w porządku alfabetycznym, a polecenie „uniq” eliminuje powtórzone wpisy.
SuperKaramba
pod adresem [4].
Tabela 2: Istotne paramet ry
dotyczące wyświetlania
Miłe dla oka
Wyświetlanie statystyk w formie zwykłego
tekstu nie jest zbyt atrakcyjne. Obciążenie
procesora można zobrazować przy pomocy
wskaźnika poziomu. Aby to osiągnąć, musimy zastąpić ostatnią linijkę drugiej grupy
z Listingu 1:
BAR x=42 y=0 sensor=CPU U
path='bar.png'
Do stworzenia graficznego wizerunku naszego wskaźnika bar.png możemy użyć programu Gimp [9] lub dowolnego innego oprogramowania. Na Rysunku 5 jest to po prostu
biały prostokąt o wymiarach 70x12 punktów.
SuperKaramba wyświetlać będzie część
stworzonej grafiki odpowiadającą obecnemu
stanowi obciążenia procesora. Wykres będzie
zaczynał się w lewym górnym rogu, a każdy
punkt reprezentuje jedną działkę wskaźnika
poziomu.
Jeżeli grafika, której chcemy użyć, ma
większe rozmiary niż główne okno lub jest
ona ograniczona parametrem szerokości
w lub wysokości h, SuperKaramba automatycznie przytnie obrazek. Oczywiście plik
obrazu może wykorzystywać efekty dodatkowe, szczególne dla określonego formatu
PNG, nie dotyczy to jednak grafiki w formacie JPG.
Jeżeli nie określimy katalogu poleceniem
path, SuperKaramba uzna za katalog z kompozycją pulpitu ten katalog, w którym będzie znajdował się plik.theme. Plik obrazu
może być przechowywany na dysku, ale równie dobrze jako ścieżkę dostępu do obrazka
Parametr
Znaczenie
X
współrzędna pozioma lewego górnego narożnika
(w odniesieniu do głównego okna lub grupy nadrzędnej)
Y
współrzędna pionowa lewego dolnego narożnika
(w odniesieniu do głównego okna lub grupy nadrzędnej)
W
szerokość (opcjonalna; jeżeli nie podano wartości,
SuperKaramba przyjmie domyślnie wartość równą szerokości obrazka)
H
wysokość (opcjonalna; jeżeli nie podano wartości,
SuperKaramba przyjmie domyślnie wartość równą wysokości obrazka)
PATH
ścieżka dostępu do pliku obrazu
VERTICAL
wyświetlanie „z góry na dół” zamiast „z lewej do prawej”
(domyślnie: vertical=false)
możemy podać adres internetowy http.
W Tabeli 2 wyjaśniono dodatkowe parametry dotyczące wskaźników poziomów 2.
Aby zastosować dokonane zmiany w aktualnie używanej kompozycji pulpitu, musimy
kliknąć prawym klawiszem myszy i wybrać
z menu rozwijanego polecenie Reload theme
(załaduj ponownie kompozycję).
Jeżeli teraz zastąpimy linijkę, w której dokonywaliśmy zmian, na linijkę o następującej treści:
GRAPH x=42 y=0 w=70 h=12 colorU
=255,255,255 points=100 U
sensor=cpu
SuperKaramba wyświetli obciążenie procesora jako wykres liniowy, jak pokazano na
Rysunku 6. Parametry X, Y, W oraz H definiują pozycję względną wykresu oraz jego
szerokość i wysokość. Możemy tutaj użyć słowa kluczowego COLOR i przypisać wykresowi określony kolor. Parametr POINTS określa liczbę punktów pomiarowych – w naszym
Listing 2: Sterowanie programem XMMS
<GROUP>
text
text
text
text
text
text
text
X=10 Y=65
x=12 y=0
x=50 y=0
x=60 y=0
x=70 y=0
x=80 y=0
x=90 y=0
x=100 y=0
value="XMMS"
value="<"
value="W"
value=">"
value="P"
value="S"
value="M"
CLICKAREA x=50 y=0 w=9 h=12
preview=true SENSOR=PROGRAM
ONCLICK="xmms --rew"
CLICKAREA x=60 y=0 w=9 h=12
preview=true SENSOR=PROGRAM
ONCLICK="xmms --play"
CLICKAREA x=70 y=0 w=9 H=12
preview=true SENSOR=PROGRAM
ONCLICK="xmms --fwd"
CLICKAREA x=80 y=0 w=9 H=12
preview=true SENSOR=PROGRAM
ONCLICK="xmms --play-pause"
CLICKAREA x=90 y=0 w=9 H=12
preview=true SENSOR=PROGRAM
ONCLICK="xmms --stop"
CLICKAREA x=100 y=0 w=9 H=12
preview=true SENSOR=PROGRAM
ONCLICK="dcop kmix
kmix-mainwindow#1 show"
</GROUP>
KNOW HOW
przypadku liczba punktów
wynosi 100. Oczywiście
program automatycznie
znormalizuje tę wartość
zgodnie z ustaloną szerokością wykresu (w naszym
przypadku 70).
SuperKaramba potrafi
także przetwarzać wartości zwrotne na plik obrazu i wyświetlać ten plik
w określonym miejscu,
zgodnie z podanymi poniżej linijkami:
IMAGE x=numeric y=numeric U
w=width h=height path='path/toU
/or/URL/of/imagefile'
Funkcja ta bardzo przydaje się do umieszczania obrazów z kamer internetowych w naszych kompozycjach pulpitu. Więcej możliwości opisano pod adresem [5].
■
INFO
[1] Pakiety binarne SuperKaramba:
http://netdragon.sourceforge.net/
?page=Download+SuperKaramba
[2] Kompozycje pulpitu dla SuperKaramba:
http://www.kde-look.org/index.php?
xcontentmode=karamba
[3] Parametry ogólne w plikach .theme:
http://netdragon.sourceforge.net/
?page=General+Commands
[4] Czujniki stosowane w plikach .theme:
http://netdragon.sourceforge.net/?page=Se
nsors
[5] Mierniki stosowane w plikach .theme:
http://netdragon.sourceforge.net/
?page=Meters
[6] Program noatun, odtwarzacz
multimedialny KDE:
http://noatun.kde.org/
[7] Monitorowanie sprzętu
w systemach Linux:
http://secure.netroedge.com/~lm78/
[8] System X Multimedia:
http://www.xmms.org/
[9] GIMP: http://www.gimp.org/
[10] Przykładowa kompozycja pulpitu:
http://wwwiti.cs.uni-magdeburg.de/
~hoepfner/download.html
[11] Karamba, wersja oryginalna:
http://www.efd.lth.se/~d98hk/karamba/
[12] SuperKaramba:
http://netdragon.sourceforge.net/
www.linux-magazine.pl
Kwiecień 2004
51

Podobne dokumenty