[Pharo-project] Tiling windows

Gastón Dall' Oglio gaston.dalloglio at gmail.com
Tue May 24 14:23:57 CEST 2011


Yes! it's really exciting :)

"Keep task list open": go to World menu => System => Settings => Search for
"task" =>check "Keep task list open". Now, open various system Browsers,
Workspaces and other types of windows, and then hold cmd (or alt in linux)
and next press right next b next w next a, and so on. Of this manner you can
filter various windows of different kind using the task list.

TilingWindowManager :/ ... LayoutWindowManager?

Sorry for short answer, my English is very poor :(

2011/5/24 Stéphane Ducasse <stephane.ducasse at inria.fr>

> 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
> > >
> >
> >
> >
> >
> >
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110524/8c4e97c2/attachment.htm>


More information about the Pharo-project mailing list