Thread View: pl.comp.sys.xwindow
2 messages
2 total messages
Started by Andrzej Chojnowski
Thu, 07 May 1998 12:59
Odswiezanie okna w Xlib
Author: Andrzej Chojnowski
Date: Thu, 07 May 1998 12:59
Date: Thu, 07 May 1998 12:59
21 lines
1391 bytes
1391 bytes
Czesc !
Jestem poczatkujacym programista Xlib (nie pytajcie mnie czemu Xlib akurat a
nie Motif czy inne takie, tak wypadlo). Mam dwa problemy, ktore pojawily sie
w trakcie pisania programow:
1. jaki event (nazwa eventu i jego maski) odpowiada za przycisniecie
gadzetu zamykajacego okno ?
2. czy mozna zrzucic na system utrzymywanie zawartosci okna w jako takim
porzadku, tzn. odswiezanie okna gdy zostanie przez cos zakryte ?
Wyczytalem ze odpowiedzialny za to jest atrybut backing-store ale kazda
proba ustawienia go XSetWindowAttributes konczy sie segmentation fault
(to znaczy XSetWindowAttribute sie wywala)
Pomocy ; za wszelka pomoc dziekuje
Amdrzej.
--
Andrzej Chojnowski, e-mail/http: microbe@eris.phys.uni.torun.pl
"Jestem fizykiem, mam prawo zachowania energii." (Hugo Steinhaus)
Re: Odswiezanie okna w Xlib
Author: Slon
Date: Fri, 08 May 1998 18:10
Date: Fri, 08 May 1998 18:10
57 lines
3353 bytes
3353 bytes
On 7 May 1998, Andrzej Chojnowski wrote: > Czesc ! > > Jestem poczatkujacym programista Xlib (nie pytajcie mnie czemu Xlib akurat a > nie Motif czy inne takie, tak wypadlo). Mam dwa problemy, ktore pojawily sie > w trakcie pisania programow: > 1. jaki event (nazwa eventu i jego maski) odpowiada za przycisniecie > gadzetu zamykajacego okno ? Co masz na mysli piszac "gadzetu zamykajacego okno" ? Jezeli chodzi ci o ten cicik w lewym gornym rogu, ktory otwiera manu z opcja "close" (Motif !), to on nie jest twoj tylko Window Menager'a ! Jezeli interesuje cie informacja o tym, ze user usiluje zamknac twoje okno musisz uzyskac atom WM_PROTOCOLS (XInternAtom()) i ustawic protokol Window Menager'a (XSetWMProtocols()) WM_SAVE_YOURSELF (powiadamianie) lub WM_DELETE_WINDOW (kontrola). Oba, przy probie zamkniecia okna, przesylaja komunikat zawierajacy wlasny atom, czyli dostaniesz ClientMessage event ! Zreszta, opis obu jest w ORA Xlib Programming Manual (vol. I) w roadziale 12 ! > 2. czy mozna zrzucic na system utrzymywanie zawartosci okna w jako takim > porzadku, tzn. odswiezanie okna gdy zostanie przez cos zakryte ? > Wyczytalem ze odpowiedzialny za to jest atrybut backing-store ale kazda Nie ! backing_store to jest "hints" ! Xserver moze go obslugiwac, ale nie musi. To zalezy od Xserver'a (czy swiadczy taka obsluge) jak i od np. aktualnego obciazenia (jak zbyt malo pamieci, to najpierw wy... obrazy backing_stote i save_under !). Generalna zasada w X'ach jest, ze proces dba o odswiezanie swoich okien. backing_store jest "potencjalna mozliwoscia" przyspieszenia dzialania aplikacji (konkretnego okna) gdzy obsluga (glownie) Expose jest kosztowna bo wymaga np. dostepu do dysku, sieci, ... lub skomplikowanego rysowania. W takiej sytuacji Xserver szybciej odtworzy to z zapamietanej pixmapy, ale kosztem pamieci. Jest sobie makro DoesBackingStore(), ktorym mozesz sprawdzic czy Xserver moze obslugiwac backing_store. To samo mozna sprawdzic standardowym xdpyinfo ! Pamietaj tylko o uzytkownikach Xterminali z mala iloscia ramu !!! > proba ustawienia go XSetWindowAttributes konczy sie segmentation fault > (to znaczy XSetWindowAttribute sie wywala) > Bo pewnie cos s... :-))) Czy nie trzeba czasami tego ustawiac razem z backing_planes i backing_pixel ??? > Pomocy ; za wszelka pomoc dziekuje > > Amdrzej. > > > -- > Andrzej Chojnowski, e-mail/http: microbe@eris.phys.uni.torun.pl > "Jestem fizykiem, mam prawo zachowania energii." (Hugo Steinhaus) > > Pozdrowienia ... Slon
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads