2zw

2zw - X11 Windowmanager

Files | Log | Commits | Refs | README


6afc6be

Author: erikbackman

Date: 2024-02-24

Subject: focus on mouse1 (without mod)

Diff

commit 6afc6be4728f260a268d478ed6ebe9a4b723b5bb
Author: erikbackman <erikbackman@users.noreply.github.com>
Date:   Sat Feb 24 21:01:40 2024 +0100

    focus on mouse1 (without mod)

diff --git a/src/main.zig b/src/main.zig
index 5dfd8a8..6632c66 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -42,31 +42,12 @@ fn grabInput(window: C.Window) void {
     _ = C.XUngrabKey(display, C.AnyKey, C.AnyModifier, root);
 
     for (keys) |key| {
-        _ = C.XGrabKey(
-            display,
-            C.XKeysymToKeycode(display, key.keysym),
-            C.Mod4Mask,
-            window,
-            0,
-            C.GrabModeAsync,
-            C.GrabModeAsync,
-        );
+        _ = C.XGrabKey(display, C.XKeysymToKeycode(display, key.keysym), C.Mod4Mask, window, 0, C.GrabModeAsync, C.GrabModeAsync);
     }
-
     for ([_]u8{ 1, 3 }) |btn| {
-        _ = C.XGrabButton(
-            display,
-            btn,
-            C.Mod4Mask,
-            root,
-            0,
-            C.ButtonPressMask | C.ButtonReleaseMask | C.PointerMotionMask,
-            C.GrabModeAsync,
-            C.GrabModeAsync,
-            0,
-            0,
-        );
+        _ = C.XGrabButton(display, btn, C.Mod4Mask, root, 0, C.ButtonPressMask | C.ButtonReleaseMask | C.PointerMotionMask, C.GrabModeAsync, C.GrabModeAsync, 0, 0);
     }
+    _ = C.XGrabButton(display, 1, 0, root, 0, C.ButtonPressMask | C.ButtonReleaseMask, C.GrabModeSync, C.GrabModeAsync, 0, 0);
 }
 
 // Application state
@@ -278,6 +259,8 @@ fn onButtonPress(e: *C.XEvent) void {
     mouse = e.xbutton;
 
     if (winToNode(e.xbutton.subwindow)) |node| if (node != cursor) focus(node);
+    _ = C.XAllowEvents(display, C.ReplayPointer, e.xbutton.time);
+    _ = C.XSync(display, 0);
 }
 
 fn onNotifyMotion(e: *C.XEvent) void {