aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-10 12:43:10 -0500
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-10 12:43:10 -0500
commit3d6440ec26f2b39c54fd03aa3a3c822a8a2bbc72 (patch)
tree05e5dddd092b3d3ba16166a3784a49923e9f3de2 /include
parentMerge pull request #3400 from ianyfan/config-brace (diff)
downloadsway-3d6440ec26f2b39c54fd03aa3a3c822a8a2bbc72.tar.gz
sway-3d6440ec26f2b39c54fd03aa3a3c822a8a2bbc72.tar.zst
sway-3d6440ec26f2b39c54fd03aa3a3c822a8a2bbc72.zip
bar_cmd_bind: utilize mouse button helpers
This modifies `bar_cmd_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `cmd_bar_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like sway bindings, the two commands are encapsulated in a single file with shared code. This also modifies swaybar to operate off of event codes rather than x11 button numbers, which allows for any mouse button to be used. This introduces two new IPC properties: - For `get_bar_config`, `event_code` has been added to the `bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`. - Likewise for `click_events`, `event` has been added and will include the event code for the button clicked. If the event code can be mapped to a x11 button, `button` will still be the x11 button number. Otherwise, `button` will be `0`.
Diffstat (limited to 'include')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/swaybar/i3bar.h2
-rw-r--r--include/swaybar/input.h9
3 files changed, 9 insertions, 3 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 7d0ff838..ffc18789 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -183,6 +183,7 @@ sway_cmd cmd_workspace;
183sway_cmd cmd_ws_auto_back_and_forth; 183sway_cmd cmd_ws_auto_back_and_forth;
184sway_cmd cmd_workspace_layout; 184sway_cmd cmd_workspace_layout;
185 185
186sway_cmd bar_cmd_bindcode;
186sway_cmd bar_cmd_binding_mode_indicator; 187sway_cmd bar_cmd_binding_mode_indicator;
187sway_cmd bar_cmd_bindsym; 188sway_cmd bar_cmd_bindsym;
188sway_cmd bar_cmd_colors; 189sway_cmd bar_cmd_colors;
diff --git a/include/swaybar/i3bar.h b/include/swaybar/i3bar.h
index ab4744a5..aa4415ff 100644
--- a/include/swaybar/i3bar.h
+++ b/include/swaybar/i3bar.h
@@ -28,6 +28,6 @@ void i3bar_block_unref(struct i3bar_block *block);
28bool i3bar_handle_readable(struct status_line *status); 28bool i3bar_handle_readable(struct status_line *status);
29enum hotspot_event_handling i3bar_block_send_click(struct status_line *status, 29enum hotspot_event_handling i3bar_block_send_click(struct status_line *status,
30 struct i3bar_block *block, int x, int y, int rx, int ry, int w, int h, 30 struct i3bar_block *block, int x, int y, int rx, int ry, int w, int h,
31 enum x11_button button); 31 uint32_t button);
32 32
33#endif 33#endif
diff --git a/include/swaybar/input.h b/include/swaybar/input.h
index f480d009..4b46b0de 100644
--- a/include/swaybar/input.h
+++ b/include/swaybar/input.h
@@ -4,6 +4,11 @@
4#include <wayland-client.h> 4#include <wayland-client.h>
5#include "list.h" 5#include "list.h"
6 6
7#define SWAY_SCROLL_UP KEY_MAX + 1
8#define SWAY_SCROLL_DOWN KEY_MAX + 2
9#define SWAY_SCROLL_LEFT KEY_MAX + 3
10#define SWAY_SCROLL_RIGHT KEY_MAX + 4
11
7struct swaybar; 12struct swaybar;
8struct swaybar_output; 13struct swaybar_output;
9 14
@@ -39,8 +44,8 @@ struct swaybar_hotspot {
39 struct wl_list link; // swaybar_output::hotspots 44 struct wl_list link; // swaybar_output::hotspots
40 int x, y, width, height; 45 int x, y, width, height;
41 enum hotspot_event_handling (*callback)(struct swaybar_output *output, 46 enum hotspot_event_handling (*callback)(struct swaybar_output *output,
42 struct swaybar_hotspot *hotspot, int x, int y, 47 struct swaybar_hotspot *hotspot, int x, int y, uint32_t button,
43 enum x11_button button, void *data); 48 void *data);
44 void (*destroy)(void *data); 49 void (*destroy)(void *data);
45 void *data; 50 void *data;
46}; 51};