Merge pull request #3344 from RedSoxFan/bar-mouse-bindings-improved

Improve mouse button parsing: bar mouse bindings
This commit is contained in:
Drew DeVault 2019-01-13 20:41:05 -05:00 committed by GitHub
commit 81bb675274
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 208 additions and 114 deletions

View file

@ -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);