Re: _NET_ACTIVE_WINDOW, revisited



On 7/26/05, Billy Biggs <vektor dumbterm net> wrote:
> Elijah Newren (newren gmail com):
> 
> > [...] However, the only way the WM can decide if it's appropriate
> > though, is to know when the user caused it to be activated.  By giving
> > a timestamp of 0, you aren't providing the requisite information and
> > are putting the WM in a position where it can't decide the
> > appropriateness of the call.
> 
>   While the timestamp is helpful, the WM should be able to do something
> reasonable even if the timestamp is 0.

My whole gripe was that I had no clue how to determine anything
reasonable without a timestamp.  You basically ignored my whole
explanation that I didn't understand how to do so, and told me to do
it.  Doesn't exactly help me.  ;-)

<snip>
> The timestamp code in gtk_window_present() is new for GTK+ 2.6.3, so
> that's a very recent change.

Yes, but since gtk+ is backwards compatible when the user upgrades
gtk+, even if they don't upgrade your app, then they get all the
benefits.  If the user doesn't upgrade anything, well then we can't
worry about fixing anything for them anyway as they won't get the
fixes.

>  We stopped using gtk_window_present() in
> late 2003 because it was causing problems, I suspect because of the
> gdk_window_show() was doing more work than we expected.

Odd.

>   I think the WM should map _NET_ACTIVE_WINDOW requests to demands
> attention if they conflict with the policy.

With what policy?  Our policy is if the request is too old (user has
done other stuff since requesting the activation), then set the
demands attention hint.  We can't figure out what time the request was
made with 0 timestamps--they're old clients and we'll break things if
we just ignore them, so we follow them.

> I believe kwin implements this well, so this suggests that there is a
> reasonable middle ground.

Really?  Well, sounds like Lubos is ahead of me yet again.  So,
somehow Lubos figured out a trick to workaround the problem.  Thinking
about this for a while, I guess we could ignore such activation
requests if the currently active window does not belong to the same
application/group as the window to be activated.  Wouldn't be perfect,
but might work well enough.  It'd break old taskbars but that sounds
acceptable (I think it'd be rare for users to use the latest Metacity
with really old taskbars).  It might also break some accessibility
stuff like GOK, which probably wouldn't be acceptable right now--I'd
have to look into it.

I'm guessing this is bugzilla (either Gnome or eclipse) material now
instead of continuing on wm-spec.  Though I'd love to hear any sage
advice that Lubos might have.  ;-)


Elijah



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