! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Switching desktops on workspace switcher with mouse wheel goes out of order
Status:
RESOLVED: MOVED
Product:
Xfce4-panel
Component:
Workspace Switcher

Comments

Description JtS 2019-02-21 15:05:05 CET
Overview: More detailed restatement of summary.

    Scrolling through desktops on the workplace switcher goes in an out-of-order fashion with 2 rows.

Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.

    1) Set workplace switcher to 2 rows (right click on panel -> Panel -> Panel Preferences -> Items -> select Workplace Switcher -> "Edit currently selected item" -> set # of rows to 2).

    2) Place cursor over the 1st workspace in the workspace switcher on the panel

    3) Scroll down with the mouse scroll wheel

Actual Results: What the application did after performing the above steps.

    Workspaces will scroll in the wrong order. It will be 1-3-2-4

Expected Results: What the application should have done, were the bug not present.

    The workspace should scroll in correct order of workspaces, 1-2-3-4

Build Date & Hardware: Date and hardware of the build in which you first encountered the bug.

    Build Xfce 4.12 on Ubuntu 18.10

Additional Builds and Platforms: Whether or not the bug takes place on other platforms (or browsers, if applicable).

    No additional builds or platforms tested

Additional Information: Any other useful information. 

   It does not happen if I make the workspace switcher 1 row and scroll - this scrolls in correct order.
Comment 1 Marcel Kühlhorn 2019-07-14 15:50:19 CEST
I'm seeing this behaviour with Version 4.13.6 as well
Comment 2 Markus 2019-08-12 22:57:37 CEST
On my system (Arch Linux), the bug appeared with today's update.
Version: 4.14

It's kinda curious that I did not encounter it so far ... I install updates weekly (sometimes daily).
Comment 3 Theo Linkspfeifer editbugs 2019-08-15 17:22:59 CEST
The same issue was fixed in the tasklist plugin (bug 13789). Maybe the fix works for the pager plugin also.

Related report: bug 15614
Comment 4 Simon Steinbeiss editbugs 2019-08-15 22:49:03 CEST
Just to explain why you're seeing this bug (and why xfce4-panel is not really responsible for it).

In Gtk2 the library that provides this widget (libwnck) did not contain a scroll event, hence the panel's scroll implementation was a nice feature on top of the WnckPager widget.
https://github.com/GNOME/libwnck/blob/gnome-2-32/libwnck/pager.c

In Gtk3 the scroll event was added, so the xfce4-panel doesn't receive this event anymore, because the handler in libwnck returns TRUE (which prevents all other handlers of this signal to run):
https://github.com/GNOME/libwnck/blob/master/libwnck/pager.c#L2022

So we would have to fix the misguided scroll direction in libwnck to truly handle this issue. Not sure there is a (good) alternative...
Comment 5 Simon Steinbeiss editbugs 2019-08-15 23:33:51 CEST
Also, please note that this problem has been noticed and correctly reported upstream before: https://gitlab.gnome.org/GNOME/libwnck/issues/134
Comment 6 Simon Steinbeiss editbugs 2019-08-15 23:36:33 CEST
And finally, while the behavior changed, it's not necessarily broken. With mouse-wheel you can now "spatially" scroll in a 2d manner, so down really means down and right means right.

Unfortunately this makes no sense with mice, as they can never scroll 2d...
Comment 7 Simon Steinbeiss editbugs 2019-08-18 18:39:34 CEST
Ok, so I wrote a patch for libwnck which resolves the problem for xfce4-panel, let's see if it gets merged:
https://gitlab.gnome.org/GNOME/libwnck/merge_requests/13
Comment 8 Simon Steinbeiss editbugs 2019-09-12 16:45:35 CEST
As my merge request has been merged we can use the newly introduced function after the next libwnck release is out.
Comment 9 JtS 2019-09-27 03:08:43 CEST
(In reply to Simon Steinbeiss from comment #8)
> As my merge request has been merged we can use the newly introduced function
> after the next libwnck release is out.

Thanks for tracking this down and submitting the PR. Looking forward to the fixed behavior.
Comment 10 Tseff 2019-10-27 18:47:12 CET
Thank you for fixing an upstream issue, Simon. Most software maintainers would never do something like that. Once the new version of libwnck is released and pager is changed to take advantage of the wnck_pager_set_scroll_mode option, would it be possible to make it a toggle-able option in Xfce?

My mouse supports 2d scrolling, and being able to have more definition in which direction I want to scroll in the workspace switcher is a really nice since I use a 3x3 workspace layout.
Comment 11 Simon Steinbeiss editbugs 2019-10-31 00:00:27 CET
@Tseff: Thanks!

I guess the only downside to making this an option would be that I would have to implement 3d scrolling for the button option of the workspace switcher... (the code for that only resides in the panel, which is why its behavior hasn't changed)
So yeah, why not (presuming I get to it with the many other things on the roadmap).

MVP for this bug is that the previous behavior is restored.
Comment 12 Git Bot editbugs 2020-05-28 02:09:22 CEST
-- GitLab Migration Automatic Message --

This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/209.

Please create an account or use an existing account on one of our supported OAuth providers. 

If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests

Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev

Bug #15154

Reported by:
JtS
Reported on: 2019-02-21
Last modified on: 2020-05-28

People

Assignee:
Nick Schermer
CC List:
5 users

Version

Version:
4.13.0

Attachments

Additional information