Expansion and external tools

So I bought a flash...In GNOME bug 517722, a new keybinding is suggested which will make the focussed window take up as much space as possible without covering any other window.  If applied to all windows, it would make Metacity behave like a tiling window manager.

The main problem with this idea is the same one we were discussing almost a year ago: the same action can fairly easily be done using an external script and the EWMH.  So on the face of it there doesn’t seem to be much reason to add it into the window manager as well.

Of course, this could also be said of several of the less-used bindings, such as “move to southwest corner”.  Indeed, some have called for major keybindings such as alt-Tab to work this way.  The problem here is that external scripts are slow to start when the computer is overloaded: it’s important that alt-Tab keeps working even when the system load is high.  The same thing can’t be said of “move to southwest corner”, though.

Window managers which incorporate a programming language don’t have this issue, since a keybinding can be easily written to reconfigure a window in any way the user pleases, assuming the user is a programmer.  But Metacity aspires to be a lightweight window manager, and so does not provide this.

Both of these are reasons why your chronicler is not minded to accept this patch.  Perhaps both of these are arguments for moving keybindings such as “move to southwest corner” out to an external script as well, although we could say they are grandfathered.  Perhaps also there should be a general policy against anything that can be done in an EWMH script being accepted into Metacity in future.

The number of external EWMH scripts to do this kind of thing continues to rise. Mikkel Kamstrup Erlandsen has been working on putting a number of them together, including one to expand windows, and calling it WinWrangler.

Photo © widdowquinn, cc-by-nc-sa.

Published by

Thomas Thurman

Mostly themes, triaging, and patch review.

11 thoughts on “Expansion and external tools”

  1. I have never worked with a tiling window manager, so i have no real opinion on that subject. But i have worked some time with windows 7 in the last couple of days and i have to admit that aero snap is a really nice and comfortable feature. After doing some research about how to get a comparable functionality on linux my impression was that there are many people in the wild asking about aero snap for gnome. There are solutions and I have tried them but they don´t feel well integrated in the desktop.

    I think gnome would make a lot of people happy by offering some kind of equal functionality to aero snap.

  2. Haven’t used Aero Snap, but my understanding is that it’s equivalent to “put left/right/top/bottom” in the Compiz grid plugin (i.e. a window is resized to fill up the left/right/top/bottom half of the screen), except that it’s triggered by dragging a window to whatever edge you want it to fill rather than by pushing a keybinding.

    I think what this guy is proposing is a “smarter” Grid, where the resizing isn’t fixed to 50% (although, personally, I much prefer the way Grid does it).

  3. Oh, and strokinder:

    Grid is really great, a *huge* increase in comfort over manually resizing windows in Metacity — open up a terminal & super-alt-left, open up a browser & super-alt-right, and those two windows now fill the whole screen. I don’t care a bit about anything else in Compiz, but I’m seriously going to hunt down and pummel someone if that functionality gets taken away from me in Gnome 3.

  4. If I understand correctly, that could be fairly easily done with an external tool. You just have to monitor ConfigureNotify on the root window thus:

    http://people.collabora.co.uk/~tthurman/metacity/track-window-movements.c.txt

    Of course you then need some way of picking up that a window had touched the hotspots, and you need to add some kind of payload, but the bones of it are there. If I get a more exact specification, and anyone’s interested, I might write the rest of it.

  5. Cool. I’m not personally interested, but my impression is that there’s tons of people drooling over Aero Snap.

  6. FWIW:

    Results 1 – 100 of about 22,000 for aero snap gnome
    Results 1 – 100 of about 60,600 for aero snap ubuntu
    Results 1 – 100 of about 204,000 for aero snap linux

  7. Just look at this tutorial i found on the net here http://www.omgubuntu.co.uk/2009/11/aero-snap-ubuntu-linux.html

    In reality you just have to copy + paste the command line string into the appropriate fields. But it looks really difficult and in the end it has some design flaws. In Windows 7 the resizing is only applied when the user releases the mouse button. With the Ubuntu solution the resizing will apply immediately when dragging a window to the left or righ side. Especially problematic when you want to drag a window onto the next workspace.

Leave a Reply

Your email address will not be published. Required fields are marked *

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.