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

Workspace switcher #361

Open
wants to merge 47 commits into
base: main
Choose a base branch
from
Open

Workspace switcher #361

wants to merge 47 commits into from

Conversation

lenemter
Copy link
Member

@lenemter lenemter commented Feb 12, 2025

Screenshot from 2025-02-13 11 28 29
Screenshot from 2025-02-13 11 27 28

Fixes #335
Fixes #224
Closes #347

Requires elementary/gala#2265

There are some things that are not ideal, i.e. only four windows are shown, no separator between apps and the workspace switcher but I'll leave them for later because this PR is already too big.

@lenemter lenemter added the Needs Design Waiting for input from the UX team label Feb 12, 2025
@lenemter
Copy link
Member Author

lenemter commented Feb 13, 2025

This is mostly ready functionally-wise. I would appreciate if anyone tested this for any bugs/crashes.

This has poor styling and I'm bad at CSS, so I'll be glad if @danirabbit helped me with this. Also icon groups lack some animations and I have no experience working with Libadwaita animations either, so I would appreciate if someone took this over.

@lenemter lenemter marked this pull request as ready for review February 13, 2025 18:42
Copy link
Member

@danirabbit danirabbit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is dope. Definitely gonna have to use it regularly in practice to see how this changes things. But I like it a lot already.

Biggest problem is it crashes whenever there's an open file portal

One thing I'm thinking right away is that it's redundant with the adding non-pinned launchers to the dock. It seems like we don't need to do that anymore since they're already added to the workspace switcher. Thoughts?

I think the "new workspace" button should remain static always at the end instead of fading in a new one. This feels more obvious with my styles branch that it kinda feels like the button is running away or something.

@alainm23

This comment was marked as resolved.

@teamcons
Copy link

teamcons commented Feb 14, 2025

Suggestion:
Since this sound like a huge feature that needs a lot of incremental changes, and needs to be tried on the daily
and even once finished people will need a while to get used to it

maybe in a first time we could put it behind a hidden (experimental) dconf key ?
this way while it is experimental users could test it easily for daily usage and report crashes, usability issues, regressions, and the switcher can be worked on in an incremental way without much worry until it is somewhat ready

One thing I'm thinking right away is that it's redundant with the adding non-pinned launchers to the dock. It seems like we don't need to do that anymore since they're already added to the workspace switcher. Thoughts?

workspace switcher has really small icons, and there is value in clicking an icon to immediately jump to its open instances - instead of cycling through workspaces looking for it
also for the right click pin, or open new instance, app actions...

@danirabbit
Copy link
Member

danirabbit commented Feb 14, 2025

maybe in a first time we could put it behind a hidden (experimental) dconf key

I think I'd be more inclined to do like a build flag if this was necessary. That way we could have it enabled by default in daily and still release stable without the feature for now

workspace switcher has really small icons, and there is value in clicking an icon to immediately jump to its open instances - instead of cycling through workspaces looking for it

My original idea was clicking on a workspace that you're already on could open multitasking view so you could double click to get a window spread of a certain workspace right away

also for the right click pin, or open new instance, app actions...

Yeah I wonder about how often actions are used for non-pinned apps 🤔 I was thinking this morning of, what if we did something like expand the workspace card when you're on that workspace. Would close #134 and make sure that you have access to all of the launchers for the current workspace. Alternatively we could do something like how folders are handled in macOS and fan out launchers from the card when it's clicked. I think there's potential design solutions to keep individual launchers accessible while also avoiding a bunch of duplicate launchers in the dock

@teamcons
Copy link

My original idea was clicking on a workspace that you're already on could open multitasking view so you could double click to get a window spread of a certain workspace right away

sounds pretty cool

how often a specific workspace has windows stacked, if workspaces are used ?
if people arranged windows a certain way, and just want to go back to the workspace, doesnt this require an additional step ?

also for the right click pin, or open new instance, app actions...

Yeah I wonder about how often actions are used for non-pinned apps 🤔 I was thinking this morning of, what if we did something like expand the workspace card when you're on that workspace. Would close #134 and make sure that you have access to all of the launchers for the current workspace. Alternatively we could do something like how folders are handled in macOS and fan out launchers from the card when it's clicked. I think there's potential design solutions to keep individual launchers accessible while also avoiding a bunch of duplicate launchers in the dock

macOS confuses a bit because they mix all together app icon, window preview, folder, and file preview
the dock in elementary only has app.

then with this fan out idea you have a pinned app with indicator, indicating the app has windows open,
and also the same icon in the fanned-out view, to represent the app has at least one window open ?

but then on clicking on app icon in the fanned-out view, do you get app windows spread - same behaviour as pinned app icon
or do you get the window in that workspace

@lenemter lenemter mentioned this pull request Feb 14, 2025
src/DockSettings.vala Outdated Show resolved Hide resolved
@teamcons
Copy link

current multitasking view allows to reorganize workspaces between each other via drag and drop. Would that work as a feature in the dock ?

(and also create workspace in between by dragging windows, but thats a topic for when the dock stays in multitasking)

@danirabbit
Copy link
Member

current multitasking view allows to reorganize workspaces between each other via drag and drop. Would that work as a feature in the dock

Definitely! I think we want to eventually replace the separate workspace switcher in the multitasking view completely. But in the interest of actually merging the feature I think @lenemter wanted to wait before introducing any extra features. So for now just focusing on the MVP and we'll add more features in future branches

@lenemter lenemter mentioned this pull request Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Design Waiting for input from the UX team
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

Hide the dock when empty Add new workspace button to the dock Explicit workspace switching
5 participants