aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/config.h10
-rw-r--r--include/sway/input/cursor.h2
-rw-r--r--include/swaybar/config.h10
-rw-r--r--include/swaybar/input.h15
5 files changed, 23 insertions, 15 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 68487879..7672a3fd 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -207,6 +207,7 @@ sway_cmd bar_cmd_pango_markup;
sway_cmd bar_cmd_strip_workspace_numbers;
sway_cmd bar_cmd_strip_workspace_name;
sway_cmd bar_cmd_swaybar_command;
+sway_cmd bar_cmd_tray_bindcode;
sway_cmd bar_cmd_tray_bindsym;
sway_cmd bar_cmd_tray_output;
sway_cmd bar_cmd_tray_padding;
diff --git a/include/sway/config.h b/include/sway/config.h
index 96fe899b..978606a6 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -260,7 +260,7 @@ struct bar_config {
#if HAVE_TRAY
char *icon_theme;
- const char *tray_bindings[10]; // mouse buttons 0-9
+ struct wl_list tray_bindings; // struct tray_binding::link
list_t *tray_outputs; // char *
int tray_padding;
#endif
@@ -272,6 +272,14 @@ struct bar_binding {
char *command;
};
+#if HAVE_TRAY
+struct tray_binding {
+ uint32_t button;
+ const char *command;
+ struct wl_list link; // struct tray_binding::link
+};
+#endif
+
struct border_colors {
float border[4];
float background[4];
diff --git a/include/sway/input/cursor.h b/include/sway/input/cursor.h
index 77aa0ea1..abd72783 100644
--- a/include/sway/input/cursor.h
+++ b/include/sway/input/cursor.h
@@ -103,4 +103,6 @@ uint32_t get_mouse_bindcode(const char *name, char **error);
// Considers both bindsym and bindcode
uint32_t get_mouse_button(const char *name, char **error);
+const char *get_mouse_button_name(uint32_t button);
+
#endif
diff --git a/include/swaybar/config.h b/include/swaybar/config.h
index add0a1cf..ec042e51 100644
--- a/include/swaybar/config.h
+++ b/include/swaybar/config.h
@@ -70,13 +70,21 @@ struct swaybar_config {
#if HAVE_TRAY
char *icon_theme;
- char *tray_bindings[10]; // mouse buttons 0-9
+ struct wl_list tray_bindings; // struct tray_binding::link
bool tray_hidden;
list_t *tray_outputs; // char *
int tray_padding;
#endif
};
+#if HAVE_TRAY
+struct tray_binding {
+ uint32_t button;
+ char *command;
+ struct wl_list link; // struct tray_binding::link
+};
+#endif
+
struct swaybar_config *init_config(void);
void free_config(struct swaybar_config *config);
uint32_t parse_position(const char *position);
diff --git a/include/swaybar/input.h b/include/swaybar/input.h
index 4b46b0de..d76cd551 100644
--- a/include/swaybar/input.h
+++ b/include/swaybar/input.h
@@ -22,19 +22,6 @@ struct swaybar_pointer {
uint32_t serial;
};
-enum x11_button {
- NONE,
- LEFT,
- MIDDLE,
- RIGHT,
- SCROLL_UP,
- SCROLL_DOWN,
- SCROLL_LEFT,
- SCROLL_RIGHT,
- BACK,
- FORWARD,
-};
-
enum hotspot_event_handling {
HOTSPOT_IGNORE,
HOTSPOT_PROCESS,
@@ -54,6 +41,8 @@ extern const struct wl_seat_listener seat_listener;
void update_cursor(struct swaybar *bar);
+uint32_t event_to_x11_button(uint32_t event);
+
void free_hotspots(struct wl_list *list);
#endif