ITU: Systém X Window | 1 / Tvorba uživatelských rozhraní Systém X Window Jozef Mlích Ústav počítačové grafiky a multimedií.

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Informační a komunikační technologie 5. – 7. ročník
Úvod do programování v prostředí Windows
DSC Monitor DSC Monitor Obsah Tato PowerPointová prezentace je rozdělena do několika různých sekcí. Stisknutím názvu sekce.
1. Seznámení 2. Objekty a nástroje
Typy programů operační systémy programy pro práci se soubory
Základy počítačů a kancelářský software
Programová rozhraní pro grafické adaptéry
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
ZMVŠ. Bezpečnost Windows 8 Dynamic Access Control (DAC) Volně – Dynamický kontrolní přístup) rozšíření NTFS access control listů (ACL) o složitá pravidla.
Zoner Callisto.
Základy práce s počítačem – lekce I. Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Analýza informačního systému
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Novinky a strategie společnosti Vema, a. s.
Databázové systémy Architektury DBS.
Serverové systémy Windows
Protokoly a adresy na internetu
Windows Presentation Foundation 2D grafika. 2D tvary Elementy UI stromu Stejné jako jiné ovládací prvky a elementy Mohou mít k sobě připojeny události,
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Výukový materiál Zpracovaný v rámci projektu Číslo projektu: CZ.1.07/1.4.00/ Škola: Základní škola Chrastava, náměstí 1. máje 228, okres Liberec.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Martina Braunerová.  nejdůležitější program v počítači  umožňuje všem ostatním programům fungovat  prostředník mezi počítačem a uživatelem.
Analýza infromačního systému. Matice afinity ISUD matice – Insert (vkládání dat) – Select (výběr dat) – Update (aktualizace dat) – Delete (vymazání dat)
2 Fučíková Sylvie HR/Win – moderní technologie pro osvědčené aplikace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
CZ.1.07/1.4.00/ VY_32_INOVACE_166_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
Adobe Flash CS5.5 – seznámení s programem Název školyGymnázium Zlín - Lesní čtvrť Číslo projektuCZ.1.07/1.5.00/ Název projektuRozvoj.
IDEA Web Systém 5.0 Pavel Bezstarosti IDEA spol. s r.o
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Vzdálená správa Tomáš Kalný.
OPERAČNÍ SYSTÉMY.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
KURZ ZÁKLADY PRÁCE S POČÍTAČEM 1 Základní nastavení systému
Stanice v síti učební texty pro deváté ročníky ZŠ.
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Databáze MS ACCESS 2010.
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Ovládací panely Šablona 32 VY_32_INOVACE_1_7_Windows-ovládací panely.
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š,
Nastavení systému Windows - pokračování (14). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
Operační systémy Grafický subsystém © Milan Keršláger Obsah:
 = jedná se o vzájemné propojení lokálních počítačových sítí pomocí vysokorychlostních datových spojů  vznikl spojením mnoha menších sítí  v každé.
WINDOWS Základní popis a údržba operačních systémů.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů Zpracování a využití informací pro 6. ročník Název materiálu VY_32_INOVACE_01_Základní pojmy,
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
UNIX 14. Grafický subsystém © Milan Keršláger
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
UNIX 14. Grafický subsystém © Milan Keršláger
WWW a HTML Základní pojmy Ivo Peterka.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Rastrová grafika Základní termíny – Formáty rastrové grafiky.
PRACOVNÍ PLOCHA Vasyl Lutsak.
Windows – Malování 1 VY_32_INOVACE_32_650
WWW a HTML Základní pojmy Ivo Peterka.
Operační systémy - úvod
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Přednáška pro předmět Operační systémy II ÚI PEF MENDELU
Předmět: INFORMATIKA Ročník: VII.
1. ročník oboru Mechanik opravář motorových vozidel
Číslo projektu OP VK Název projektu Moderní škola Název školy
Přednášky z Distribuovaných systémů
Analýza informačního systému
Transkript prezentace:

ITU: Systém X Window | 1 / Tvorba uživatelských rozhraní Systém X Window Jozef Mlích Ústav počítačové grafiky a multimedií Fakulta informačních technologií, Vysoké učení technické v Brně Božetěchova 2, Brno, Czech Republic

ITU: Systém X Window | 2 / Agenda Historie Principy a funkce – XServer – XProtocol – Rozšíření – Užitečné nástroje Programování XAplikací – Xlib – toolkity (xtoolkit, motif, gtk, qt, wxWindows) – Makefile/imake/qmake/autotools/cmake – printf(“Hello XWindow\n”);

ITU: Systém X Window | 3 / Historie June X1 First use of the name "X" February X10R3 First release outside MIT. September 15, 1987 – X11 First release of the current protocol. March 31, X11R6.4 Xinerama April 6, X11R6.7.0 First X.Org Foundation release October 2, 2009 – x.org 1.7 Multi-pointer X (MPX)

ITU: Systém X Window | 4 / Principy a funkce - XServer Co to je? nádstavba operačního systému poskytující grafické uživatelské rozhraní (pro linux/qnx/windows/atd.) Co to umí: architektura klient-server síťově transparentní nezávislé na hardware ani centralizované/ani distribuované zpracování rozšiřitelné

ITU: Systém X Window | 5 / Principy a funkce - XServer 2 Uživatelské prostředí je dáno: prostředky XServeru správce oken (window manager) – vzhled a umístění oken (KDE, gnome, blackbox,...) – ovladací prvky oken (minimalizovat/ukončit/...) správce sezení (session manager) – stará se o okna v rámci jednoho přihlášení (xsm, ksmserver) – X Session Management Protocol (XSMP) knihovny nástrojů (toolkity - Qt, Gtk, Xtoolkit, Motif) aplikace

ITU: Systém X Window | 6 / Principy a funkce - XServer 3 Jednotlivá okna jsou ve stromové struktuře Hlavní okno je správce oken (window manager) Prvky mají relativní pozici od levého horního okna Každé okno se zpracovává v rámci X serveru samostatně

ITU: Systém X Window | 7 / Principy a funkce - XServer 4 - příklad jedna session správce oken je KDE – vykreslování záhlaví a rámečků oken – obsahuje zvláštní aplikace (plocha / panel – zobrazuje seznam úloh, atd.) programy – napsané s použitím různých toolkitů (konsole je založený na KDE/Qt, epiphany používá Gtk)

ITU: Systém X Window | 8 / Principy a funkce - XServer 5

ITU: Systém X Window | 9 / Principy a funkce - XServer 6 X Server – X Klient vs. Server – Klient X server beží na grafickém terminálu – stará se o vykreslování, myš a klávesnici Aplikace (výpočty/diskové operace) běží vzdáleně a připojuje se přes síť na X Server a tam se vykresluje

ITU: Systém X Window | 10 / Principy a funkce - X Window Core Protocol musí podporovat každý XServer a X klient může běžet nad TCP/IP, rourou (pipe), sdílenou pamětí používají ho všechny aplikace (správce oken, správce sezení taky) XServery/Xaplikace různých výrobců jsou vzájemně kompatibilní Snaha o kompatibilitu na úrovni zdrojových kódů i na binární úrovni.

ITU: Systém X Window | 11 / Principy a funkce - X Window Core Protocol 2 Požadavky (requests) – zprávy posílané serveru Odpovědi (replies) – posílá je server jako odezvu na požadavek Události (events) – autonomní informování o události – například “key pressed” apod. Chyby (errors) – "chybové události"

ITU: Systém X Window | 12 / Principy a funkce - X Window Core Protocol 3 Okna – Dáno velikostí a geometrií – Stromová hierarchie – InputOutput (normální) vs. InputOnly (neviditelné – události) Pixmapy – kus paměti / automaticky se nevykresluje – Jde zobrazit do okna (double buffering) Grafický kontext (GC) a fonty – podobně jako ve windows – pamatuje si kam kreslí (okno/pixmapa), barvu pozadí, barvu popředí, font, atd. – fonty jsou uložené na severu nastavují se v rámci GC

ITU: Systém X Window | 13 / Principy a funkce - X Window Core Protocol 4 Resources and identifiers – 32-bit integer jednoznačně se odkazující na nějaký zdroj (Resource) na xserveru – Resource: Window, Pixmap, Font, Colormap, Graphic context Events – KeyPressed, etc. – Expose (Klient chce překreslit část okna – např. změnila se hodnota progressbaru a je nutné ho překreslit znovu) Atoms – z hlediska XServeru je 32 bitový int atomický

ITU: Systém X Window | 14 / Principy a funkce - Rozšíření Protokol lze rozšířit o další funkcionalitu. DPMS – řízení spotřeby MIT-SHM – přenos rastrových obr. přes sdílenou paměť SHAPE – neobdelníková okna RANDR – dynamická změna rozlišení a rotace displeje RENDER – antialiasing, průhlednost, atd. XKEYBOARD – podpora národních rozložení XINEREMA – podpora zobrazení přes více monitorů XVideo (XV) – hardwarová akcelerace videa

ITU: Systém X Window | 15 / Principy a funkce - Užitečné nástroje Vzdálené připojení – ssh -X – xming ( xwinlogon xnest – více xserverů současně xdpyinfo – seznam podporovaných rozšíření a další informace xwininfo – detailnější informace o okně glxinfo – informace o opengl rozšíření X serveru

ITU: Systém X Window | 16 / Principy a funkce - Užitečné nástroje 2 xrandr – otáčení displaye, nastavení rozlišení – Section "Screen" Option "RandRRotation" "true" xev – zobrazuje události X okna zenity/kdialog/xdialog – interakce s gui pomocí shellových skriptů – zenity --file-selection – kdialog --yesno "zajimaji vas tyhle kraviny?" xnee – záznam a přehrávání uživatelských akcí xrestop – prostředky alokované na xserveru

ITU: Systém X Window | 17 / Principy a funkce - Užitečné nástroje 3 xwit – nastavování parametrů oken xautomation – sada command line nástrojů (xte)

ITU: Systém X Window | 18 / Programování XAplikací - Xlib API zpřístupňující X Protokol v C Nejdůležitější funkce – XOpenDisplay(char *display_name), XCloseDisplay, XSetCloseDownMode – char *display_name=“hostname:number.screen_number” – XLockDisplay, XUnlockDisplay – XAddConnectionWatch, XRemoveConnectionWatch – XCreateWindow, XCreateSimpleWindow, XDestroyWindow, XDestroySubwindows – _X11TransConnectDisplay, _X11TransGetConnectionNumber, _XSendClientPrefix, _X11TransGetConnectionNumber

ITU: Systém X Window | 19 / Programování XAplikací - Xlib 2 Grafické operace body (XDrawPoint), čáry (XDrawLine), obdélníky (XDrawRectangle), mnohoúhelníky (XDrawSegments), kruhové výseče, kružnice a elipsy (XDrawArc), texty (XDrawString, XDrawImageString, XDrawText), kopie oken, pixmap (XCopyArea, XCopyPlane), obrázky (XPutImage), kurzory (XDefineCursor) Akce uživatele – KeyPress, KeyRelease, MappingNotify, FocusIn, FocusOut – ButtonPress, ButtonRelease, MotionNotify, EnterNotify, LeaveNotify

ITU: Systém X Window | 20 / Programování XAplikací - Xlib 3 Signalizace stavu – Expose, GraphicsExpose, NoExpose, ColormapNotify, VisibilityNotify – CirculateNotify, ConfigureNotify, CreateNotify, DestroyNotify, GravityNotify, MapNotify, ReparentNotify, UnmapNotify Zprávy od jiné aplikace – ClientMessage, PropertyNotify, SelectionClear, SelectionRequest, SelectionNotify

ITU: Systém X Window | 21 / Programování XAplikací - Xlib 4 - Xlib vs. WinAPI

ITU: Systém X Window | 22 / Programování XAplikací - Xlib 5 Suma sumárum: programování gui aplikací s Xlibem je hodně hardcore hodí se na low level věci – například čtečka pro slepce, analýza uživatelského rozhraní (odchytávání zpráv, apod.) – vlastní gui toolkit – hackování XServeru (akcelerace) Budoucnost XCB (X C Binding) – menší komplexnost, blíže X protokolu

ITU: Systém X Window | 23 / Programování XAplikací - Xtoolkit, motif rozšíření Xlibu o některé základní prvky (tlačítka, scrollbary) stále docela hardcore

ITU: Systém X Window | 24 / Programování XAplikací - Gtk, Gtkmm hodně používané kvůli otevřenější licenci program se nakreslí v Glade Gtkmm je objektové

ITU: Systém X Window | 25 / Programování XAplikací - Qt qtassistant – nápověda qdesigner – program nakreslí (vzhled okna se ukládá do XML souboru) qmake – program pro generování makefile (qt) cmake – program po generování makefile (kde) moc – Qt používá systém slotů a signálů pro předávání zpráv mezi jednotlivými objekty, toto vyžaduje použití Meta Object Compileru

ITU: Systém X Window | 26 / Poděkování slajdy vychází z materiálů k předmětu GUX a materiálů k předmetu ITU z předchozích let připravených ing. Lampou materialy/os/oslinux/2.0.31/sak4/xx.htm