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

Re: G2D problem with window managers



On Mon, Aug 05, 2002 at 11:04:15AM +0100, Ross Burton wrote:
> > He won't do anything even resembling window matching.  There are half a
> > dozen features related to workspace management which come from window
> > matching, and Havoc is convinced that this should not be done in order to
> > force people to rewrite misbehaving applications.
> 
> You'll be incredibly pleased to know that I have discussed this with
> Havoc in the past, and I am working on a program to perform "window
> matching" as a separate process.

Yes, I hadn't heard anything about this before yesterday, and am greatly
relieved to see that it's getting done, by whatever means are necessary to
implement it.  A seperate process is perhaps a better solution in the long
run under the assumption that eventually this sort of thing will be made
not a hack and standarised.  Of course, that requires an unrealistic level
of faith in standards on my part, but hey I'd absolutely love to be proven
wrong..


> Last night, after chasing missing X hints and fixing a trivial bug in
> Metacity, it successfully matched my Gkrellm window, and make it
> disappear from the tasklist, the pager, and appear on all workspaces.
> 
> Of course, I then upgraded to Gkrellm 2.0pre1 which did this for me...
> but I'm still writing it.
> 
> At the moment those are the only actions it can take -- this code is
> seriously itch-scratching at the moment.  What actions should it be able
> to perform?
> 
> * set skip pager|tasklist
> * set sticky/pinned
> * set workspace
> * set size/position
> * set maximised/minimised
> 
> Is there anything I missed?

These are all that are needed, but I additionally tell Sawfish not to
focus the panel or XMMS's playlist.  I have become quite used to this, but
this is superfluous to what I need to be functional.  I've just gotten
used to having it this way, much as I was used to having virtual desktops
before instead of workspaces.  Adjusting will not be difficult.

Also, windows like the panel are always on top - this breaks with certain
apps such as XawTV fullscreen.  I'm not sure if the bug here lies in XawTV
not making sure it's above the panel or in the panel for not getting out
of XawTV's way.  Forcing the depth of one or both windows should fix this.

The companions to never focus and forced depth are never raise and totally
ignore the window, which I never use personally, but have seen others use
for making "root window" log tails with eterms and the like.  Programs
exist to do a better job of this than you can get with an eterm and tail
-f, and I can't imagine another application of the feature offhand.  If
you're planning to clone the Sawfish window matching, they're definitely
good candidates.  If you're trying to implement only the actually useful
parts, well maybe someone else has uses for these I can't fathom.


> It can also match windows based upon their title, or the "application
> name" as determined by libwnck (its the name the tasklist uses when
> grouping applications).  What other matchers would be usefull?

Window title and window class are all I use currently.  I can imagine
using also Icon name, which can be set to be different from the window
class.  Why anyone would do this is beyond me, and I suspect the
differences are more confusing to most people than they're worth.


I'll be happy to test things out when you're ready for someone to try and
break it.  I'm certainly no Telsa, and happen to look nothing like her
(which is fortunate - if she looked like me it would be scary indeed!) but
I'll do my best.  It'll have to be a short test since it really is very
hard for me to use Metacity without more visual cues for window cycling.

-- 
Joseph Carter <knghtbrd@bluecherry.net>          If this sig were funny...
 
<knghtbrd> Solver_: add users who should be messing with sound to group
           audio..  Make sure the devices are all group audio (ls -l
           /dev/dsp will give you the fastest indication if it's probably
	   set right) and build a kernel with sound support for your card
<knghtbrd> OR optionally install alsa source and build modules for that
           with make-kpkg
<knghtbrd> OR (not recommended) get and install evil OSS/Linux evil
           non-free evil binary only evil drivers---but those are evil.
	   And did I mention that it's not recommended?

Attachment: pgpvrDLfFISEw.pgp
Description: PGP signature


Reply to: