Re: [gtk-list] Should there be a call to make a window "active"?



Guy Harris wrote:

> Instead, I use a technique that Netscape also uses if you select
> "Communicator->Bookmarks->Edit Bookmarks" when there's already a
> bookmark window open.

> 	2) it's not considered to be the right thing to do.

I suppose that's the reason under X11. I have a huge usability problem with
Netscape's behavior and Window Maker. Since my Netscape windows are in
the different workspaces, clicking on "Edit Bookmarks" displays bookmarks
window in the workspace where it was originaly opened, but not necessarily
in my current workspace, where I want it to appear. There's about 20-30%
chance of window being displayed in the current workspace, which isn't much,
so I usually have to hunt it down through different workspaces.

Window managers intercept map requests from clients and then do whatever
they were configured to do. I'm not sure if _NET_ACTIVE_WINDOW is intended
to bring a window from another workspace to the current one. If it is,
somebody should add a note about that to the spec. But even if that's
the right thing to use, it can only be used with conforming window managers.
Calling XSetInputFocus() when the window is not viewable results in BadMatch.
Waiting for map notify which will never come (because WM decided not to map
the window) results in endless waiting. :-)

I'd be happier if Netscape (and other similar applications) would create
a new window (which would automaticly get a focus if WM was configured to
do so), then transfer widgets from the old window to the new one and
then destroy the old window. I'm not sure if this is possible with GTK.
Probably gtk_container_remove() could be used, but it's currently somewhat
underdocumented.

-- 
 .-.   .-.    I don't work for my employer.
(_  \ /  _)
     |        dave@srce.hr
     |        dave@fly.srk.fer.hr



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