3d6440ec26
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`.
34 lines
776 B
C
34 lines
776 B
C
#ifndef _SWAYBAR_I3BAR_H
|
|
#define _SWAYBAR_I3BAR_H
|
|
|
|
#include "input.h"
|
|
#include "status_line.h"
|
|
|
|
struct i3bar_block {
|
|
struct wl_list link; // status_link::blocks
|
|
int ref_count;
|
|
char *full_text, *short_text, *align;
|
|
bool urgent;
|
|
uint32_t *color;
|
|
int min_width;
|
|
char *name, *instance;
|
|
bool separator;
|
|
int separator_block_width;
|
|
bool markup;
|
|
// Airblader features
|
|
uint32_t background;
|
|
uint32_t border;
|
|
int border_top;
|
|
int border_bottom;
|
|
int border_left;
|
|
int border_right;
|
|
};
|
|
|
|
void i3bar_block_unref(struct i3bar_block *block);
|
|
bool i3bar_handle_readable(struct status_line *status);
|
|
enum hotspot_event_handling i3bar_block_send_click(struct status_line *status,
|
|
struct i3bar_block *block, int x, int y, int rx, int ry, int w, int h,
|
|
uint32_t button);
|
|
|
|
#endif
|