2011/5/23 Gastón Dall' Oglio <gaston.dallog...@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.laff...@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.duca...@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
>>> >
>>>
>>>
>>>
>>
>

Reply via email to