[Pharo-project] Tiling windows

laurent laffont laurent.laffont at gmail.com
Tue May 24 08:51:03 CEST 2011


2011/5/24 Gastón Dall' Oglio <gaston.dalloglio at 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 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/20a145fd/attachment.htm>


More information about the Pharo-project mailing list