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