elementary / gala

Gala Window Manager for elementary OS and Pantheon
https://elementary.io
GNU General Public License v3.0
273 stars 77 forks source link

Deduplicate Multitasking View and window spread #485

Open cassidyjames opened 5 years ago

cassidyjames commented 5 years ago

Right now we have the standard Multitasking View (Super+S or Super+Down) plus a window spread (Super+W). These are largely duplicated, with each having slightly different features (advantages bolded):

Multitasking View Window Spread
Super+S, Super+Down Super+W
Shows windows on current workspace Shows windows on current workspace
Can close windows w/X icon Can close windows w/X icon
Middle-click close windows Middle-click close windows
Supports keyboard navigation No keyboard navigation
Shows context of other workspaces Does not show workspaces
Can move windows across workspaces No workspace functionality
Discoverable via Hotcorner settings Explicitly removed from Hotcorners
Only shows on primary display Shows windows on secondary displays

We should standardize on the Multitasking View since it's just as fast but more useful, showing the window spread and workspaces, plus supporting keyboard navigation. If we wish to continue to support a window spread across all workspaces (Super+A), we could leave that part as-is—though I personally would be fine dropping it to reduce complexity and duplication in the codebase.

The one feature I know of that the Window Spread handles better is windows on secondary displays, so that would need to be ported over to the Multitasking View.

As part of the migration, we should probably switch Super+W to the Multitasking View to keep muscle memory the same.

Blast-City commented 5 years ago

Hi. The following threads talk about this issue:

287

415

Wouldn't it be better to have only one place to discuss this?

Blast-City commented 5 years ago

Merging "show all windows" and "workspace overview" could be beneficial to reorganizing workspaces. Pressing Super+A and then grab each window to desired workspace on the bottom seems to be faster than other options. Having said that i think it wouldn't be a feature that people would miss that much.

I'm a big fan of removing duplicate shortcuts. I never understood why there was two shortcuts to show the workspace overview, but I'm kind afraid that when it comes the time to do a description for what super+w and super+down do, people will get confused that there is two different descriptions for shortcuts that do exactly the same thing.

janxkoci commented 5 years ago

So this explains why I can no longer assign window spread to hot corner. I don't like this too much.

First of all, in my experience from running elementary on lower-spec laptop, I can say that the animation might be of same speed, but performance-wise the window spread is much lighter on the resources. The multitasking view can freeze my laptop for a few seconds, while window spread rarely does that (only under heavy load).

Second, I actually miss Super+A on my other laptop with Ubuntu (Gnome), so please don't remove it. But I'm also against merging it with the others as I use them in different contexts. Moreover, if you show all windows from all warkspaces all the time, then workspaces become half as useful (at least I use workspaces to avoid insane alt-tabbing, but also to have less windows in my window spread). Also, showing all windows could get very crowded (and miniscule) very quickly on smaller screens (e.g. I have 11.6" netbook with HD screen).

Honestly of the three, I use multitasking view the least, as I need to reorganize my windows only few times during my day, while I use the other two shortcuts heavily throughout the day. If I could move windows between workspaces with e.g. Super+Shift+arrows (as in other DEs) I would probably use it even less. But if you improve the performance, maybe I would use it more and it could replace window spread (not all windows though, I beg you).

Edit: One last point - I often use Super+A to check on windows in other workspaces, sometimes to check if I have some program open (music player, browser). I could do this using dock, but dock is not always visible, as I use quite a few apps maximized due to smaller screen. And I don't like mousing arround anyway, I'm more of a keyboard guy. Still, there are cases when I wanna quickly check state of a window on other workspace (e.g. what song is now playing in audacious) and for that Super+A is the best (way faster than switching to that workspace or mousing somewhere to the corner to click an indicator).

Those are my two cents.

Blast-City commented 5 years ago

So this explains why I can no longer assign window spread to hot corner. I don't like this too much.

First of all, in my experience from running elementary on lower-spec laptop, I can say that the animation might be of same speed, but performance-wise the window spread is much lighter on the resources. The multitasking view can freeze my laptop for a few seconds, while window spread rarely does that (only under heavy load).

Second, I actually miss Super+A on my other laptop with Ubuntu (Gnome), so please don't remove it. But I'm also against merging it with the others as I use them in different contexts. Moreover, if you show all windows from all warkspaces all the time, then workspaces become half as useful (at least I use workspaces to avoid insane alt-tabbing, but also to have less windows in my window spread). Also, showing all windows could get very crowded (and miniscule) very quickly on smaller screens (e.g. I have 11.6" netbook with HD screen).

Honestly of the three, I use multitasking view the least, as I need to reorganize my windows only few times during my day, while I use the other two shortcuts heavily throughout the day. If I could move windows between workspaces with e.g. Super+Shift+arrows (as in other DEs) I would probably use it even less. But if you improve the performance, maybe I would use it more and it could replace window spread (not all windows though, I beg you).

Edit: One last point - I often use Super+A to check on windows in other workspaces, sometimes to check if I have some program open (music player, browser). I could do this using dock, but dock is not always visible, as I use quite a few apps maximized due to smaller screen. And I don't like mousing arround anyway, I'm more of a keyboard guy. Still, there are cases when I wanna quickly check state of a window on other workspace (e.g. what song is now playing in audacious) and for that Super+A is the best (way faster than switching to that workspace or mousing somewhere to the corner to click an indicator).

Those are my two cents.

Hi.

Maybe I didn't explain it correctly.

By merging I meant doing something like this:

Super+A ---> Workspace overview with all windows Super+W ---> Workspace overview with currently selected workspace windows Click on dock icon of the focused application (multiple windows) ---> Workspace overview with all selected application windows.

You're probably right that is resource heavy, but you would gain more options to organize workspaces, keyboard navigation and everything would be in one place.

moonmehta commented 5 years ago

218 is also related.

janxkoci commented 5 years ago

Ok I was using multitasking view more extensively in past few weeks and it's not a big deal after all. I don't know if there were some optimizations done on it, or it was due to changes in my settings (most notably switching off background mail-checking in Mail, as I get notifications on my phone anyway and Mail opens and syncs in 10s - this permanently freed up some >200 MB of my RAM), but I can now use multitasking view just fine and it's quite smooth. I see no performance difference between that and the window spread (it's not so easy to test though, as running the animation once makes it faster on subsequent trials).

I'm removing my downvotes, I think this could work.

sempasha commented 4 years ago

Windows spread (Super+A) across all workspaces is cool feature when you need quickly find window and can't remember which workspace it placed, especially when you have one maximized window on second screen which overflow all other windows on that screen. The only thing windows spread needed to be perfect is keyboard navigation.

janxkoci commented 4 years ago

@Blast-City can you please elaborate on how this would look?

Super+A ---> Workspace overview with all windows

How do you want to see all windows & workspaces at the same time? How would you show which window is on which workspace?

Blast-City commented 4 years ago

@Blast-City can you please elaborate on how this would look?

Super+A ---> Workspace overview with all windows

How do you want to see all windows & workspaces at the same time? How would you show which window is on which workspace?

Hi.

Right now there is a "photo reel" when you press "Super+s". "Super+a" would only have one rectangle with all windows in there. You could select windows or grab windows to a desired workspace on the bottom. Maybe as soon as you grabbed a window the application icon would flash on the bottom to indicate what workspace that window belongs to.

I still think that is a lot work, so replacing Super+a and Super+s with the present multitasking view is acceptable. Is it slower? Yes, but usually you know which application you're looking for, so pressing the bottom square that has that icon is not that bad.

janxkoci commented 4 years ago

"Super+a" would only have one rectangle with all windows in there.

That sounds like it would break the metaphore of "workspaces". In current Super+A it is ok because the workspaces are not shown. However if you show them ala Super+S, but the app windows will show up in different (i.e. the only one shown) workspace, I think it would be quite confusing.

replacing Super+a and Super+s with the present multitasking view is acceptable

Not for me - as I explained I use them in different situations. I would prefer to have both as they are (but I agree Super+W can go).

Blast-City commented 4 years ago

It would be a little bit confusing, but it is called "multitasking view" and the workspaces are still on the bottom. You would gain keyboard navigation and the ability to find a window and drag it to a different workspace, but like I said I think that is just making things more complicated...

My only problem with "Super+a" is that it seems strange to keep this function that only does one thing and can easily be done by clicking on the dock icon or by the multitasking view. Maybe elementary/dock#41 could be a good response to this problem.

sempasha commented 4 years ago

The key two reasons to use Super+A:

  1. It available with keyboard only compared to dock clicking (it doesn't support keyboard navigation between windows miniatures, but it seems to be a bug which should be fixed, not a feature);
  2. It exposes all windows at once (and second screen placed windows) compared to multitasking view.
janxkoci commented 4 years ago

the ability to find a window and drag it to a different workspace

The problem is that in such view I wouldn't even clearly see on which workspace the window currently is. Hence confusing.

Keyboard navigation can be added to current Super+A, I don't see why that would be dependent on changing it to something else.

My only problem with "Super+a" is that it seems strange to keep this function that only does one thing and can easily be done by clicking on the dock icon or by the multitasking view.

I love that it does one thing so well. As I said, I use it to find window that I have no clue on which workspace it is (so seeing workspaces won't help me) or to quickly check status of a window without switching to its workspace. Basically it comes to rescue when you get lost in your workspaces, so bringing them in seem counterproductive to me.

And no, clicking dock is not the same thing (slow mouse vs fast keyboard combo). Same reason why this won't help either:

Maybe elementary/dock#41 could be a good response to this problem.

I have about 30 icons on my dock, mousing around them is slow. Super+A solves my problem in 1 second max. Also I quite hate this dock behaviour in Windows. I think better is the current approach of scrolling on an icon to switch between windows of one app, although that's not as easy on a touchpad.

moonmehta commented 4 years ago

If all open windows can be searched by typing in the Multitasking view, as in the case of Unity (#218), then "Super+S" can handle all these usecases:

janxkoci commented 4 years ago

well Unity-like search would be totally awesome and I would probably let you do whatever else you want because I would no longer use anything else :smile: (just kidding but yeah, it would be awesome)

Blast-City commented 4 years ago

Hi.

The problem is that in such view I wouldn't even clearly see on which workspace the window currently is. Hence confusing.

Keyboard navigation can be added to current Super+A, I don't see why that would be dependent on changing it to something else.

I talked about that two posts before.

I love that it does one thing so well. As I said, I use it to find window that I have no clue on which workspace it is (so seeing workspaces won't help me) or to quickly check status of a window without switching to its workspace. Basically it comes to rescue when you get lost in your workspaces, so bringing them in seem counterproductive to me.

I agree

And no, clicking dock is not the same thing (slow mouse vs fast keyboard combo). Same reason why this won't help either:

If you use a 30 icon dock it isn't, but a smaller dock it will probably be as fast as pressing super+a, finding the wanted window (if there isn't too much of them), moving the mouse and select it. As for the keyboard I guess there will be a time where you will be able to use Super+Tab on Multitasking view, which will make it a "one-hander" feature.

I have about 30 icons on my dock, mousing around them is slow. Super+A solves my problem in 1 second max. Also I quite hate this dock behaviour in Windows. I think better is the current approach of scrolling on an icon to switch between windows of one app, although that's not as easy on a touchpad.

I agree on hovering, but cycling windows with mouse scroll is not a good solution.

To finish this because I'm afraid we're just polluting at this point: The perfect solution would be to keep every feature so all people could be happy. Super+a/Super+w shortcuts can be easily disabled if people don't like it, but I have to think of who has to to maintain all this code (not me) that does similar things. Making things simpler is always good.