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

Gnome 40 support #146

Closed
tom-james-watson opened this issue Mar 9, 2021 · 14 comments · Fixed by #152
Closed

Gnome 40 support #146

tom-james-watson opened this issue Mar 9, 2021 · 14 comments · Fixed by #152
Labels
help wanted Extra attention is needed

Comments

@tom-james-watson
Copy link

Just wondering if anyone has looked into Gnome 40 and if it will be in any way possible to keep the extension working? Looks like it includes some pretty big changes, especially around workspaces.

@mzur mzur added the help wanted Extra attention is needed label Mar 9, 2021
@mzur
Copy link
Owner

mzur commented Mar 9, 2021

I definitely intend to keep this extension going. However, I'm personally still using GNOME 3.36 and my spare time is rather limited right now. We also haven't fully finished 3.38 support ( #125 ). Contributors for GNOME 40 support are very welcome! At least we can gather an initial list of error messages and what features are broken.

@tom-james-watson
Copy link
Author

There's a (official?) guide to porting extensions to Gnome 40 here: https://gjs.guide/extensions/upgrading/gnome-shell-40.html.

@mzur
Copy link
Owner

mzur commented Mar 16, 2021

Neat! I wasn't aware of gjs.guide, thanks for sharing that resource.

@mzur mzur mentioned this issue Mar 26, 2021
7 tasks
@ebeem
Copy link
Collaborator

ebeem commented Mar 31, 2021

Gnome 40 hasn't landed on Arch yet, I will make sure that the extension at least works with Gnome 40 once it's released.
Thanks for providing the documentation, it will definitely be helpful.

@mzur
Copy link
Owner

mzur commented Mar 31, 2021

@ebeem Good to hear from you again! I was planning to strip this extension back to its essentials and basically start from scratch to establish GNOME 40 support. I already had a peek at it in a Fedora 34 beta VM and I suspect that nothing in our codebase will be compatible. We can start small and implement just the 2D workspace switcher and then continue to add the missing features (thumbnails, overview integration, animations etc.) later.

@ebeem
Copy link
Collaborator

ebeem commented Apr 1, 2021

@mzur probably the workspaces grid in the overview will be the most difficult to implement. Now that the overview design is different, I think that we need to also consider the new design and come up with a good design so we save space while displaying a grid. I have no idea in my mind right now, it doesn't seem to be easy as the workspaces are shown along with the applications now in the second workspaces overview.

Maybe this is the feature that we need to be patient with for now and delay it.

@tom-james-watson
Copy link
Author

tom-james-watson commented Apr 1, 2021

I agree - I think with the UX for workspaces changing so much, it makes sense to just strip everything back and start with the bare minimum: being able to switch workspace on a 2D grid with a popup indicator of the grid as you switch.

I don't see how to fit a 2D grid onto the new overview design either. It's not just the workspace row at the top that would need to change: you can also now see the next/previous workspace at the edge of the screen. If that worked in 2D then that would be insanely awesome but I imagine that would be very difficult.

@ebeem
Copy link
Collaborator

ebeem commented Apr 1, 2021

@tom-james-watson Exactly, we will need to take care of the two views. Regarding the next/previous view of the workspaces. At least I can see that the design is easy, we just somehow want to zoom it out so the workspaces above/below are visible. I am not sure how easy or hard that will be, I will need to check the code first. Maybe this feature can be implemented with no delay. However, the second view where the workspaces are displayed along with the applications, I am not sure how we will design it. Maybe we need to do some sketches first and plan it right as we did back in #13 (comment)
Gnome 40's overview looks more like Ubuntu Unity 8 now.

@ebeem
Copy link
Collaborator

ebeem commented Apr 9, 2021

I already checked this out. It's not easy to migrate to gnome 40, but a quick look shows that it's not going to take more than 8 hours of work (without the overview). I already have a simple working switcher but it has some issues with positioning the thumbnails.

Gnome 40 updated some of the classes that we use, like thumbnails for example. We created a new file for it with workaround to get thumbnails from other monitors, it's available now by default so we don't need our class anymore.

We will need to rewrite a lot of the code from scratch as we came to realize some features will need core changes. I will start by trying to extend SwitcherPopup instead of WorkspaceSwitcherPopup so we can get more flexibility with the keybindings and timeout vs release button to make the switcher disappear. Once this is done, I will make a PR.

@mzur
Copy link
Owner

mzur commented Apr 9, 2021

Thanks a lot @ebeem! Don't hesitate to open a draft PR early so we can have a look and contribute.

@mzur
Copy link
Owner

mzur commented Apr 10, 2021

@ebeem At the least, I can take care of the settings window, as I have ported one of my other extensions recently.

@ebeem
Copy link
Collaborator

ebeem commented Apr 10, 2021

@mzur Thanks!
I haven't started working on it yet, so I will leave it to you.
I will open the PR as soon as the basic switcher popup is functional,

@mzur
Copy link
Owner

mzur commented Apr 11, 2021

I ported the settings in 222fa8a. I'll merge this with your changes, @ebeem, once you created your PR. I'll disable the settings that are not yet implemented then.

@tom-james-watson Thanks a lot for your link to the guide, again! It's so refreshing to actually know how things should be done and what functions exist 😄

@mzur
Copy link
Owner

mzur commented Apr 13, 2021

Anyone who wants to contribute is welcome to take a look at #152. Even reports of bugs and yet unknown issues with the WIP code are helpful. Closing this in favor of the PR.

@mzur mzur closed this as completed Apr 13, 2021
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.

3 participants