Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show workspace matrix in activities overview #13

Closed
weeman1337 opened this issue Apr 19, 2019 · 30 comments · Fixed by #50
Closed

Show workspace matrix in activities overview #13

weeman1337 opened this issue Apr 19, 2019 · 30 comments · Fixed by #50
Labels
help wanted Extra attention is needed

Comments

@weeman1337
Copy link

I like workspace matrix, because it's so simple. 👍

While I understand the point not adding much features one thing is missing for me:
The workspace matrix should be reflected in the activities overview.

E.v. I'm using 2x2 workspaces, but in the activities overview it looks like the vertical GNOME ones. That's a bit annoying.

Screenshot from 2019-04-19 13-54-33

@mzur
Copy link
Owner

mzur commented Apr 19, 2019

I know what you mean. But the activity overview has not been designed to accomodate a workspace list that can have an arbitrary width. I think there is no easy solution that you can apply in all cases. So I better left my fingers off it. Do you have an idea how this can be solved without wasting a huge amount of screen space?

@weeman1337
Copy link
Author

So in general you're open to put this feature into WS-matrix? Then I would do some research on that. Somewhere I saw the option to make this area "floating". That means hidden if it's too wide and floating in on hover.

@tom-james-watson
Copy link

I always used another extension to disable this when using Workspace Grid - so if this get's added, let's please make it optional

@mzur
Copy link
Owner

mzur commented Apr 20, 2019

So in general you're open to put this feature into WS-matrix?

If we can find a solution that works and somebody is willing to implement it, yes. As Tom said, it should be optional in any case.

@ebeem
Copy link
Collaborator

ebeem commented Apr 29, 2019

I think this feature was poorly implemented in workspace-grid, although I don't use the activities overview (except for finding/running apps), I hated how workspace-grid wasted all the space to show my 3x3 grid.

I am not sure about the use cases of this, I know that some users use the activities overview to:

  • focus/maximize a window
  • close windows
  • move windows to other workspaces
  • switch between workspaces
  • search/run apps

please let me know if I skipped something.

We also can implement a switcher only, not an activities overview replacement, in this case, we can discard some of the activities overview features and focus only on

  • move windows to other workspaces
  • switch between workspaces

A good solution to me should be able to handle at least a 4x4 grid.
Using the same GNOME activities layout doesn't seem to be a possible solution to me. I am showing below some screenshots/videos of grid implementations that can inspire us.

1- Ubuntu Unity 7

unity-7-switcher

https://www.youtube.com/watch?v=DQZiJMIGQ4A

  • focus/maximize a window
  • close windows
  • move windows to other workspaces
  • switch between workspaces
  • search/run apps

cons:

  • might be hard to control windows on small screens or large grids

2- Ubuntu Unity 8

unity-8-switcher

https://www.youtube.com/watch?v=4fRqe84Z010

  • focus/maximize a window
  • close windows
  • move windows to other workspaces
  • switch between workspaces
  • search/run apps

pros:

  • allows moving/adding/removing workspaces
  • organizes windows to fit them all on a workspace (similar to GNOME activities)
  • allows tiling windows while moving them to other workspaces

cons:

  • hard to fit workspaces in a grid

3- KDE Plasma 5

plasma-switcher

https://www.youtube.com/watch?v=_w_ksgcNnYc

  • focus/maximize a window
  • close windows
  • move windows to other workspaces
  • switch between workspaces
  • search/run apps

pros:

  • allows moving/adding/removing workspaces
  • organizes windows to fit them all on a workspace (similar to GNOME activities)

cons:

  • might be hard to control windows on small screens or large grids

@mzur
Copy link
Owner

mzur commented May 2, 2019

Personally, I like the way Unity 7 does it best. We could hide the workspace list in the activity overview and implement a "workspace overview" instead (which could be opened with Super+W in Unity IIRC). According to the poll this is the most wanted feature that Workspace Matrix does not have yet.

@TheBlackKoala
Copy link

I would like to help but i really like the way it was implemented in workspace-grid - and i would still like to have the overview of the windows in my workspace.
I would suggest an option to toggle between a grid like in workspace-grid and the regular line in stanrdard gnome.

@mzur
Copy link
Owner

mzur commented May 6, 2019

Can you tell us what you think are the benefits of a 2D workspace list in the activities overview vs. a dedicated "workspace overview" as described above?

@TheBlackKoala
Copy link

I find the ease and quickness of use to be higher with the 2D workspace list. I sometimes change between several workspaces to see where certain windows (behind the front) are fx.

@mzur
Copy link
Owner

mzur commented May 6, 2019

So you actually need the list of windows and the list of workspaces on the same screen? You would get an overview and the ability to switch between workspaces with the "workspace overview" as well. Maybe we need another poll for this. This is likely to be a pretty complex feature and it shouldn't be started with a turn in the wrong direction.

@mzur
Copy link
Owner

mzur commented May 10, 2019

I think we can do it like this:

  1. Implement the 2D workspace list for the activity overview. Ideally this should share the code that is already there for the switcher popup. In the settings, we can add an enum "Workspace list in the activities overview" with the options "vertical" (default), "grid" and "hidden".
  2. Implement the "workspace overview" which is activated with a new keyboard shortcut (Super+W). It should look like the one of Unity 7 and can also share code with the switcher popup and workspace list in the activities overview. It should allow switching between workspaces with the arrow keys and dragging/dropping of windows between workspaces. The workspace overview should be opt-in in the settings.

I'll get this started in the next couple of days.

@weeman1337
Copy link
Author

weeman1337 commented May 10, 2019

cool! @mzur since the 2D list adaption idea is from me I could try to dig into it. Could you give me a ping here when you start to avoid duplicated work?

@TheBlackKoala
Copy link

@weeman1337 i would suggest looking at https://github.com/workspace-grid/workspace-grid where that feature is already implemented (though for 3.30 and the exension doesn't work properly in 3.32)

@mzur
Copy link
Owner

mzur commented May 10, 2019

@weeman1337 Alright, then you have a look at the workspace list in the activities overview and I'll look into the new workspace overview. See if you can reuse the vfunc_* code that is responsible for arranging the thumbnails in a grid. Maybe this can be outsourced into a WorkspaceThumbnailGrid class that can be used for the workspace popup, -list and -overview.

@mzur
Copy link
Owner

mzur commented May 17, 2019

Sorry but I'll have to pass on the workspace overview. It's too complex and I can't spare the time to put a lot of work into this. I pushed some code that implements the keybinding Super+W in the workspace-overview branch. Anyone who is interested is welcome to work on this. Take a look at the Activity Overview of GNOME for an example of how this could be implemented.

@brianjmurrell
Copy link

I would add that a horizontal rendering of the workspace thumbnails would be a nice option, like this PR was doing for the workspace-grid.

My personal preference for example is a single row of workspaces that I like to switch to left and right vs. up and down.

@tom-james-watson
Copy link

tom-james-watson commented May 21, 2019

@brianjmurrell that's already possible - just set 6 columns 1 row.

EDIT - they still won't show on the workspace overview though.

@brianjmurrell
Copy link

@brianjmurrell that's already possible - just set 6 columns 1 row.

Yes, I know.

EDIT - they still won't show on the workspace overview though.

That's exactly the point of my comment.

Like this:

@noel-yap
Copy link

noel-yap commented Jun 3, 2019

For me, the view presented while switching workspaces is good enough. I just want a way to bring up that view explicitly and directly then to be able to use it to choose a workspace to switch to (or escape out of the view).

This was especially important in past versions of Ubuntu when windows would sometimes open in workspaces that weren't currently being displayed on the monitor. Even if such things have been fixed, there are times when I would like to review what's in all workspaces so a complete overview would be helpful.

@hkdb
Copy link

hkdb commented Jun 23, 2019

@weeman1337, I too like how workspace-grid had it implemented and find myself often reorganizing my workspaces by directly dragging windows down from one workspace to another workspace in overview. Since I don't see a reference screenshot of how it's done in workspace-grid for users like myself who have a 2x4 setup, I am adding it here:

Screenshot from 2019-06-23 08-28-12

Unfortunately, I am bit useless when it comes to JS but do let me know if there's anything else I can help with.

Thanks!

mzur added a commit that referenced this issue Jul 27, 2019
@mzur
Copy link
Owner

mzur commented Jul 27, 2019

I made some progress on the simpler version of a workspace overview that @noel-yap described. The switcher can be opened with Super+W. It stays open until it's closed with Esc or Return. Workspaces can be switched with the arrow keys as long as the switcher is open.

video

Anyone here want to test it? It's in the workspace-overview branch.

I still get warnings like these in the log:

Window manager warning: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).

I'm not even sure if this is caused by this extension or if this only happens because the extension sets new keybindings. Documentation on proper handling of keybindings in extensions is pretty hard to find. I don't know if I've done everything correctly.

@vassdoki
Copy link

Anyone here want to test it? It's in the workspace-overview branch.

I have tested it and I like it a lot. Tomorrow I will see what happens with the external monitor attached.

What does this comment mean?
// "Moving" a window to another workspace doesn't make sense when
// it cannot be unstuck, and is potentially confusing if a new
// workspaces is added at the start/end

@mzur
Copy link
Owner

mzur commented Aug 1, 2019

What does this comment mean?

The comment is from the original code of the workspace manager. I guess that part prevents the workspace switcher popup to appear or a new workspace to be added if a window should be moved to another wokspace although it is already visible on all workspaces.

@logankoester
Copy link
Contributor

Thank you so much! I've only tested it for a minute or so, but it's working well. It's been such a challenge living without this feature for so long.

@mzur mzur mentioned this issue Aug 10, 2019
@mzur
Copy link
Owner

mzur commented Aug 10, 2019

I opened #44 to merge the workspace overview. If anyone wants to provide feedback or knows what these warnings in the logs are about, please comment there.

@ebeem
Copy link
Collaborator

ebeem commented Aug 29, 2019

if anyone is interested, please check the PR #50
we need some help to test it before merging it into master.

@mzur
Copy link
Owner

mzur commented Sep 4, 2019

This discussion can continue in #50.

@mzur mzur closed this as completed Sep 4, 2019
@brianjmurrell
Copy link

@mzur #32 was closed as being addressed by this issue. Will #32 be addressed by #50 or has it gotten lost along the path and should be reopened?

@SKelem
Copy link

SKelem commented Dec 11, 2019

Hi. When Horizontal Workspaces is
turned off and Workspace Manager turned on, I get my 16 workspaces all in a row in the Taskbar, taking up a lot of space, and leaving no room for a number of icons.
Screenshot from 2019-12-10 18-50-53

If I turn Horizontal Workspaces on and then off (with Workspace Manager turned on), the taskbar shows only the current workspace number. Clicking on it lets me select any workspace I want. However, the only ctrl-alt-arrow {up,down} work, but they treat the 4x4 array of workspaces as a horizontal array. The up/down arrows move left/right. ctrl-alt-{Left/right} arrows don't do anything.

If I restart Gnome-Shell, (with Horizontal Workspaces off and Workspace Manager turned on), then I get the horizontal 16 workspace indicators in the Taskbar, but the ctrl-alt-arrow keys work properly, moving up, down, left, and right.

Do you know why I'm getting the horizontal taskbar workspace indicator when Horizontal Workspaces is turned off?

@mzur
Copy link
Owner

mzur commented Dec 11, 2019

@SKelem Please have a look at #71. If you find an error caused by this extension please open a new bug report. Otherwise this only affects the Workspace Indicator extension and you should open an issue there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.