Re: gnome_win_hints_init()



On 25 Jan, Felix Bellaby scribbled:
->  Hi all,
->  
->  gnome_win_hints_init() unconditionally performs a collection of
->  XInternAtom calls and is best done only once.
->  
->  I want to use the gnome hints to move the gnome_client_save_*_dialogs 
->  on top of the other windows on the desktop (because these dialogs are 
->  the only windows which receive input during a session save: see 
->  discussion on gtk-devel). This requires that gnome_win_hints_init() 
->  is called somewhere in the gnome-libs.
->  
->  Is there any objection to incorporating a call to gnome_win_hints_init()
->  into gnome_init_with_popt_table() ?
->  
->  BTW, are we happy with gnome-winhints.c using X and gdkprivate.h ?

I am - since a window manager is an X dependant thing - this being X
dependant is logical - porting to another windowing system would mean
completely redoing the whole WMhints stuff - if it is at all possible.

->  
->  The win hints protocols which send ClientMessages to the WM seem  
->  to require these. The format of these protocols is essentially 
->  identical to the ICCCM protocol for instructing the WM to iconify 
->  a client window. (The use of the SubstructureNotifyMask is not 
->  specified in the ICCCM but helps restrict the messages to the WM).
->  
->  Perhaps we need a minor addition to gdk to help send these messages ?
->  
->  gboolean
->  gdk_event_send_client_message_to_wm (GdkEvent *event, GdkWindow *window)
->  {
->    GdkWindowPrivate *private = (GdkWindowPrivate *)window;
->    XEvent sev;
->  	
->    g_return_val_if_fail(private != NULL, FALSE);
->    g_return_val_if_fail(event != NULL, FALSE);
->    
->    sev.xclient.type = ClientMessage;
->    sev.xclient.display = gdk_display;
->    sev.xclient.format = event->client.data_format;
->    sev.xclient.window = private->xwindow;
->    memcpy(&sev.xclient.data, &event->client.data, sizeof(sev.xclient.data));
->    sev.xclient.message_type = event->client.message_type;
->    
->    return gdk_send_xevent (gdk_root_window, False, 
->  			  SubstructureNotifyMask, &sev);
->  }
->  
->  (Note that this function passes a GdkWindow* not an xid. Why does 
->   gdk_event_send_client_message pass an xid ?)
->  
->  Felix
->  
->  

-- 
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
raster@rasterman.com       /\___ /\ ___/||\___ ____/|/\___  raster@redhat.com
Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
+1 (919) 929 9443, 801 4392   For pure Enlightenment   http://www.rasterman.com/

              \|/ ____ \|/  For those of you unaware. This face here is in fact
	      "@'/ ,. \@"   a Linux Kernel Error Message.
	      /_| \__/ |_\
		 \__U_/
							   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]