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

[WIP] initial gnome 40 support #152

Merged
merged 92 commits into from
Sep 24, 2021
Merged

[WIP] initial gnome 40 support #152

merged 92 commits into from
Sep 24, 2021

Conversation

ebeem
Copy link
Collaborator

@ebeem ebeem commented Apr 12, 2021

Please report bugs/issues or discuss features in the discussion accompanying the alpha release for GNOME 40 support.

Still has many bugs, and only the switcher is implemented (no overview).

bugs/missing features:

  • Animations (vertical) are not working yet.
  • add modifier keys in configuration (or somehow use gnome's) to switch workspace and move workspace and workspace selection (working but not as expected, main modifier for moving to workspace is shift which works only for arrows now since other keys will change into another character with shift probably just needs to be added to the configuration).
  • implement show/hide labels/thumbnails.
  • controlling active workspace with mouse occurs even if mouse is not moved (if mouse is on the workspace popup area). Maybe only start checking for mouse position if mouse moves after showing the popup
  • popup timeout is still not implemented
  • workspace indicator fail to initially locate the current workspace.
  • preferences/settings are not available in gnome extensions.
  • wraparound is not working (controlled by the switcher popup now) (we can consider fixing Feature Request: New Wraparound Mode #135 here).
  • workspace switcher toggle popup works but with no keybindings (default ones work instead), this can be fixed in _keyPressHandler in WorkspaceSwitcherPopup.js
  • overview doesn't show workspaces matrix (old implementation fixed Scrolling in the vertical workspace list in the overview does not work correctly #127, I think we need to check _onScrollEvent).

minor improvements & extra features:

  • styling might not be perfect, padding/merging/overflowing (better with configuration to fix Labels are very small #140 and fix Visual bug with Materia theme #12).
  • controlling active workspace with mouse is only possible in last monitor
  • dnd in switcher popup.
  • matrix structure & animation in bottom workspaces in overview

what's good about this branch:

Currently, this implements the switcher using a modifier key. I think this implementation will help us fix a lot of issues and have more flexibility. I am not going to be able to work on this gnome#40 support for about 3 weeks, I will look at it after that and try to fix current bugs.

Any contributions are welcomed. We will probably not merge this into master, once we finalize it, it's better to create a new branch because this one will probably have a lot of dirty code in it.

fixes #146

@mzur mzur self-requested a review April 13, 2021 18:48
@mzur
Copy link
Owner

mzur commented Apr 13, 2021

I removed all files related to the overview for now (they're now in the gnome-40-overview branch). We can take care of the overview once we have a proper implementation of the popup.

I think a (clean) working implementation for the popup can be merged into master and released as beta version. We can then move on and work on the remaining features (which will be quite complex I assume).

I did the same with the workspace overview (Super+W) -> gnome-40-workspace-overview.

@ebeem
Copy link
Collaborator Author

ebeem commented Apr 13, 2021

Thanks @mzur, settings are working great now.
I fixed the initial selection of workspace (always goes to 1) and the warning messages

@mzur
Copy link
Owner

mzur commented Apr 13, 2021

Great! I'll continue to tinker with this branch a bit.

@ebeem
Copy link
Collaborator Author

ebeem commented Apr 13, 2021

I modified the option scale and its default value, now it reflects the scale of the switcher rather than the thumbnails themselves, the thumbnails will adjust accordingly (I feel this makes much more sense).

@ebeem
Copy link
Collaborator Author

ebeem commented Apr 13, 2021

Maybe I mentioned problems with the style, I tried different themes now.
I think there's a little problem with padding, but overall, even the materia theme in #12 is displaying the workspace switcher right.
Does it look good in your case @mzur?

Screenshot from 2021-04-13 22-30-06

Screenshot from 2021-04-13 22-29-38

@mzur
Copy link
Owner

mzur commented Apr 13, 2021

The original scale value of 0.1 set the size of each thumbnail. A new default of 0.6 seems too large. I'll need to dig more into the code. Give me a few days 😉 Currently, the aspect ratio of the thumbnails seems off to me (on my system, if I increase the size so I can recognize something).

@ebeem
Copy link
Collaborator Author

ebeem commented Apr 13, 2021

@mzur it's not thumbnail scale anymore, it's switcher workspace popup scale.
So if we set 0.6, the switcher as whole will take 0.6 of the screen, and the thumbnails (depending on how many rows/columns) will fill this switcher popup which takes 60% of the screen. What do you think?

@mzur
Copy link
Owner

mzur commented Apr 13, 2021

Setting the size of the whole switcher is definitely easier than setting the size of each thumbnail. I'll have to take a closer look at that, yet. For now, I just removed code that I want to take care of later. I'll get back to this PR in the next days.

@mzur mzur mentioned this pull request Apr 13, 2021
@ebeem
Copy link
Collaborator Author

ebeem commented Sep 23, 2021

@mzur I followed the same approach we had earlier, I think your approach makes much more sense but I am not sure why the POPUP flag doesn't seem to be working properly?
I tried to figure it out but couldn't, so if can find a better approach then you can revert my commit.

@mzur
Copy link
Owner

mzur commented Sep 23, 2021

@ebeem Thanks, I didn't notice that somehow. I think your approach is just fine. I've only changed the call to "remove" since the popup can be destroyed by other things than the "confirm" action as well.

Copy link
Owner

@mzur mzur left a comment

Choose a reason for hiding this comment

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

Finally done with my review! Sorry it took me so long.

Updated list of issues:

Other changes I did:

  • Reorganized the settings and made options labels more consistent
  • Disabled mouse hover over the popup by default
  • The workspace overview popup keybindings work again

Copy link
Owner

@mzur mzur left a comment

Choose a reason for hiding this comment

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

I think we're good to go with this one. I've extracted the remaining things to their own issues. Each of them can be handled later whenever someone is willing do some work. I've also removed GNOME 41 support again from the metadata. I'll open a separate PR for that, as I would like to have the opportunity to test and update the code there, too.

@ElijahLynn If your offer still stands, all the credit goes to @ebeem 😉

@ebeem A huge thanks again for all your work 👏 Please merge whenever you like.

@ebeem
Copy link
Collaborator Author

ebeem commented Sep 24, 2021

Thanks to you @mzur and everyone else who contributed, the branch now is way more stable.
Thanks for taking the time to spot all these issues and fix/document them, I will merge this for now and comment on the issues you created.

@ebeem ebeem merged commit 05dc74c into master Sep 24, 2021
@mzur mzur deleted the gnome-40 branch September 25, 2021 11:14
@mzur mzur mentioned this pull request Sep 26, 2021
2 tasks
@MonsieurLanza
Copy link

MonsieurLanza commented Sep 27, 2021

I don’t know if this one is reported yet :
I just got my hands on a new laptop, which can handle gestures… You can slide workspaces with 3 fingers, left or right (yeah, there’s already an issue with the gesture here, in case of vertical sliding).

What happens is that when I slide a workspace (always horizontally, as I said), it re-plays the animation afterward, which is a somewhat awkward.

@mzur
Copy link
Owner

mzur commented Sep 27, 2021

@MonsieurLanza Thanks for reporting. Could you please open a separate issue for that?

Everyone else: If you want to report bugs related to GNOME 40, please open a new issue.

Repository owner locked as resolved and limited conversation to collaborators Sep 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.