[Pharo-project] Tiling windows

Stéphane Ducasse stephane.ducasse at inria.fr
Tue May 24 09:48:13 CEST 2011


Ok we need a 1.3 version because now we get excited.

Stef

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

> 
> 
> 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
> >
> 
> 
> 
> 
> 
> 
> 




More information about the Pharo-project mailing list