WindowSpace ----------- - Stack all windows *presently* on the horizontal line you are focusing on horizontally (ie, make their width even and place them besides each other) - Windows can be considered "part of background". I much prefer having my xconsole window obstructed to having my xterms obstructed. - Move active window to a workspace, and at the same time switch to that workspace. E.g. move IRC window to "local hacking workspace" when helping somebody on IRC - Move left border of window right until the window does not cover any other - Move right border of window left until the window does not cover any other - Move top border of window down until the window does not cover any other - Move bottom border of window up until the window does not cover any other - Undo last change operation - "Maximize" a window so it is as large as it can be inside the available space locked in by other windows - Take a window and suggest somewhere to put it - Move window to lower left corner (or better, move window to some extreme edge of the screen) - Move window to fit in largest available space, and maximize inside space - Generate window configurations, based on where windows are located and what type they have. Allow change between configurations, even when they are approximate. - Generate a small pattern (just a color spread over a square, e.g. black upper left, green upper right, red lower right, blue lower left) in the titlebar of each window, allowing the use of this to identify the window in displayed overview by simple color coding, e.g. for window configuration reconfig. - Move window down so it clears below others - Maximize window vertically - Push/pop window configuration on some stack - Swap location and size of two windows - Push a window in itself on a stack, removing it from the configuration (or perhaps push the configuration and remove the window? That would give the same effect...) - Make it possible to switch what set of "workspaces" one switch between with Alt-1 to 0. Ie, one set of billing workspaces, one set of coding workspaces, etc - Work with a group of windows, making it possible to change that group to different configurations. E.g, A B C D E GGGGG select ABD, which can be re-generated in at least the following configurations: AA AA BA DA BD DB AB AD (times 3, for each window) BD DB DA BA AA AA AD AB AB AB AD AD BA BA BD BD DA DA DB DB D D B B D D A A B B A A A A A A B B B B D D D D BD DB BD DB AD DA AD DA AB BA AB BA ... with a simplistic definition of "configuration" (four squares that should be covered by one or zero windows per square, dropping windows not allowed). - Move window so its lower border is aligned with the bottom of the screen - Move window so its lower border is aligned with the top of the next window below - Select window to the left of the active one - Select a group of windows for cycling in a specific "cycle group" (so you can cycle through a series of windows) - Use double hit of CTRL as introducer for window operation sequences - Start program (stack down, as default in pwm) - Start program (stack left, as my config in pwm) - Swap focus between presently active window and last active window - Activate window to the left (top preferred) - Activate window to the left (bottom preferred) - Activate window to the left (middle preferred) - Activate window to the left (smallest preferred) - Activate window to the left (n'th from top preferred) - Activate window to the left (n'th from bottom preferred) - Activate window to the left (largest preferred) - Activate window to the left (last that was active preferred) - Activate window to the left (ID x preferred, where ID is shown in the title bar) - Same for down/up/right - Move bottom border of this window and top border of window below (giving space from this window to the window below) - Similar for left/right/above - Support for doing the same inside groups - Move window to be stacked in the first available space with upper-left-to-right stacking upper-left-down stacking upper-right-to-left stacking upper-right-down-stacking lower-left-to-right stacking lower-left-up-stacking lower-right-to-left stacking lower-right-up-stacking - Move window to largest available space, and maximize inside space - Move left/right/top/bottom border to be inside screen Keys (suggestions): Ctrl Ctrl (tapped): Command Sequence Introducer - Resize all windows in "present row" to a particular size, and shuffle off all the windows you don't have the space for - Switch to a different window, enter one line of text, and switch completely back to the context you were in. Think of IRC during programming (especially remote pair programming). (May not be necessary if it is easy to switch the two last active windows, but maybe...) - *Rename* a view. I usually have a view including my mail client at Alt-6 - it would be very good to be able to switch that away if I happen to have messed it up but still want to keep it, and create a new one. NOTE: Emacs has support for something similar to what I want under the name "desktopaid". NOTE: Need for ability to move the top of a window down until it no longer overlaps anything.