Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Architektura X Windows ● Model klient-server ● X display (displej)– komplexní zařízení s vlastními výstupními (obrazovka) a vstupními zařízeními (myš,

Podobné prezentace


Prezentace na téma: "Architektura X Windows ● Model klient-server ● X display (displej)– komplexní zařízení s vlastními výstupními (obrazovka) a vstupními zařízeními (myš,"— Transkript prezentace:

1 Architektura X Windows ● Model klient-server ● X display (displej)– komplexní zařízení s vlastními výstupními (obrazovka) a vstupními zařízeními (myš, klávesnice...) ● X server – program který spravuje X display ● X client – program který využívá služby X serveru ● X client a X server se domlouvají pomocí protokolu X (nad TCP/IP)

2 X server ● Umožňuje přístup k displeji více klientům současně ● Interpretuje síťové zprávy posílané klienty ● Informuje příslušné klienty o akcích uživatele ● Spravuje dvojrozměrnou (2D) grafiku rastrové obrazovky ● Udržuje komplexní datové struktury popisující okna (windows), rastrové obrázky (pixmaps), mapy barev (colormaps), kurzory (cursors), fonty (fonts), grafické kontexty (graphics contexts)

3 X klienti ● Grafická aplikace používající knihovnu Xlib (nebo nějakou její nadstavbu) ke komunikaci s X serverem ● Xlib – API knihovna, překládá volání funkcí na zprávy protokolu X – funkce na úrovni základní manipulace s okny, vykreslovíní a přijímání událostí od vstupních zařízení – server informuje klienta pomocí událostí o akcích uživatele ● Toolkity – poskytují prvky uživatelského rozhraní (tlačítka, menu, scrollbary...) př. GTK+, Qt, Motif...

4 X klienti ● Událostmi řízené programování – vychází s interakce s okolím – kolekce handlerů událostí a hlavní smyčka pro zpracování událostí – program čeká na příchod události, zpracuje ji a čeká na další while (event = wait_for_event ()) process_event (event);

5 X klienti ● OOP v X klientech – Přirozené pro GUI – objekty odpovídají jednotlivým prvkům rozhraní (okna, menu, tlačítka...) – Různé typy prvků mají společné vlastnosti a tím implikují hierarchii dědičnosti příslušných objektů (např. radio button je odvozený z check boxu a ten je odvozen z obyčejného tlačítka) – Použití objektů pro GUI nevyžaduje OO jazyk, např. GTK+ je psáno v C – objektová orientace je běžná pro GUI, ale není nezbytná – Toolkity X jsou obvykle OO, ale Xlib není ;)

6 X klienti ● Používají pro komunikaci a zprávu GUI klientské zdroje (resources), které jsou dány systémem X ● Klientské zdroje – pro každý typ pevně dané atributy (např. barva pozadí, velikost...) – volně rozšiřitelné vlastnosti (properties) – pojmenované množiny ● možnost komunikace mezi X klienty ● hojně používáno Window Managerem

7 X klienti ● Základním komunikačním prostředkem mezi aplikací a uživatelem jsou okna (většina grafických prvků patří do skupiny oken – butonky, táhla, menu...) ● Většinou neřídí kdy a jaké okno se na obrazovce objeví – o to se stará speciální X klient Window Manager ● Hierarchie oken – rodiče, synové, sourozenci, potomci, předci, root okno – synové překrývají své rodiče ● Třídy oken – vstupní okna – vstupně-výstupní okna

8 X klienti ● Základní atributy oken – rámeček okna – pozadí okna – chování obsahu synovského okna – chování okna při zakrytí okna – filtrace událostí – řízení manažerem – chování kurzoru v okně – barevná mapa

9 X klienti ● Souřadnicový systém okna – počátek v levém horním rohu – hodnoty se udávají v pixelech – osa Y směrem dolů – poloha okna se zadává relativně k rodičovskému oknu

10 X klienti ● Manažer oken – klient se speciální funkcí a právy – rozhoduje o výsledném zobrazování oken všech klientů – umožňuje uživateli přesouvat a měnit rozměry oken klientů – spoušténí nových klientů – řízení překrývání oken – přesouvání vstupu z klávesnice a ostaních vstupních zařízení z jednoho okan na druhé – aplikace (všichni ostatní klienti kteří nejsou MO) by se měli řídit doporučeními MO, ale měli by umět běžet i bez něj

11 X klienti ● Konfugurace klientů v příkazovém řádku -display [host]:server[.screen] ● host - síťová adresa počítače s X serverem ● server – číslo serveru ● screen – číslo obrazovky ● př. xterm -display bubak:0 ● lze nahradit shelovou proměnou DISPLAY ● př. export DISPLAY=bubak:0; xterm -geometry šířka x výška [+/-x, +/-y] ● rozměry a poloha (nepovinně) se udávají v pixelech ● poloha se bere relativně k rodičovskému oknu ● záporné hodnoty jsou brány jako vzálenost od pravého dolního okraje obrazovky ● př. xterm -geometry 100x100+1-1

12 X klienti ● Konfigurace klientů v příkazovém řádku -bw počet_pixelů ● šířka rámečků kolem okna -fn jméno_fontu ● Jméno základního fontu -bg barva ● barva popředí -fg barva ● bava pozadí -bd barva ● barva rámečku – barva - #RGB nebo název barvy

13 X klienti ● Konfigurace klientů v příkazovém řádku -title popis_okna -xrm natavení_atributů ● Standardní klienti X – xterm – emulátor terminálu – xclock – klient pro zobrazování času – xset – konfigurační klient ● nastavení pípání, citlivosti myši, fontů, šetřiče obrazovky, – xmodmap – klient pro mapování klávesnice – xhost – klient pro řízení přístupu k X serveru – xwininfo – klient pro poskytnutí základních informací o okně

14 X klienti ● Standardní klienti X – xev – klient pro monitorování událostí zasílaných od serveru – xprop – klient pro zobrazování vlastností (property) klientů – xdpyinfo – klient pro zobrazení různých informací o X serveru


Stáhnout ppt "Architektura X Windows ● Model klient-server ● X display (displej)– komplexní zařízení s vlastními výstupními (obrazovka) a vstupními zařízeními (myš,"

Podobné prezentace


Reklamy Google