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
>