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

[Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection #10989

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rcalixte
Copy link
Member

@rcalixte rcalixte commented Aug 1, 2022

No description provided.

@rcalixte
Copy link
Member Author

rcalixte commented Aug 1, 2022

This is related to:
linuxmint/cinnamon-desktop#214
linuxmint/muffin#628

@mtwebster mtwebster changed the title cs_keyboard.py, main.js, and windowManager.js: Separate the keybindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the keybindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Aug 11, 2022
@rcalixte rcalixte force-pushed the toggle branch 3 times, most recently from 7ab5d66 to 3bbf7cf Compare August 19, 2022 06:50
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from 1127303 to c1aebbc Compare August 24, 2022 04:11
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from 9d6d9db to 2e8874c Compare October 17, 2022 23:32
@rcalixte rcalixte changed the title [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the keybindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Oct 25, 2022
@rcalixte rcalixte force-pushed the toggle branch 3 times, most recently from 03c603a to 394703e Compare November 1, 2022 15:55
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from 5b6c46a to aeae016 Compare November 8, 2022 05:34
@mtwebster mtwebster changed the title [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Nov 14, 2022
@mtwebster
Copy link
Member

Hi, I'm really sorry I haven't reviewed this sooner - adding the Next tag made it disappear from my PR filter and I forgot to remove it after our release.

There are a couple of issues here:

  • We don't actually support up/down workspaces but you're adding their keybindings to cinnamon settings. This is only going to generate bug reports I think.
  • You're going to force anyone that may have modified their show windows/workspaces shortcuts to wonder why they've been reset.

We resisted in the past, but I'd probably be ok with having an (optional) 2-d workspace grid, and if that were done, we could then add shortcuts. There are also a couple of ways to do proper migration of old setting keys to new if we get to that point.

So for now I'm going to hold off on this. If I get a chance at some point I may have a look at implementing a workspace grid as well.

@rcalixte
Copy link
Member Author

rcalixte commented Nov 15, 2022

@mtwebster I've been thinking, would it make sense to pull in the functionality from this workspace grid applet for the next major release? There are already intersections/overlaps between this applet and Expo plus some other workspace functionality.

The applet was updated for 5.4 compatibility as well so integrating it for the Linux Mint 22.0 release window (and Cinnamon 6.2?) shouldn't be too terrible. I'm thinking we can take this applet and tuck the options into a separate section the System Settings -> Workspaces options rather than tucking it under another workspace applet.

I agree with your assessment about the key bindings which I think is why it makes more sense to wait until the next major release of Linux Mint to make the change (and document/communicate it appropriately of course).

If that sounds reasonable as a plan to you, I can rework the existing pull requests and keep them rebased until they would be ready to merge some time in a year plus.

@clefebvre clefebvre changed the title cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Nov 17, 2022
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from c453c0d to f1a15d4 Compare November 18, 2022 20:20
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from 18eeb30 to 9e9ebcc Compare November 27, 2022 23:08
@rcalixte
Copy link
Member Author

rcalixte commented Feb 1, 2023

@mtwebster To make clear what I'm thinking, assuming this is a Cinnamon 6.2(?)/Linux Mint 22.0 target release, based on the current applet settings:

Workspace grid (2D) and switcher_01

  • These settings would move to Workspace Options under current settings (with proper dependencies for when to be enabled/disabled):
    • Number of columns
    • Number of rows

(It might make sense to have the number of workspaces tucked under an option for Dynamic/Fixed Workspaces.)

  • The workspace grid applet and the workspace applet included in Cinnamon would be combined. As a result:

    • Style and Scroll Wheel Behavior would also be conditional options for the combined workspace applet.
  • The key binding option would be integrated into system key binding options by the related PRs.

The total end result would be additional system settings and a single applet in place of the current two.

Please feel free to let me know what you think!

@mtwebster mtwebster changed the title [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Mar 21, 2023
@clefebvre
Copy link
Member

Hi @rcalixte,

First of all sorry this is taking so long. I think we should brainstorm on this before rushing into an implementation.

In our roadmap we're planning to review Scale/Expo and workspace management as a whole to see how it can be better integrated and exposed a little bit more to the user. Right now it's not something most people use or are aware of.

I'd recommend to put this on pause for now. We're tagging for 5.8 right now (Mint 21.2 is coming this summer) and this roadmap item hasn't been looked at.

Feel free to use https://github.com/orgs/linuxmint/discussions/categories/pull-requests?discussions_q= to start a discussion about this, not just about configuration but about workspace management in general.

@rcalixte
Copy link
Member Author

rcalixte commented Jun 2, 2023

@clefebvre No need for apologies! I'm grateful for the consideration. I'd mentioned in this comment that this would at best be for a major release (I'm indifferent as to which future one) to try to minimize disruption for users, with as much communication beforehand as possible. (Many users upgrade but many also do clean installs of xx.0 releases as I'm sure you're aware.)

I have the PRs running locally across multiple machines but have yet to implement anything beyond that related to this. I've also effectively taken up maintaining the applet for this functionality. I have no problem rebasing to keep the PRs current (since I'm already rebasing to build locally anyways). You can probably guess that this means quite a bit to my workflow. 😅

I like the idea of a discussion thread for this. I'll get that draft done and try to publish it soon. Thanks for the feedback!

@rcalixte
Copy link
Member Author

Discussion: linuxmint/discussions#37

@Secret-chest
Copy link
Contributor

Cam I still change the keyboard shortcut?

@rcalixte
Copy link
Member Author

Cam I still change the keyboard shortcut?

Of course. No restrictions would be introduced.

@Secret-chest
Copy link
Contributor

Cam I still change the keyboard shortcut?

Of course. No restrictions would be introduced.
Well that's good, can't live without my Super+Tab and Shift+Super+Tab

@clefebvre clefebvre changed the title cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection [NEXT] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Nov 19, 2023
@rcalixte rcalixte force-pushed the toggle branch 2 times, most recently from 3b92fca to b68ad06 Compare July 2, 2024 02:34
…ngs and keyboard menu options for switching workspace up/down and toggling window/workspace selection
@clefebvre clefebvre changed the title [NEXT] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection [Next] cs_keyboard.py, main.js, and windowManager.js: Separate the key bindings and keyboard menu options for switching workspace up/down and toggling window/workspace selection Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants