🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#624
Author: Andrzej Chojnowski
Date: Thu, 07 May 1998 12:59
21 lines
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
#625
Author: Slon
Date: Fri, 08 May 1998 18:10
57 lines
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