Bug 468454

Summary: Allow switching virtual desktops with mouse wheel on Panel Spacer
Product: [Plasma] plasmashell Reporter: Taro Tanaka <mkrmdk>
Component: Panel Spacer widgetAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: nate, niccolo.venerandi
Priority: NOR    
Version First Reported In: 5.27.4   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Taro Tanaka 2023-04-13 04:27:37 UTC
SUMMARY
On the desktop wallpaper we can switch virtual desktops with mouse wheel. However, if you have maximized/tiled windows open, you need to close, minimize or move them to use the functionality.

To quickly and easily switch virtual desktops only with mouse without any additional operation, it would be great to have the same functionality in the Panel Spacer.

I know I can achieve this with Pager, but I'd like to avoid using it because:

1. It's visually cluttered and distracting to me.
2. Unlike Spacer, its width is not flexible, so the mouse target can be narrow, requiring more mouse movement.
3. I have vertically aligned virtual desktops, so it makes problem 2 even worse.

STEPS TO REPRODUCE
Scroll the mouse wheel over an empty space in the panel.

OBSERVED RESULT
Nothing happens.

EXPECTED RESULT
Switch virtual desktops.

SOFTWARE/OS VERSIONS
Linux Version: 6.2.9-arch1-1 (64-bit)
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Comment 1 veggero 2023-04-13 17:03:24 UTC
I'm really not a big fan of this idea because we cannot garauntee that empty space on a panel is due to a panel spacer. There are various widgets (such as the task manager, which is used by default) that act as spacers, and if you have no widget acting as a spacer you'll get lots of empty space that's also not a panel spacer. This would make this functionality *sometimes* work, without a clear way to convey to the user when it works and when it doesn't.
Comment 2 Nate Graham 2023-04-13 20:02:21 UTC
Indeed. I think this would be a good use case for a 3rd-party widget to implement it.