mirror of
https://github.com/swaywm/sway.git
synced 2026-03-12 05:34:29 -04:00
Merge pull request #3344 from RedSoxFan/bar-mouse-bindings-improved
Improve mouse button parsing: bar mouse bindings
This commit is contained in:
commit
81bb675274
13 changed files with 208 additions and 114 deletions
|
|
@ -1,5 +1,6 @@
|
|||
#define _POSIX_C_SOURCE 200809L
|
||||
#include <assert.h>
|
||||
#include <linux/input-event-codes.h>
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
|
@ -129,13 +130,13 @@ static void render_sharp_line(cairo_t *cairo, uint32_t color,
|
|||
}
|
||||
}
|
||||
|
||||
static enum hotspot_event_handling block_hotspot_callback(struct swaybar_output *output,
|
||||
struct swaybar_hotspot *hotspot,
|
||||
int x, int y, enum x11_button button, void *data) {
|
||||
static enum hotspot_event_handling block_hotspot_callback(
|
||||
struct swaybar_output *output, struct swaybar_hotspot *hotspot,
|
||||
int x, int y, uint32_t button, void *data) {
|
||||
struct i3bar_block *block = data;
|
||||
struct status_line *status = output->bar->status;
|
||||
return i3bar_block_send_click(status, block, x, y, x - hotspot->x, y - hotspot->y,
|
||||
hotspot->width, hotspot->height, button);
|
||||
return i3bar_block_send_click(status, block, x, y, x - hotspot->x,
|
||||
y - hotspot->y, hotspot->width, hotspot->height, button);
|
||||
}
|
||||
|
||||
static void i3bar_block_unref_callback(void *data) {
|
||||
|
|
@ -366,10 +367,10 @@ static uint32_t render_binding_mode_indicator(cairo_t *cairo,
|
|||
return output->height;
|
||||
}
|
||||
|
||||
static enum hotspot_event_handling workspace_hotspot_callback(struct swaybar_output *output,
|
||||
struct swaybar_hotspot *hotspot,
|
||||
int x, int y, enum x11_button button, void *data) {
|
||||
if (button != LEFT) {
|
||||
static enum hotspot_event_handling workspace_hotspot_callback(
|
||||
struct swaybar_output *output, struct swaybar_hotspot *hotspot,
|
||||
int x, int y, uint32_t button, void *data) {
|
||||
if (button != BTN_LEFT) {
|
||||
return HOTSPOT_PROCESS;
|
||||
}
|
||||
ipc_send_workspace_command(output->bar, (const char *)data);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue