Tvorba GUI Pro Rainmeter
Total Page:16
File Type:pdf, Size:1020Kb
MASARYKOVA UNIVERZITA FAKULTA}w¡¢£¤¥¦§¨ INFORMATIKY !"#$%&'()+,-./012345<yA| Tvorba GUI pro Rainmeter BAKALÁRSKA PRÁCA Tomáš Tomeˇcek Brno, jar 2010 Prehlásenie Prehlasujem, že táto bakalárska práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a li- teratúru, ktoré som pri vypracovaní používal alebo z nich ˇcerpal,v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj. Tomáš Tomeˇcek Vedúci práce: Mgr. Šimon Suchomel ii Pod’akovanie Rád by som sa pod’akoval vedúcemu mojej práce, pánovi Mgr. Šimonovi Suchomelovi, za to, že bol ochotný viest’ moju bakársku prácu, za jeho cenné rady a trpezlivost’. iii Zhrnutie Vo svojej práci sa zaoberám zmenou grafického užívatel’ského rozhra- nia operaˇcnéhosystému Windows. Konkrétne pridaním vlastnej kolekcie nastavení pre program Rainmeter. V popisovaných úpravách sa snažím klást’ dôraz ako na funkcionalitu, tak na vzhl’ad. V kapitolách jedna až tri sa zaoberám jednotlývmi grafickými rozhra- niami operaˇcnýchsystémov, zmenou vzhl’adu Windows (opisujem me- tódy a programy, ktoré sa na to používajú). Štvrtá kapitola je venovaná prostrediu Rainmeter. Píšem o jeho mož- nostiach a funkcionalite. V Kapitole ˇcíslopät’ píšem o implementácii vlastného vzhl’adu a ap- likácie, ktorá s ním pracuje. Podrobne popisujem jednotlivé funkcie ako aj postupy, ktoré som použil pri ich tvorbe. iv Kl’úˇcovéslová Rainmeter, grafické užívatel’ské rozhranie, gadget, design, vzhl’ad, ope- raˇcnýsystém, Windows v Obsah 1 GUI rozliˇcnýchoperaˇcnýchsystémov ............... 3 1.1 Mac OS X ............................. 3 1.2 Windows ............................. 4 1.3 GNOME ............................. 5 1.4 KDE ................................ 6 2 Kustomizácia vzhl’adu Windows .................. 7 2.1 Litestep .............................. 8 3 Prostredia pre vylepšenie plochy Windows ........... 9 3.1 Windows Desktop Sidebar ................... 9 3.2 Google Gadgets ......................... 10 3.3 Opera Widgets .......................... 11 3.4 Serious Samurize ........................ 12 4 Rainmeter ............................... 13 4.1 Vstavané meraˇce ........................ 13 4.2 Calc ................................ 14 4.3 Metre ............................... 14 4.4 Grafické rozhranie ....................... 15 5 Implementácia ............................ 16 5.1 Design .............................. 16 5.2 Vývojové komponenty ..................... 16 5.2.1 C# . 16 5.2.2 Formát súborov Ini . 17 5.2.3 Regulárne výrazy . 17 5.2.4 Bang príkazy . 18 5.3 Tvorba aplikácie ktorá ovláda vytvorený vzhl’ad . 19 5.4 Parametre vytvoreného vzhl’adu . 22 5.5 Algoritmy použité pri tvorbe vzhl’adu . 25 5.5.1 Dock . 26 5.5.2 Weather . 27 5.5.3 Calendar . 28 5.6 Algoritmy využité pri tvorbe aplikácie . 29 5.6.1 Pracovanie s Ini súbormi . 29 5.6.2 Uchovávanie dát . 30 5.6.3 Prvé spustenie . 30 5.6.4 Štruktúra aplikácie, použité metódy . 30 6 Záver .................................. 33 7 Prílohy ................................. 36 vi Úvod Štandardná pracovná plocha operaˇcnéhosystému Windows, do verzie XP, neposkytuje vel’a informácií. Jediné l’ahko prístupné dáta sú ˇcasa dátum. Pre získanie iných je nutné použit’ internetový prehliadaˇc,alebo rôzne dialógové okná operaˇcnéhosystému. Bolo by ovel’a príjemnejšie a pohodlnejšie, keby ste po prihlásení sa do systému okamžite vedeli po- ˇcetnových e-mailov, predpoved’ poˇcasia,zát’až vášho procesora, siet’ové informácie, vlastné poznámky, aktuálne správy z niektorého interneto- vého spravodajského portálu a iné. Na základe týchto informácií by ste mohli zefektívnit’ svoju nasledujúcu prácu. Tak isto zoskupenie týchto dát a vlastne celkový vzhl’ad vašej pracovnej plochy by vám dodal pozi- tívny emocionálny pocit. Od vydania Windows Vista je možné si na pracovnú plochu pridat’ Microsoft Gadgets [1], ktoré sú implicitne obsiahnuté v operaˇcnomsys- téme. Majú prostý vzhl’ad a tie predinštalované poskytujú len niektoré funkcie. Práca s nimi je jednoduchá, ale tieto gadgety (jednoduché prog- ramy, ktoré nepotrebujú vlastnú aplikáciu, ale všetky sú spustené v spo- loˇcnomprostredí) poskytujú len jeden typ vzhl’adu, ktorý nie je možné menit’. Tak isto ich poˇcetje výrazne obmedzený. Dalšieˇ možnosti ako rozšírit’ svoj desktop (pracovná plocha), je nainštalovat’ si niektoré z pro- stredí ako napr. Google Desktop, Opera Widgets, Rainmeter, Samurize. Podrobnejšie o týchto prostrediach píšem v kapitole ˇcíslo3. V mojej práci využívam prostredie Rainmeter. Rainmeter [2] je open source (zdrojový kód je prístupný širokej ve- rejnosti) program pre operaˇcnýsystém Windows, ktorý obohacuje pra- covnú plochu o rôzne informácie. Tieto dáta je možné prezentovat’ rôz- nou formou: textom, grafom, obrázkom, progressbarom (grafický kom- ponent, ktorý ukazuje stav operácie v percentách) a ich kombináciou. V tomto prostredí je možné vytvárat’ skiny (vzhl’ady). Skiny obsahujú niekol’ko ˇcastía tieto ˇcastimajú svoju špecifickú úlohu, napr. jedna zobra- zuje aktuálne poˇcasiea iná meria zát’až procesora. Každá jedna funkcia vzhl’adu sa nachádza v samostatnej zložke a jej konfigurácia je riešená pomocou *.ini súborov. Pre prostredie Rainmeter existuje vel’ké množ- stvo skinov, ktoré poskytujú rôzne funkcie. Aby si ich užívatel’ mohol prispôsobit’ svojmu vkusu, musí vediet’ aspoˇnzáklady programovania, ˇcomôže byt’ pre vel’ké množstvo l’udí problém. Ciel’om mojej práce je obohatit’ plochu operaˇcnéhosystému Windows o rôzne informácie, ktoré prezentujem v užívatel’sky príjemnom grafic- kom designe. Moje riešenie sa líši od ostatných tým, že podporuje väˇc- šinu dostupných funkcií programu Rainmeter. Na ich ovládanie som vy- tvoril klientskú aplikáciu, ktorou je možné menit’ atribúty jednotlivých 1 prvkov. V porovnaní s ostatnými riešeniami, ani jedno neobsahuje kli- entskú aplikáciu s takou podporou funkcií, ako má moje riešenie. V prvej kapitole svojej práce píšem o rôznych grafických užívatel’- ských rozhraniach (GUI) operaˇcnýchsystémov. Porovnávam ich funkci- onalitu a vzhl’ad. V druhej kapitole opisujem techniky zmeny vzhl’adu operaˇcnéhosystému Windows. Snažím sa prezentovat’ co najviac prog- ramov a následne aj zmien, ktoré dokážu. Kapitola ˇcíslotri je venovaná prostrediam, v ktorých je možné spúšt’at’ gadgety a iné prostriedky, ktoré obohacujú pracovnú plochu. Porovnávam ich funkˇcnost’ a iné parametre, ktoré dotvárajú koneˇcnypohl’ad na ne. V kapitole štyri sa venujem ˇcisto prostredu Rainmeter. Píšem o jeho možnostiach a funkciách. Piata kapi- tola je venovaná implementácii vlastného vzhl’adu, ktorý som vytvoril a klientskej aplikácii, ktorá s ním pracuje. Píšem o ich parametroch a fun- kciách, ako aj o postupoch a algoritmoch, ktoré som volil. V závere práce hodnotím, ˇcisa mi podarilo splnit’ ciel’ mojej práce. Taktiež rozoberám možnosti rozšírenia vzhl’adu a vylepšenia klientskej aplikácie. 2 1 GUI rozliˇcnýchoperaˇcnýchsystémov V súˇcastnostije vo vývoji stále viac a viac operaˇcnýchsystémov. Každý z nich má svoje typické grafické rozhranie, podl’a ktorého je ho možné jednoducho urˇcit’. Vo vel’a veciach sa odlišujú, ale zopár vecí majú spo- loˇcných.Po nabootovaní sa zobrazí formulár, kde užívatel’ zadá prihlaso- vacie údaje a následne sa prihlási do systému. Po prihlásení sa zvyˇcajne objaví pracovná plocha a bar (lišta), ktorý môže obsahovat’ rozliˇcnéin- formácie ako sú odkazy na programy a služby, odkaz na menu s d’alšími odkazmi, ikony spustených aplikácií, ˇcasa dátum a vel’a iného. 1.1 Mac OS X Obr. 1.1: Grafické rozhranie Mac – Snow Leopard Tento operaˇcnýsystém z produkcie firmy Apple využíva rozhranie, ktoré sa nazýva Aqua [3]. Ako už názov napovedá, jeho inšpirácia bola nájdená vo vode. Elementy rozhrania Aqua robia jednotný vzhl’ad väˇcšinyapli- kácií operaˇcnéhosystému. Dva hlavné prvky tohto prostredia sú gélové tlaˇcidláa Dock (bar na ktorom sú odkazy na aplikácie a spustené apli- kácie – je umiestnený v spodnej ˇcastipracovnej plochy). Posledná verzia operaˇcnéhosystému má oznaˇcenieMac OS X 10.6 a názov Snow Leopard. V tejto verzii dostal Dock väˇcšítrojrozmerný dojem. Toto bolo docielené predovšetkým odrazom v spodnej ˇcastia trojrozmernými ikonami s tie- ˇnom.V hornej ˇcastisa zvyˇcajnenachádza menu bar. V jeho pravej ˇcasti 3 1. GUI ROZLICNÝCHˇ OPERACNÝCHˇ SYSTÉMOV sú odkazy na používané systémove služby ako hlasitost’, siet’ové nasta- venia, ˇcasa dátum a pod. L’avá ˇcast’ obsahuje ikonu jablka. Po kliknutí na ˇnusa vyvolá menu s d’alšími ponukami. Vedl’a tejto ikony sa nachá- dza menu, ktoré je pre každý program špecifické. 1.2 Windows Obr. 1.2: Grafické rozhranie Windows 7 Tento operaˇcnýsystém patrí medzi najpoužívanejšie na svete, takže väˇc- šina l’udí už pozná jeho grafické užívatel’ské rozhranie. To sa vcelku radi- kálne zmenilo za celé roky. Windows 7 obsahuje nasledovné vylepšenia: • Vel’kou zmenou prešiel taskbar – obsahuje odkazy na programy ako aj bežiace aplikácie. Po prebehnutí kurzorom na bežiacu apliká- ciu sa zobrazí jej náhl’ad. Ak to aplikácia umožˇnuje,ikona môže do- konca zobrazovat’ stav nejakej operácie ako progressbar, napr. st’a- hovanie súboru z internetu. Ikony je možné zobrazit’ dvomi spô- sobmi. Bud’ ikonou s väˇcšímirozmermi bez popisku, alebo s men- šími a s popiskom, tak ako to bývalo v starších verziách. • System Tray ostal prakticky nezmenený. Obsahuje ikony aplikácií a služieb, ktoré sú pustené na pozadí (ale nemusí to byt’ tak). Je možné obmedzit’ poˇcetzobrazených ikon a ostatné prípadne skryt’. • Ponuka štart dostala niekol’ko zmien. Ako najprínosnejšiu hodno- tím vyhl’adávanie integrované