Keyboard/mouse control of Z-order?

Chris Angelico rosuav at gmail.com
Sat Feb 23 11:09:09 CET 2013


On Sat, Feb 23, 2013 at 7:44 PM, killermoehre <killermoehre at gmx.net> wrote:
> Am 23.02.2013 04:18, schrieb Chris Angelico:
>> Is it possible to set up a key/mouse command that moves a window in
>> the Z order? With our OS/2 boxes, we have it configured so that
>> Ctrl-Alt-RightButton will move the window under the mouse backward one
>> slot (and Ctrl-Alt-LeftButton moves the mouse one window upward,
>> toward the top). I've poked around in the settings and on Google
>> without finding a way to do this, but that doesn't prove it's not
>> there.
> I'm using 4.10 here, but AFAIK this option was already available in 4.8.
> Try Shift + Alt + PageUp/PageDown.
> You can set the keybinding in the xfwm4-settings → Keyboard \
> → Raise window
> → Lower window

That's part of what I'm looking for, but "Lower window" shoves it all
the way to the back - usually what I want to do is just lower it a
little way. I implemented the feature in Windows with a global hook,
so I'll try to demonstrate with a screenshot.

http://rosuav.com/ZOrderChange.PNG

Note how there are approximately 42 million windows on the screen.
That's how I work. (On Linux boxes, I usually divide them among
multiple workspaces, but there are still quite a few windows on any
given workspace.) Putting the current window all the way to the back
would be too far; I just want to push it one window backward.
Alternatively, I might be able to manage with a "bring other window to
top" option, but that plays badly with point-for-focus and would also
require that the action command involve the mouse (which I can't seem
to make the shortcuts window do, though there may be another way to do
this).

>> I'm a programmer, so if this requires a bit of code to implement, I'm
>> not afraid to do it. It's perhaps a niche feature, but once you get
>> accustomed to it, it's extremely handy.
> I think you will _love_ libwnck with wmctrl as bash frontend for
> implementing own actions.

Neither of which is currently installed on my system, which would
explain why I hadn't found anything! Though, a couple of apt-gets
later, I'm not entirely sure what wmctrl will do for me. It'll raise a
window all the way to the front, but not move a window one level.

Actually, it might be that this just isn't possible. Posts like this
http://www.gtkforums.com/viewtopic.php?t=631
suggest that nobody's ever implemented any such feature. It's present
in low-level services:
http://www.x.org/archive/X11R7.5/doc/man/man3/XRestackWindows.3.html
but not in any of the higher level toolkits that I can find, other
than one called "Ecore" which I've never heard of:
http://docs.enlightenment.org/auto/ecore/group__Ecore__X__Window__Z__Order__Group.html
and which still might not be what I'm after.

For what it's worth, here's what I'm reimplementing:
http://www.sf.airnet.ne.jp/~ts/npswps/npswps8.html
The screenshot looks like OS/2 version 2.something or maybe Warp 3,
but the functionality works just the same in the latest eComStation.

>> Platform: Debian Wheezy amd64
>> Xfce version 4.8
> At least not 4.6 *shudder*

Why, was 4.6 something terrible? I'm not familiar with any of this.
Just grabbed whichever version was available from the repositories.

ChrisA


More information about the Xfce mailing list