On previous versions (4.12) mouse wheel over workspace switcher in panel switched the workspaces column first, ie. from left to right, then into 2nd row. Currently, the workspaces switch row-first, ie. top to bottom then into the next column. I have workspace switching by mouse wheel over desktop enabled, and there it still shows the (imho better) old behaviour. Best solution would be an option for the user to make this configurable (row-column or column-row). The checkbox "Switch workspaces using the mouse wheel" in Workspace Switcher Settings menu has no effect at all.
Guess I've found the 'bug', it's following on pager.c:2084 in libwnck-3.24.1. The code there tries to implement 2d scrolling and maps the wheels directly to the presentation of the workspaces, so 'scroll down' means 'activate the workspace visible below the current one'. The lib also implements scrolling left/right which realizes the wanted behaviour. While this itself is not a bug, there are nearly no mice out there with 2 scroll wheels, so the feature is useless. Above that, this 'feature' breaks the old behaviour for those with only one scroll wheel on their mouse, where 'scroll down' means 'show me the next workspace', which is visible to the right. In my opinion libwnck should provide a property "spatial_navigation" or something alike, which controls this behaviour.
Hi, thanks for the report and the thorough analysis! I'm afraid there isn't much we can do about this change of behavior of libwnck. I suggest you report a bug upstream against libwnck. :/
I've filed a bug for libwnck here: https://bugzilla.gnome.org/show_bug.cgi?id=787399 However the bugtracker seems a bit dead, there are lots of open bugs without any response. Patching libwnck to introduce the spatial_navigation property shouldn't be much work, but the gnome devs finally have to include the patch. Another solution might be to intercept the scroll handler for the widget. I don't have any real experience with GTK, but the handler is registered on pager.c:257. Could the xfce-pager take the handler, insert a custom one, modify the supplied event, and pass it to the original handler?
To be honest this should either be fixed in libwnck or not at all. I understand that libwnck may be dead upstream, but who knows, if you supply a patch and bug the right devs they may merge and release the fix. That's much nicer than doing workarounds in Xfce.