_NET_WM_STATE issues



Hi, 

I've been hacking around in Sawfish's wm-spec code tonight and there
are a couple of issues I'd like to raise...

1. _NET_WM_STATE_STICKY is problematic.  The wording suggests that
when this property is set, a window should be sticky within a virtual
desktop.  It doesn't say anything about stickiness across separate
virtual desktops, and I think it would be a big problem to suggest
that it implies this. [*1] However it's obviously very desirable that
the user should be able to set both types of stickiness via a taskbar.
This is a pretty core function, so I don't think we should say that a
wm-specific extension is the answer.  The only sane solution I can
envisage is to add something like _NET_WM_STATE_STICKY_DEKSTOP to
refer to the latter.  (WMs that only support both types at once can
easily keep the properties in lockstep.)  Comments please!

2. Just a quick question due to some uncertainty over in the Sawfish
camp: was _NET_WM_STATE_MAXIMIZED_HORZ meant to be HORZ or HORIZ?  (I
guess the answer is, whatever KDE2 uses?  But I don't have it and my
bandwidth is restricted...)

Thanks,
-Rob

[*1] Here's the problem if you hadn't guessed: Sawfish is capable of
setting these two modes of stickiness independently.  So the user may
have set a window to be sticky-within-its-desktop (but not
sticky-across-all-desktops) through the WM, then may use a taskbar to
send a _NET_WM_STATE_TOGGLE message on the sticky attribute.  What
should Sawfish do in response?  I see no answer that won't result in
users making endless bug reports about having to toggle stickiness on
and off again to turn it on "properly"; toggle buttons that imply
stickiness is on when it's off, etc.





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