@@ -159,21 +159,6 @@ namespace Gala {
159159#endif
160160 }
161161
162- private void handle_super_scroll (uint32 timestamp , double dx , double dy ) {
163- if (behavior_settings. get_enum (" super-scroll-action" ) != 1 ) {
164- super_scroll_triggered (timestamp, dx, dy);
165- return ;
166- }
167-
168- var d = dx. abs () > dy. abs () ? dx : dy;
169-
170- if (d > 0 ) {
171- switch_to_next_workspace (Meta . MotionDirection . RIGHT , timestamp);
172- } else if (d < 0 ) {
173- switch_to_next_workspace (Meta . MotionDirection . LEFT , timestamp);
174- }
175- }
176-
177162#if WITH_SYSTEMD
178163 private async void start_x11_services (GLib .Task task ) {
179164 try {
@@ -413,7 +398,7 @@ namespace Gala {
413398
414399 var scroll_action = new SuperScrollAction (display);
415400 scroll_action. triggered. connect (handle_super_scroll);
416- stage. add_action_full (" super-scroll-action" , CAPTURE , scroll_action);
401+ stage. add_action_full (" wm- super-scroll-action" , CAPTURE , scroll_action);
417402
418403 stage. show ();
419404
@@ -473,6 +458,22 @@ namespace Gala {
473458 screen_shield. expand_to_screen_size ();
474459 }
475460
461+ private bool handle_super_scroll (uint32 timestamp , double dx , double dy ) {
462+ if (behavior_settings. get_enum (" super-scroll-action" ) != 1 ) {
463+ return Clutter . EVENT_PROPAGATE ;
464+ }
465+
466+ var d = dx. abs () > dy. abs () ? dx : dy;
467+
468+ if (d > 0 ) {
469+ switch_to_next_workspace (Meta . MotionDirection . RIGHT , timestamp);
470+ } else if (d < 0 ) {
471+ switch_to_next_workspace (Meta . MotionDirection . LEFT , timestamp);
472+ }
473+
474+ return Clutter . EVENT_STOP ;
475+ }
476+
476477 [CCode (instance_pos = -1 )]
477478 private void handle_cycle_workspaces (Meta .Display display , Meta .Window ? window , Clutter .KeyEvent event ,
478479 Meta .KeyBinding binding ) {
0 commit comments