On Sat, Jun 4, 2011 at 3:54 PM, Jasper St. Pierre <jstpie...@mecheye.net> wrote: > > > On Sat, Jun 4, 2011 at 1:33 AM, Tim Cuthbertson <t...@gfxmonk.net> wrote: >> >> 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). > > I think I'd have to inspect your extension closely, but the stuff at GitHub > looks to be just an HTML demo for http://gfxmonk.github.com/shellshape/
Sorry, I forgot I hadn't pushed since I started the actual shell extension stuff. I originally mocked up a window manager with jquery for speedy turnaround (reloading a html page instead of restarting the shell). It's not very organised, but I've now pushed the master branch. The stuff that deals with mutter should be confined to: https://github.com/gfxmonk/shellshape/blob/master/real_mutter.js (down the bottom of that file is where the movement / resizing happens) Looking at that myself again now, I've just realised that I was setting the user_action flag to false, so that could well be why mutter is no maintaining the size. I just tried setting it to true, and that seems to have fixed the problem I was having. >> 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. > > Meta.add_verbose_topic(Meta.DebugTopic.WINDOW_STATE); Thanks very much :) _______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-shell-list