On Tue, May 24, 2011 at 9:48 AM, Stéphane Ducasse <[email protected] > wrote:
> Ok we need a 1.3 version because now we get excited. > Here's a first shot (not integrated to TaskBarMorph though) which works in 1.3: Gofer it squeaksource: 'TilingWindowManager'; package: 'TWM'; load. TWMBar new open. The real manager is TilingWM. Try: (TilingWM forWorld: World) tileVisibleWindows. (TilingWM forWorld: World) tileBrowsers. (TilingWM forWorld: World) tileWorkspaces. Laurent. > Stef > > On May 24, 2011, at 8:51 AM, laurent laffont wrote: > > > > > > > 2011/5/24 Gastón Dall' Oglio <[email protected]> > > 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 <[email protected]> > > 2011/5/23 Gastón Dall' Oglio <[email protected]> > > 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 <[email protected]> > > 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 < > [email protected]> 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 > > > > > > > > > > > > > > > > > > > >
