New leader/group concept (Re: [WM] docking Gimp?)



Owen Taylor <owt1@cornell.edu> writes:

> Oliver Graf <ograf@fga.de> writes:
> 
> > To gtk-developers: is there anything like a main window in gtk+? If yes, this
> > window *must* be the real leader of the app. Are there any functions to
> > create/set such a leader? I will search for them on my own, but perhaps
> > someone can reduce the work I have to do (there are other things to do --
> > XEmacs).
> 
> There is no concept of main window in GTK+.

This is bad for WMaker. Perhaps it would be possible to introduce this
concept. Instead of setting the leader for each window, you will have to set
the main-leader at startup. Each new window will get this window as default
leader. This makes the invisible leader obsolete. If you want a second
leader/group you still can use the old function (below).

> The leader for a window in GDK can be set with:
> 
> void	      gdk_window_set_group	 (GdkWindow	  *window, 
> 					  GdkWindow	  *leader);
> 
> To do this for a GTK window, you would, after show()'ing the window
> so that it is realized, do:
> 
>  gdk_window_set_group (window->window, leader_window->window);

I will create a patch which introduces the new concept. Perhaps it makes it
into the standart sources...

[Look into current gtk+ tree...]

Well, I can think of the following solution:
A wrapper to gdk_window_new called gdk_window_new_leader, which creates a new
window and makes it the leader of all others. If this is the first window
created, it is the leader. If gdk_window_new is called, and the
gdk_leader_window is NULL, a default invisible window is created. This will
not break any existing apps, but the apps can use the new function to use this 
feature.

What do you think about this?

Regards,
  Oliver.



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