gimp but for windows: a wayland compositor
git clone https://github.com/m-col/wimp
Files | Refs | Readme

Commit 7dc71ce1bf1c6432c80378dc2dd567a35f4d4a8f
Parent: c63b1ee08f1a9f9c2ab48edfd230b7bc467b16f9
Author: mcol <mcol@posteo.net>
Date: 2020-12-05 15:41:55 +0000
Committer: mcol <mcol@posteo.net>
Committed: 2020-12-05 15:41:55 +0000

make zoom_desk option compatible with mouse

src/config.c Modified

@@ -64,11 +64,8 @@
 	kb->data = calloc(1, sizeof(int));
 	*(int *)(kb->data) = -1;
     }
-    else if (strcasecmp(name, "zoom_out") == 0) {
-	kb->action = &zoom_desk;
-	kb->data = calloc(1, sizeof(int));
-	*(int *)(kb->data) = -1;
-    }
+    else if (strcasecmp(name, "zoom_desk") == 0)
+	kb->action = &zoom_desk_mouse;
     else if (strcasecmp(name, "set_mark") == 0)
 	kb->action = &set_mark;
     else if (strcasecmp(name, "go_to_mark") == 0)

src/action.h Modified

@@ -13,6 +13,7 @@
 void reset_pan(struct server *server, void *data);
 void save_pan(struct server *server, void *data);
 void zoom_desk(struct server *server, void *data);
+void zoom_desk_mouse(struct server *server, void *data);
 void set_mark(struct server *server, void *data);
 void actually_set_mark(struct server *server, const xkb_keysym_t sym);
 void go_to_mark(struct server *server, void *data);

src/action.c Modified

@@ -2,6 +2,7 @@
 #include <wlr/backend.h>
 #include <wlr/backend/session.h>
 
+#include "action.h"
 #include "desk.h"
 #include "types.h"
 
@@ -114,6 +115,13 @@
 }
 
 
+void zoom_desk_mouse(struct server *server, void *data) {
+    struct motion motion = *(struct motion*)data;
+    int dir = motion.dx + motion.dy;
+    zoom_desk(server, &dir);
+}
+
+
 void set_mark(struct server *server, void *data) {
     struct mark *mark = calloc(1, sizeof(struct mark));
     struct desk *desk = server->current_desk;