10

There is an "Always on topmost" menu option for windows. I'm not sure if it's related to compiz or metacity.

I want to set the Totem player or Cheese the WebCAM player, always below the bottom-most, so I can view the movie when I'm working.

And, let the "Always below the bottom-most" windows be excluded in the windows list is even better.

If there is no such function yet, where should I begin if I want to develop one? It's Compiz or Gtk or XFB or something else?

Lenik
  • 18,830

2 Answers2

7

You can use wmctrl and devilspie to manipulate window attributes/set EWMH properties. Both should be available in standard Debian/Ubuntu repos.

wmctrl is a command-line utility you can use to get a list of currently open windows and set their attributes (those of possible interest to you are marked with *):

modal
sticky*
maximized_vert*
maximized_horz*
shaded
skip_taskbar*
skip_pager*
hidden
fullscreen
above
below*

Example:

for hint in below sticky skip_taskbar skip_pager maximized_vert maximized_horz
do
    wmctrl -F -r $fulltitle -b add,$hint
done

Either by manually calling a script after the target program was started, or from a wrapper script that starts the program, waits for its window to appear and then runs the loop.


devilspie allows you to do the same thing (and a little more), but runs as a daemon and watches for windows you've defined in its configuration, to apply your settings when they are created.

Example:

(if (is (window_name) "Movie Player")
    (begin
        (below)
        (stick)
        (skip_taskbar)
        (skip_pager)
        (maximize)
        (undecorate)
    )
)
peth
  • 10,400
3

You can run CCSM (Compiz settings manager) and under Window Management > window Rules > put your applications to Below field.

sup
  • 879