- Jak funguje komunikace mezi window managerem, a X serverem? Jen pres server, nebo komunikuje i primo s klienty? Existuje nejake API v X protokolu, kde se WM zaregistruje, a muze hakovat pozadavky? To omezeni jen na toplevel okna je zabudovano v X serveru?
- Kdyz kazdy drobny prvek v GUI je na X-serveru reprezentovan jako "okno" s nejakym numerickym window id (vim akorat ze se alokuje per-klient a deterministicky, takze asynchronne), maly dialog klidne bude obsahovat desitky az stovky oken. Jakym zpusobem jsou na X serveru okna reprezentovana? Kdyz vidim to mnozstvi atributu, ktere lze pro kazde okno nastavit, proste ceckove struktury by byly v obecnem pripade zbytecne velke, a plne defaultnich hodnot. Pouziva X server nejaky chytry objektovy a atributovy model? Jaka je jeho pametova rezie?
- Jak moc je xlib reentrantni?
Diky...
- Komunikace mezi WM a X serverem funguje naprosto normalne, WM je X klient ktery ma jen navic nektera specialni privilegia (viz nize). Zadni X klienti nekomunikuji primo, veskera komunikace jde pres X server (leda ze by pouzili neco jineho nez X protocol, treba DCOP). Ano, WM si zaregistruje event mask SubstructureRedirectMask na root okne, a potom X server misto provedeni nekterych operaci s toplevel okny jen posle o tom udalost WM a ten se rozhodne, jestli a jak tu operaci provede. Tu event mask lze pouzit i jinde, ale jinde nez u root okna to pro WM moc nedava smysl.
- To fakt netusim.
- Pokud se pouzije XInitThreads(), mel by byt Xlib plne thread-safe.
dobry den,
pro zjisteni dostupnych grafickych modu pouzivam funkci XF86VidModeGetAllModeLines, ktera mi naplni pole struktur XF86VidModeModeInfo. bohuzel z teto struktury dostanu pouze informaci o rozliseni. jakym zpusobem ziskam k jednotlivym modum jejich barevnou hloubku, nebo jmeno monitoru ci graficke karty (vyplnene v XF86Configu)?
dekuji
Moje odpodet je trochu offtopic, ale presto.
Xfree pochazi jeste z doby, kdy byla video pamet velice draha a setrilo se s ni jak se dalo.
Takze existovali i gr. karty, ktere umoznovaly aby kazde okno melo jinou bar. hloubku. Tohle X servery podporuji dodnes. Proto barevna hloubka nemuze byt atributem gr. modu, ale patri k oknu.