🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.sys.xwindow
Article #625

Re: Odswiezanie okna w Xlib

#625
From: 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
Technical Details
Message-ID: <Pine.LNX.3.95.980508192912.26952A-100000@astro.coig.katowice.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <6isb8d$98e$1@flis.man.torun.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
Newsgroups: pl.comp.sys.xwindow
From: Slon <slon@astro.coig.katowice.pl>
To: Andrzej Chojnowski <microbe@phys.uni.torun.pl>
Subject: Re: Odswiezanie okna w Xlib
In-Reply-To: <6isb8d$98e$1@flis.man.torun.pl>
Message-ID: <Pine.LNX.3.95.980508192912.26952A-100000@astro.coig.katowice.pl>
References: <6isb8d$98e$1@flis.man.torun.pl>
MIME-Version: 1.0
Lines: 66
Date: Fri, 08 May 1998 18:10:09 GMT
NNTP-Posting-Host: astro.coig.katowice.pl
NNTP-Posting-Date: Fri, 08 May 1998 20:10:09 MET DST
Organization: TPNET - http://www.tpnet.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit