pop-os / cosmic-workspaces-epoch

GNU General Public License v3.0
17 stars 11 forks source link

Workspaces Overview Designs #50

Open isaac-8601 opened 1 year ago

isaac-8601 commented 1 year ago

Workspaces Overview helps one to see and navigate all the open windows and workspaces.

Dynamic - Initial Size Example of workspaces overview with dynamic workspaces setting

From the overview one can:

Workspace Thumbnails Behavior

When more workspaces are in use than fit inside the Workspace Thumbnails container, thumbnails should scale down until they reach minimum size (tentatively 150px width), at which point we should switch to scrolling inside the workspace thumbnails container. When workspaces are vertical and thumbnails reach the minimum size, workspace name and number should be displayed next to it instead of underneath.

Numbered - Several Workspaces Example of workspace overflow behavior, with fixed workspaces. This example makes the assumption that the workspaces would not fit vertically with each thumbnail at their minimum thumbnail width.

Naming Workspaces

Workspaces can be renamed by clicking on the name in the overview. There will be a max-length and when the name is too long for any particular scale (but still under max-length) it will truncate with a “...”.

edit-workspace-name-COSMIC Example of a workspace name after being clicked. Initially the entire workspace name is selected so that the user can quickly set a new name.

long-workspace-name-COSMIC Example of a workspace with a name longer than the available width.

Numbering Workspaces

Workspaces have numbers in the overview by default. If someone chooses "Displays have separate workspaces", workspaces are numbered separately on each display. When someone uses Super+{1-9} binding to switch to another workspace, one will be able to switch to the corresponding workspace number on the current display. Super+0 moves to the last workspace on the current display.

COSMIC workspace thumbnails

Example of three workspace thumbnails with fixed workspace setting. The first workspace is active; the second thumbnail is being hovered. The workspaces are numbered sequentially, but the last workspace can be accessed with Super-0. In the case of dynamic workspaces, the empty workspace at the bottom would be accessed with Super-0.

Mockups

Our latest mockups can be viewed on Figma here.

ids1024 commented 1 year ago

We may also want to integrate a screenshot UI into the workspaces view, like Gnome Shell now does.

maria-komarova commented 1 year ago

Animation for switching a workspace: switch-workspace

When one is deleting a workspace that has open windows from the overview, there are three various possible cases that should animate differently.

  1. When someone deletes the currently focused workspace. delete-focused-workspace

  2. When someone deletes a workspace next to the focused one. delete-workspace-next-to-focused

  3. When someone deletes a workspace next to another workspace that has focus. delete-workspace-next-to-unfocused

isaac-8601 commented 1 year ago

Animation for drag and drop: drag-and-drop-workspace

In our initial explorations, we've played with options that show an indicator for where the thumbnail will move. Note that naturally the workspace numbers rearrange. We'll want to support dragging and dropping these thumbnails between displays on the setting where each display has separate workspaces.

kytosai commented 1 year ago

I hope, when I set the fixed workspace to 1, the workspace switcher will no longer be visible. Currently, PopOS 22.04 still shows the workspace switcher even though I have set the fixed workspace to 1.

This makes me very uncomfortable because I don't need to use a lot of workspaces but it takes up space when the animation happens and the part of the apps is skewed to one part of the screen which is very uncomfortable.

eliasboegel commented 1 year ago

Is there any intention of being able to set "permanent" workspaces (i.e. persistent across restarts and for a fixed purpose) and being able to display such workspaces as part of the bar? I've seen this feature commonly in tiling WM + separate bar configurations and I think it is a very strong productivity point for users that come from such a configuration.

Drakulix commented 1 year ago

Is there any intention of being able to set "permanent" workspaces (i.e. persistent across restarts and for a fixed purpose) and being able to display such workspaces as part of the bar? I've seen this feature commonly in tiling WM + separate bar configurations and I think it is a very strong productivity point for users that come from such a configuration.

As you can see in the Workspace Settings Panel there will be an option to configure a static number of workspaces.

There is also a workspace-applet in our cosmic-applets repository (applets are the applications, that run inside our panel), which does display available workspaces by number and highlights the active one. This is mostly used in place of the Workspaces Overview (shown in this issue) for now, while that is still being worked on, but I don't see a reason, why we should remove that applet all together later in the development cycle.

So assuming I understood your question correctly, you will be able to do both of these things, though neither will likely be enabled by default.

eliasboegel commented 1 year ago

Is there any intention of being able to set "permanent" workspaces (i.e. persistent across restarts and for a fixed purpose) and being able to display such workspaces as part of the bar? I've seen this feature commonly in tiling WM + separate bar configurations and I think it is a very strong productivity point for users that come from such a configuration.

As you can see in the Workspace Settings Panel there will be an option to configure a static number of workspaces.

There is also a workspace-applet in our cosmic-applets repository (applets are the applications, that run inside our panel), which does display available workspaces by number and highlights the active one. This is mostly used in place of the Workspaces Overview (shown in this issue) for now, while that is still being worked on, but I don't see a reason, why we should remove that applet all together later in the development cycle.

So assuming I understood your question correctly, you will be able to do both of these things, though neither will likely be enabled by default.

Thanks for the quick reply, I appreciate it! What I meant is very similar - along the lines of having a dynamic number of workspaces, with a certain minimum number of workspaces (which are named), and then displaying them in the workspace-applet by some clear identifier that shows which one it is (for example the workspace name, or an icon, ...): image

I suppose something similar is achievable in a slightly more cumbersome way by using a larger number fixed number of workspaces, with the first few named and the rest unnamed. I do think a dynamic number of workspaces with a few "pinned" workspace (that retain their name) would be a nice feature. A UI for this could be a small button or pin on the workspaces overview to toggle such a persistent and unclosable (i.e. does not close when empty) state for each workspace.

WillyWonksters commented 1 year ago

For closing applications quickly from the overview, can this be triggered with a middle click on the window preview?

This useful behavior is currently provided by the popular gnome extension Quick Close in Overview.

It would also be great to have the similar ability to close the tabs of a window stack with a middle click, just as we can do with browser tabs. Should I post this suggestion separately elsewhere?