On Sun, May 22, 2011 at 8:25 PM, laurent laffont <[email protected]>wrote:
> Hi, > > what do you think of adding this in Pharo ? > (I forgot I've hacked TaskBarMorph to make it working well but the idea is here :) > > |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 <http://twitter.com/#!/lolgzs> > > Pharo Smalltalk Screencasts: http://www.pharocasts.com/ > Blog: http://magaloma.blogspot.com/ > Developer group: http://cara74.seasidehosting.st > >
