Tiling windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
38 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Tiling windows

laurent laffont
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/
Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
On Sun, May 22, 2011 at 8:25 PM, laurent laffont <[hidden email]> 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

Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/

Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Stéphane Ducasse
In reply to this post by laurent laffont
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
>


Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
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 <[hidden email]> 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
>



Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Gastón Dall' Oglio
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.


2011/5/23 laurent laffont <[hidden email]>
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 <[hidden email]> 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
>





Polymorph-Widgets-GastonDallOglio.389.mcz (866K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
2011/5/23 Gastón Dall' Oglio <[hidden email]>
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 <[hidden email]>
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 <[hidden email]> 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
>





Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

SeanTAllen
In reply to this post by laurent laffont
I love this.

On Sun, May 22, 2011 at 2:25 PM, laurent laffont <[hidden email]> 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/

Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Mariano Martinez Peck
In reply to this post by Gastón Dall' Oglio
Be careful, in 1.3 it hangs my image and I was forced to kill it.

2011/5/23 Gastón Dall' Oglio <[hidden email]>
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.


2011/5/23 laurent laffont <[hidden email]>
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 <[hidden email]> 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
>







--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Gastón Dall' Oglio
Sorry Mariano, I omitted to say that I tried this on a one-click image 1.2.1, but still is not the code so try to share with you but the idea of separating the types of windows, which I found very useful when I have many windows.

2011/5/23 Mariano Martinez Peck <[hidden email]>
Be careful, in 1.3 it hangs my image and I was forced to kill it.

2011/5/23 Gastón Dall' Oglio <[hidden email]>
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.


2011/5/23 laurent laffont <[hidden email]>
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 <[hidden email]> 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
>







--
Mariano
http://marianopeck.wordpress.com


Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Mariano Martinez Peck
Yes Gaston, don't worry ;)  I didn't have any useful in the image. I just warned in case some other folks do.

2011/5/23 Gastón Dall' Oglio <[hidden email]>
Sorry Mariano, I omitted to say that I tried this on a one-click image 1.2.1, but still is not the code so try to share with you but the idea of separating the types of windows, which I found very useful when I have many windows.

2011/5/23 Mariano Martinez Peck <[hidden email]>
Be careful, in 1.3 it hangs my image and I was forced to kill it.

2011/5/23 Gastón Dall' Oglio <[hidden email]>
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.


2011/5/23 laurent laffont <[hidden email]>
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 <[hidden email]> 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
>







--
Mariano
http://marianopeck.wordpress.com





--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Gastón Dall' Oglio
In reply to this post by laurent laffont
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.


2011/5/23 laurent laffont <[hidden email]>
2011/5/23 Gastón Dall' Oglio <[hidden email]>
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 <[hidden email]>
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 <[hidden email]> 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
>







TasklistMorph.st (12K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont


2011/5/24 Gastón Dall' Oglio <[hidden email]>
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 <[hidden email]>
2011/5/23 Gastón Dall' Oglio <[hidden email]>
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 <[hidden email]>
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 <[hidden email]> 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
>







Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Stéphane Ducasse
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 <[hidden email]>
> 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 <[hidden email]>
> 2011/5/23 Gastón Dall' Oglio <[hidden email]>
> 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 <[hidden email]>
> 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 <[hidden email]> 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
> >
>
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Gastón Dall' Oglio
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 <[hidden email]>
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 <[hidden email]>
> 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 <[hidden email]>
> 2011/5/23 Gastón Dall' Oglio <[hidden email]>
> 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 <[hidden email]>
> 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 <[hidden email]> 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
> >
>
>
>
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
In reply to this post by Stéphane Ducasse
On Tue, May 24, 2011 at 9:48 AM, Stéphane Ducasse <[hidden email]> 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 <[hidden email]>
> 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 <[hidden email]>
> 2011/5/23 Gastón Dall' Oglio <[hidden email]>
> 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 <[hidden email]>
> 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 <[hidden email]> 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
> >
>
>
>
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Adrian Lienhard
I like it :)

Adrian

On May 24, 2011, at 22:25 , laurent laffont wrote:

> On Tue, May 24, 2011 at 9:48 AM, Stéphane Ducasse <[hidden email]
>> 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 <[hidden email]>
>>> 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 <[hidden email]>
>>> 2011/5/23 Gastón Dall' Oglio <[hidden email]>
>>> 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 <[hidden email]>
>>> 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 <
>> [hidden email]> 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
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Stéphane Ducasse
In reply to this post by laurent laffont
I do not understand.

how can I get a browser?
once this is one is created I get the browser full screen
but then how do I get a chance to create a new one if I want.

dividing the browsers based on the screen size results in rather small browsers :)

Stef


> TWMBar new open.
>
> The real manager is TilingWM. Try:
>
> (TilingWM forWorld: World) tileVisibleWindows.
> (TilingWM forWorld: World) tileBrowsers.
> (TilingWM forWorld: World) tileWorkspaces.
>


Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
On Wed, May 25, 2011 at 11:06 AM, Stéphane Ducasse <[hidden email]> wrote:
I do not understand.

how can I get a browser?

Hey, this is just a start :)  I will add a button to open the world menu.


once this is one is created I get the browser full screen
but then how do I get a chance to create a new one if I want.

dividing the browsers based on the screen size results in rather small browsers :)

yes, but because browsers waste space IMHO. Maybe we could get rid of windows borders when tiled.

Laurent.

 

Stef


> TWMBar new open.
>
> The real manager is TilingWM. Try:
>
> (TilingWM forWorld: World) tileVisibleWindows.
> (TilingWM forWorld: World) tileBrowsers.
> (TilingWM forWorld: World) tileWorkspaces.
>



Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

laurent laffont
Now there's a button to open the world menu.

Laurent Laffont - @lolgzs

Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/


On Wed, May 25, 2011 at 11:20 AM, laurent laffont <[hidden email]> wrote:
On Wed, May 25, 2011 at 11:06 AM, Stéphane Ducasse <[hidden email]> wrote:
I do not understand.

how can I get a browser?

Hey, this is just a start :)  I will add a button to open the world menu.


once this is one is created I get the browser full screen
but then how do I get a chance to create a new one if I want.

dividing the browsers based on the screen size results in rather small browsers :)

yes, but because browsers waste space IMHO. Maybe we could get rid of windows borders when tiled.

Laurent.

 

Stef


> TWMBar new open.
>
> The real manager is TilingWM. Try:
>
> (TilingWM forWorld: World) tileVisibleWindows.
> (TilingWM forWorld: World) tileBrowsers.
> (TilingWM forWorld: World) tileWorkspaces.
>




Reply | Threaded
Open this post in threaded view
|

Re: Tiling windows

Gastón Dall' Oglio
Excelent!

IMHO, it's better that's not integrated to TaskBarMorph, lets it free :)
For example, click in unused space of the TWMBar and you can move it around you wish in the screen, similar to use DockingBarMorph>>beFloating. I attach screenshot.

Laurent, I improved (or not? :)) your work, if you think that is bad for TWM simply undo it ;)


2011/5/25 laurent laffont <[hidden email]>
Now there's a button to open the world menu.

Laurent Laffont - @lolgzs

Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/


On Wed, May 25, 2011 at 11:20 AM, laurent laffont <[hidden email]> wrote:
On Wed, May 25, 2011 at 11:06 AM, Stéphane Ducasse <[hidden email]> wrote:
I do not understand.

how can I get a browser?

Hey, this is just a start :)  I will add a button to open the world menu.


once this is one is created I get the browser full screen
but then how do I get a chance to create a new one if I want.

dividing the browsers based on the screen size results in rather small browsers :)

yes, but because browsers waste space IMHO. Maybe we could get rid of windows borders when tiled.

Laurent.

 

Stef


> TWMBar new open.
>
> The real manager is TilingWM. Try:
>
> (TilingWM forWorld: World) tileVisibleWindows.
> (TilingWM forWorld: World) tileBrowsers.
> (TilingWM forWorld: World) tileWorkspaces.
>






=?ISO-8859-1?Q?=C1rea_de_trabajo_1=5F002=2Epng?= (141K) Download Attachment
=?ISO-8859-1?Q?=C1rea_de_trabajo_1=5F003=2Epng?= (138K) Download Attachment
12