[haiku] Try it! Stack and Tile

Hi,

hui, quite a long time has passed since I started to work on Stack and
Tile but finally it is at a point where I think that you can give it a
try. The current version is completely rewritten and fix many issues of
the old implementation. Stack and Tile lives in a app server
decorator add-on now. This means you can try it in your running system and
disable it again if you have seen enough.

You don' know Stack and Tile? Stack and Tile allows to tile windows beside
each other or stack them on top of each other. Windows in a Stack and Tile
group behave like one big window. The goal of Stack and Tile is to reduce
the time you need to manage your windows on the screen and make the work
with many windows more enjoyable. Stack and Tile allows the user to
arrange windows by tasks and so helps to access windows of one task much
faster. For example, activating one window in a group brings all windows
in the group to the front, you don't have to activate them manually.
A use case: Open a media player and tile the playlist window below the
player. Now open e.g. your music folder and tile the tracker window beside
the player and the playlist. Open more folder e.g. "Album" folder or an
artist query window and stack them on top of the music window.
Voila, you created your own personal music suite! Extent it with a sound
editor or a tag editor if you like...

So whats new?
- completely separated from the app server code
- windows in a tiling group can't overlap anymore
- no stacking and tiling operation at the same time anymore
- only tile or stack a window to one group at a time
- moving a window to another workspace or minimizing a window also moves
all windows in the group to another workspace / minimize them
- windows stay in the same layer, e.g. when sending one window to the back also the rest is sent to the back
- when removing a window from a tiling group check that all other window
are on the screen and not lost in the middle of nowhere
- tabs in a stacking group use their place more efficient and are arranged
properly
- the new stacking API allows to manipulate windows in a stack from within
an application (like to test it with web+ to get a multi process, tabbed
browser for free :-))
- many small things

TODO: the tiling detection and the appearance of highlighted windows needs
some more love, activating a window group can be done a bit nicer, persistence...

See *) how to install and activate Stack and Tile.

How to use it? You need a keyboard with a Windows key, press the win key
and drag a window at the same time. I hope the rest is self-explanatory.
If not, I really appreciate your feedback about what are the problems when
you first use Stack and Tile!

Cheers,
        Clemens

p.s. the guy who reports the first crash gets a free beer at BeGeistert :-)


*)
Install it:

To add Stack and Tile to the haiku image add following lines to the
UserBuildConfig:

AddDirectoryToHaikuImage home config add-ons decorators ;
AddFilesToHaikuImage home config add-ons decorators
        :
        SATDecorator
        ;

# the window stack API test app (optional)
AddDirectoryToHaikuImage home tests ;
AddFilesToHaikuImage home tests : WindowStackTest ;


If there are no objection I will add the decorator to the default image.
Then this step can be skipped.

To activate Stack and Tile type:

setdecor SATDecorator

in the terminal. (To disable it: setdecor Default)

Other related posts: