[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ayatana] Maximize and other window states





On Thu, Mar 3, 2011 at 5:01 AM, Owais Lone <hello@xxxxxxxxxxxxx> wrote:


On Thu, Mar 3, 2011 at 2:48 AM, Saleel Velankar <svelanka@xxxxxxxxx> wrote:
On Thursday, March 03, 2011 1:33:34 AM Owais Lone wrote:
> Here is the idea,
>
> *  Every window can have two states (size and position on screen) and the OS
> remebers these states for all the apps.

The OS (atleast kubuntu) currently remembers unmaximized sizes <restore state>
of windows.
 

Right, I want it to remember two not just one.


> *  The maximize button switches between the two states instead of switching
> between maximize and restore.

This is what the maximize button does currently, 1 click to take up all the
space, another click to go back to the unmaximized state.
 
The idea is not to have it take up all the space but as much space as I tell it to.
I should be able to have two restored states with different sizes/positions and switch between them instead of switching between a restored state and an always full size (maximized) state.

 
>     For example, my terminal window switches between 400x300 and 600x400 by
> clicking the maximize button. I can manually resize any of them and it
> should be remembered.
Yes, this works in kubuntu. My konsole is always 90x30 (1/4 of my screensize)
when unmaximized. Changing this size 100x34 manually, the system remembers my
size.
 
Probably I was not clear enough, let me try again.

For a minute forget about maximize and restore. Think of it this way, every window has two states. A state is a combination of size and position. I can switch between these two states using one of the three window control buttons (currently the maximize button). I can also change one of the state to fullsize and keep other as is, in which case it will act like traditional maximize/restore condition.

For example, my terminal window has two states.

state1 : 100x60 with top-left @ 200x100
state2 : 500x400 with top-left @ 50x100

Clicking the button switches between these two states. I can manually resize any of the states and both of them will be remembered. Say I resize the window while in state1 to 200x180. Now, I'll be able to switch between 200x180 and 500x400.

Till now we have no concept of maximized windows. Now, I could resize one of the states to the MAX possible size. Now the states look like this

state1: MAXSIZE
state2: 500x400 with top-left @ 50x100

This case is essentially the maximize/restore scenario.

I can again change state1 from MAX size back to 200x180 and now the "maximize" button will again switch between the two non-max-sized states.



> *  If I want to maximize the terminal, I can drag the title bar to the panel
> and I get a maximized window. Clicking the maximize button switches between
> maximize and other state.
which is like clicking the restore button? In kubuntu you can drag a window to
the top to full screen, left/right to halfscreen, any of the corners to
quarterscreen. If this is not currently in ubuntu, I would say it is a feature
that really needs to be in.

> *  If I drag the window down while it is maximized, the current state looses
> the maximize status and I the maximize button again starts to switch
> between the two un-maximized states.
Again, I must be confused, but isnt this what happens currently?

--Saleel
 
Restore button should switch between states, both can be unmaximized. Dragging to and from the panel resizes the current state to max size and back. The other state remains as is.

So, a state is just the size of a window. A window can have 2 sizes and we can switch between them and one of the sizes can be the maximum possible size (maximize).

It sounds complicated but really is not. We currently have two possible states, MAX (fixed) and RESTORED (resizable). I'm saying, let's make MAX resizable too and allow switching between two states, one of which may or may not be the maximum possible size.

 
 Hope that clears it up a little.
--
Owais Lone
hello@xxxxxxxxxxxxx
http://owaislone.org/