On Tue, May 24, 2011 at 9:48 AM, St��phane Ducasse <stephane.ducasse@inria.fr> wrote:
Ok we need a 1.3 version because now we get excited.

Here's a first shot (not integrated to TaskBarMorph though) which works in 1.3:

Gofer it
squeaksource: 'TilingWindowManager';
package: 'TWM';
load.
TWMBar new open.

The real manager is TilingWM. Try:

(TilingWM forWorld: World) tileVisibleWindows.
(TilingWM forWorld: World) tileBrowsers.
(TilingWM forWorld: World) tileWorkspaces.


Laurent.

��
Stef

On May 24, 2011, at 8:51 AM, laurent laffont wrote:

>
>
> 2011/5/24 Gast��n Dall' Oglio <gaston.dalloglio@gmail.com>
> Laurent and corious :)
>
> I add some TasklistMorph behavior. With the open list (cmd-rigth or cmd-left):
> * cmd-up: maximize all windows
> * cmd-down: minimize all windows
> * cmd-b: apply SystemBrowser windows's filter
> * cmd-w: apply Worspace windows's filter
> * cmd-a: remove windows's filter
>
> ** The cmd-b work in 1.2.1, in 1.3 you have to change TasklistMorph>>keyStroke: because I use OBSystemBrowser class by way of example and therefore does not perform properly filtered.
>
>
> I did not understand until I enable the setting "Keep task list open" :)
>
> I've started a TilingWindowManager project (I will upload it this evening on SS) so we can put all our stuff + tests without polluting TaskBar & Tasklist too much.
>
> Indeed, after 3 days I can't live without the tiling buttons :)
>
> Laurent.
>
>
>
> 2011/5/23 laurent laffont <laurent.laffont@gmail.com>
> 2011/5/23 Gast��n Dall' Oglio <gaston.dalloglio@gmail.com>
> Laurent, I attached a package I've added some improvements to your work, I have found useful. Of course I am not knowledgeable about morph, just added some and perhaps can serve as inspiration.
>
> Thanks Gast��n, I like the idea. It will be a good step forward in having better window management. Now we should rewrite this clean + tests (may be adding the notion of widgets like in KDE / Gnome).
>
> As windows fill all the space, would be good to have a button to open the world menu.
>
> I would love having the possibility of splitting the World + back and forward configuration like Emacs winner mode, keyboard driven.
>
> Since several days I use http://most-advantageous.com/optimal-layout/ on OSX and there's some great ideas too.
>
> Laurent.
>
>
>
> 2011/5/23 laurent laffont <laurent.laffont@gmail.com>
> On 1.2:
>
> Gofer it
> �� �� �� squeaksource: 'LaurentLSandbox';
> �� �� �� version: 'Polymorph-Widgets-LaurentLaffont.388';
> �� �� �� load.
>
>
> Then open or move a window so the TaskBar is updated and you have a new "magic" button on bottom left.
>
> (note this is hacky actually, I will write a nicer version this week if people like it).
>
> Laurent.
>
> On Mon, May 23, 2011 at 9:06 AM, St��phane Ducasse <stephane.ducasse@inria.fr> wrote:
> send a cs that we can play with it :)
>
> On May 22, 2011, at 8:25 PM, laurent laffont wrote:
>
> > Hi,
> >
> > what do you think of adding this in Pharo ?
> >
> > |taskbar tileWindowsBlock|
> >
> > tileWindowsBlock := [
> > �� |windows numberOfColumns numberOfRows windowWidth windowHeight|
> > �� windows := (World submorphs select: [:m| m isSystemWindow and: [m isNotMinimized]]) asOrderedCollection.
> > �� numberOfColumns := windows size sqrtFloor.
> > �� numberOfRows := (windows size / numberOfColumns) rounded.
> > �� windowWidth := World width // numberOfColumns..
> > �� windowHeight := World height ��- taskbar height // numberOfRows.
> >
> > �� Matrix
> > �� �� rows: numberOfRows
> > �� �� columns: numberOfColumns
> > �� �� tabulate: [:row :column| ��|window|
> > �� �� �� �� �� windows ifNotEmpty: [
> > �� �� �� �� �� �� �� window := windows remove: windows first.
> > �� �� �� �� �� �� �� window
> > �� �� �� �� �� �� �� bounds: (
> > �� �� �� �� �� �� �� �� �� ((column - 1 * windowWidth) @ (row - 1 * windowHeight))
> > �� �� �� �� �� �� �� �� �� extent: (windowWidth) @ ��windowHeight)
> > �� �� �� �� �� ]
> > �� �� ]
> > ].
> >
> >
> > taskbar := (World submorphs detect: [:m| m isTaskbar]).
> >
> > taskbar
> > �� addMorph: (IconicButton new
> > �� �� �� �� �� �� target: tileWindowsBlock;
> > �� �� �� �� �� �� actionSelector: #value;
> > �� �� �� �� �� �� labelGraphic: taskbar theme smallWindowIcon;
> > �� �� �� �� �� �� color: Color transparent;
> > �� �� �� �� �� �� yourself).
> >
> >
> > Laurent Laffont - @lolgzs
> >
> > Pharo Smalltalk Screencasts: http://www.pharocasts.com/
> > Blog: http://magaloma.blogspot.com/
> > Developer group: http://cara74.seasidehosting.st
> >
>
>
>
>
>
>
>