Automatic focus settings

Erik Harrison erikharrison at gmail.com
Fri Nov 11 19:46:33 CET 2005


On 11/11/05, Harold <h.aling at home.nl> wrote:
>  I've set this option ~6 months ago but I have yet to find the first
> application that actually uses the _NET_WM_USER_TIME correctly. Almost the
> apps that I use don't use it AFAICS. Perhaps that I just don't use the
> applications that DO use that property.
>
>  Anyway, it's generally a bad idea to rely on the assumed correctness of
> other programs...

This is true. On the other hand, it's not like Xfwm fails to map the
window if the window doesn't fully comply with Netwm.

Xfwm does exactly what the application requests, and when that request
is open to interpretation (like modal windows, for example) it tends
to do things in a way which maximizes user control.

In order to do this it needs to thoroughly follow existing standards -
even given that, it's fairly regular that we get asked how to force
Xfwm to break a standard or override a user preference so that an
application can do what the app author thinks  is right.

It's not enough to have standards. You have to have conforming
applications. Xfwm is just such an application in this case. Netwm is
a fairly popular standard. Now it's time to whip app authors into
shape - file bugs with those apps that get in your way the most often.
For me that means filing a bug against Gaim and Firefox to set
_NET_WM_USER_TIME.

>
>  Look: I'm not a programmer, so I may have a really blurred vision of what
> might be possible or not...

Anything is possible, given infinite memory (see Turing). Anything is
possible and fast given infinite RAM, infinate processor cycles, and
zero bug latency. Anything can be implemented and run fast given all
of the above and infinite man power.

Nothing is ever bug free.

Given that we don't have even just infinite memory, and people still
want things fast,  stable, and available in the short and longs terms,
you have to make certain sacrifices.

Every additional code pathway in Xfwm increases the likelihood of
bugs, while at the same time decreasing the amount of time that
Olivier has to spend on any given code path. Any additional branch
that Xfwm must go through before mapping or moving a window is
additional CPU cycles spent doing those very things - the very things
you most likely just want to be fast, in order to give more cycles to
what you really care about - applications.

Every additional chunk of meta information that Xfwm has to keep that
the Xserver has to manage is more RAM eaten up by your desktop. If
that info has to be kept for every window, you have RAM overhead that
grows as your use of the desktop grows. If you have to keep, say, a
lookup table of process timestamps (as you suggest), you have RAM
overhead that grows as your use of the computer grows, even if those
processes aren't doing anywork on the desktop!


>
>  I just find it hard to believe that an implementation where newly created
> processes get timestamped when created and compared to the time stamp of the
> last (user)focused window isn't possible, or maybe a fairly simple new
> feature...
>
>  Again: I don't want to sound like I know it all better than you all, I'm
> just suggesting something to expand the friendliness and usability of
> XFCE...

Believe me, we're all there. And I'm totally with you on this feature.
Gmail causes Firefox to steal my focus from other windows all the
time, as does Gaim. That said, taking the tack that Xfwm is currently
taking is more consistent with Xfce's philosphy (the one that likely
brought you to the desktop in the first place), saves very precious
dev resources, cuts down on bugs, and keeps the desktop fast.

It also makes Xfce a good citizen of the desktop and the free desktop
community, and is part an parcel with our tendency to be on the
forefront of desktop standards, and pushing their wider acceptance.

I hope I didn't go overboard in my reponse here. I just felt like your
request looks so reasonable from the outside, that it might be nice to
give you the insider's perspective without flaming you or talking down
to you. Yannow?

>
>  -H-
>
>
>  Olivier Fourdan wrote:
>  On Fri, 2005-11-11 at 16:02 +0100, Harold wrote:
>
>
>  I want to restart this discussion because it's the only thing that
> keeps getting me annoyed when using the best desktop environment
> available...
>
>  I think it's been covered already. What you want is focus stealing
> prevention. There is a (documented) hidden option for that in xfwm4 4.2.
> Support has been improved in 4.3.
>
> The system, however, requires that the applications properly set the
> property _NET_WM_USER_TIME on user input. Not all applications are
> compatible with this protocol (and even among those which are
> compatible, some don't set the property accurately IMHO).
>
> Cheers,
> Olivier.
>
>
> _______________________________________________
> Xfce mailing list
> Xfce at xfce.org
> http://foo-projects.org/mailman/listinfo/xfce
> http://www.xfce.org
>
>
>
> _______________________________________________
> Xfce mailing list
> Xfce at xfce.org
> http://foo-projects.org/mailman/listinfo/xfce
> http://www.xfce.org
>
>


--
Erik

"If Beethoven had been killed in a plane crash at the age of 22, it
would have changed the history of music... and of aviation."



More information about the Xfce mailing list