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