[Pharo-project] Tiling windows

Gastón Dall' Oglio gaston.dalloglio at gmail.com
Tue May 24 05:50:38 CEST 2011


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.


2011/5/23 laurent laffont <laurent.laffont at gmail.com>

> 2011/5/23 Gastón Dall' Oglio <gaston.dalloglio at 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 at 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 at 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
>>>> >
>>>>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110524/411c9dfb/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TasklistMorph.st
Type: application/octet-stream
Size: 9127 bytes
Desc: not available
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110524/411c9dfb/attachment.obj>


More information about the Pharo-project mailing list