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 <http://twitter.com/#!/lolgzs>
Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/
Developer group: http://cara74.seasidehosting.st