Re: Spaces focus issue aggravates older bug
Re: Spaces focus issue aggravates older bug
- Subject: Re: Spaces focus issue aggravates older bug
- From: Ben Byer <email@hidden>
- Date: Sun, 18 Nov 2007 10:11:24 -0800
On Nov 17, 2007, at 9:16 PM, Nathaniel Gray wrote:
On Nov 16, 2007 4:15 PM, Ben Byer <email@hidden> wrote:
If anyone wants to poke at this, my best guess is that we need to
tell
X11 to "unmap" (hide) all windows when we switch Spaces, then unhide
the ones on the current Space.
And how do we find out when we've switched Spaces? AFAICT there's no
documented way to learn of this occurrence. I would be *very*
interested to hear otherwise...
So, peep Xplugin.h:
enum xp_event_type_enum {
/* The global display configuration changed somehow. */
XP_EVENT_DISPLAY_CHANGED = 1 << 0,
/* A window changed state. Argument is xp_window_state_event */
XP_EVENT_WINDOW_STATE_CHANGED = 1 << 1,
/* An async request encountered an error. Argument is of type
xp_async_error_event */
XP_EVENT_ASYNC_ERROR = 1 << 2,
/* Sent when a surface is destroyed as a side effect of destroying
a window. Arg is of type xp_surface_id. */
XP_EVENT_SURFACE_DESTROYED = 1 << 3,
/* Sent when any GL contexts pointing at the given surface need to
call xp_update_gl_context () to refresh their state (because the
window moved or was resized. Arg is of type xp_surface_id. */
XP_EVENT_SURFACE_CHANGED = 1 << 4,
/* Sent when a window has been moved. Arg is of type
xp_window_id. */
XP_EVENT_WINDOW_MOVED = 1 << 5,
};
Casual inspection suggests we receive an XP_EVENT_WINDOW_STATE_CHANGED
event from Xplugin. We've already seen some bugs that indicate we're
not doing all we should with those messages -- for example, the
Expose / window-stacking-ordering-thing bug mentioned a few days ago.
In theory, we should be able to do all of the processing we need in
response to those events. If your question about Spaces is more
general, then I dunno -- in general, we should try to limit ourselves
to the info we get from libXplugin (and if that info is insufficient
to ensure correct behavior, then we need to write bugs against
libXplugin).
--
Ben Byer
CoreOS / BSD Technology Group, XDarwin maintainer
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden