diff options
Diffstat (limited to 'swaybar')
-rw-r--r-- | swaybar/bar.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/swaybar/bar.c b/swaybar/bar.c index 4f8063ac..82e136e4 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c | |||
@@ -89,6 +89,13 @@ static void mouse_button_notify(struct window *window, int x, int y, uint32_t bu | |||
89 | } | 89 | } |
90 | } | 90 | } |
91 | 91 | ||
92 | static void mouse_scroll_notify(struct window *window, enum scroll_direction direction) { | ||
93 | sway_log(L_DEBUG, "Mouse wheel scrolled %s", direction == SCROLL_UP ? "up" : "down"); | ||
94 | |||
95 | const char *workspace_name = direction == SCROLL_UP ? "prev_on_output" : "next_on_output"; | ||
96 | ipc_send_workspace_command(workspace_name); | ||
97 | } | ||
98 | |||
92 | void bar_setup(struct bar *bar, const char *socket_path, const char *bar_id) { | 99 | void bar_setup(struct bar *bar, const char *socket_path, const char *bar_id) { |
93 | /* initialize bar with default values */ | 100 | /* initialize bar with default values */ |
94 | bar_init(bar); | 101 | bar_init(bar); |
@@ -123,8 +130,9 @@ void bar_setup(struct bar *bar, const char *socket_path, const char *bar_id) { | |||
123 | /* set font */ | 130 | /* set font */ |
124 | bar_output->window->font = bar->config->font; | 131 | bar_output->window->font = bar->config->font; |
125 | 132 | ||
126 | /* set font */ | 133 | /* set mouse event callbacks */ |
127 | bar_output->window->pointer_input.notify = mouse_button_notify; | 134 | bar_output->window->pointer_input.notify_button = mouse_button_notify; |
135 | bar_output->window->pointer_input.notify_scroll = mouse_scroll_notify; | ||
128 | 136 | ||
129 | /* set window height */ | 137 | /* set window height */ |
130 | set_window_height(bar_output->window, bar->config->height); | 138 | set_window_height(bar_output->window, bar->config->height); |