moving windows from an extension (also: mutter debug output)



I'm writing a tiling window manager extension
(https://github.com/gfxmonk/shellshape), which obviously involves my
extension being responsible for placing / resizing windows and telling
mutter about the new positions.

I'm using what seem like the obvious methods to do so:
 - MetaWindow.resize(true, w,h)
 - MetaWindow.move_frame(true, x, y)

And that's pretty much it. That seems to work reasonably well for many
windows, but there seem to be a lot of windows that will snap back to
their previous windows sizes and ignore my extension. Notably chrome,
firefox and nautilus (whenever you navigate somewhere else nautilus
snaps back, the others do it seemingly at random).

Firstly, can anyone suggest the proper way of *really* moving /
resizing a window? Are these methods not sufficient? Do I need to call
a method to "bake" the new position as the new position, rather than
an intermediate position you might see while the user is dragging it?

Secondly, there are a lot of mutter debug topics. Any idea how they
can be selectively enabled? I figured out how to turn everything on at
once with `imports.gi.Meta.set_verbose(true);`, but that's an obscene
amount of output across all topics.

Any help would be appreciated,
 - Tim.


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