]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - gui-prednaska/index.mdwn
7ec07543b212689a67e8b37a784b54ed22bb8ae7
[edu/osp-wiki.git] / gui-prednaska / index.mdwn
1 [[!meta title="Grafická uživatelská prostředí a knihovny"]]
2
3 [[!toc levels=2]]
4
5 #Grafická uživatelská prostředí a knihovny
6
7 ## X Window System 
8
9 - Grafické prostředí pro operační systém UNIX
10 - Začal vyvíjet institut MIT (Massachusetts Institute of Technology) v r. 1984.
11 - Označení X11 (verze 11) od r. 1987
12 - Další verze jsou označovány jako revize. 
13 - Současná podoba systému oken X se principiálně nemění a nová vydání jsou rozšiřující především z pohledu způsobů implementace grafických režimů.
14 - Klient-server architektura, klient (GUI aplikace) nemusí nutně běžet na stejném stroji, jako server.
15 - Server se stará o klávesnici, myš a zobrazení grafického výstupu aplikací.
16 - Klient komunikuje se serverem pomocí socketu. Používá [X-protokol](#x-protocol). 
17 - Referenční implementací je X server vyvíjený X.Org Foundation.
18
19 ![X architektura][1]
20
21 ## Správce oken (window manager)
22
23 Samotný X Server má na starost pouze zobrazení na obrazovku, obsluhu hardware (grafická karta, myš, klávesnice, touchpad) a sám o sobě je těžko použitelný. Proto se používá spolu se správcem oken (anglicky window manager), který se stará o ovládání uživatelem (přesun a změna velikosti okna) a podobně (horní lišta oken, ohraničení oken, změna velikosti, překrývání atp.). Z hlediska X Serveru je ovšem správce oken jen další klient, a proto je snadno zaměnitelný. Pro Linux existuje několik desítek správců oken, přičemž mezi nejznámějším patří IceWM, FVWM, Sawfish, Window Maker, Kwm, Metacity nebo Fluxbox.
24
25
26 ## X display manager
27 X display manager je v grafickém systému X Window System proces, který umožňuje přihlášení uživatele z lokálního počítače nebo přes počítačovou síť. 
28 [X display manager na wikipedii][2]
29
30 <a name="x-protocol"/>
31
32 ### X protokol
33 - Specifikuje způsob komunikace mezi X-Serverem a X-Klienty. 
34 - Nejslavnější implementací je Xlib.
35
36 ![Xlib][3]
37
38 Používat přímo xlib by bylo poněkud těžkopádné, proto vzniklo mnoho knihoven, které se snaží tvorbu GUI aplikací zjednodušit. Např. GTK+, Qt, FLTK, wxWindows, HTML + DOM + JavaScript, atd.
39
40 ## GTK+
41
42 ## QT
43
44 ## Gnome
45
46 ## KDE
47
48 ## Callback problem 
49
50
51   [1]: X_client_sever_example.svg
52   [2]: http://cs.wikipedia.org/wiki/X_display_manager
53   [3]: xlib.png
54