Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-focusonclick-20200110-61bb8b2.diff - sites - public wiki contents of suckle…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-focusonclick-20200110-61bb8b2.diff (3736B)
---
1 From 7ac0b812540e21b470f2f6947c6cc1e30bf24b42 Mon Sep 17 00:00:00 2001
2 From: iofq <[email protected]>
3 Date: Sun, 10 Jan 2021 22:43:16 -0600
4 Subject: [PATCH] tweak fixes floating window mouse controls
5
6 ---
7 config.def.h | 1 +
8 dwm.c | 47 ++++-------------------------------------------
9 2 files changed, 5 insertions(+), 43 deletions(-)
10
11 diff --git a/config.def.h b/config.def.h
12 index 1c0b587..4f2c946 100644
13 --- a/config.def.h
14 +++ b/config.def.h
15 @@ -5,6 +5,7 @@ static const unsigned int borderpx = 1; /* borde…
16 static const unsigned int snap = 32; /* snap pixel */
17 static const int showbar = 1; /* 0 means no bar */
18 static const int topbar = 1; /* 0 means bottom bar */
19 +static const int focusonwheel = 0;
20 static const char *fonts[] = { "monospace:size=10" };
21 static const char dmenufont[] = "monospace:size=10";
22 static const char col_gray1[] = "#222222";
23 diff --git a/dwm.c b/dwm.c
24 index 664c527..de3e883 100644
25 --- a/dwm.c
26 +++ b/dwm.c
27 @@ -163,7 +163,6 @@ static void detachstack(Client *c);
28 static Monitor *dirtomon(int dir);
29 static void drawbar(Monitor *m);
30 static void drawbars(void);
31 -static void enternotify(XEvent *e);
32 static void expose(XEvent *e);
33 static void focus(Client *c);
34 static void focusin(XEvent *e);
35 @@ -182,7 +181,6 @@ static void manage(Window w, XWindowAttributes *wa);
36 static void mappingnotify(XEvent *e);
37 static void maprequest(XEvent *e);
38 static void monocle(Monitor *m);
39 -static void motionnotify(XEvent *e);
40 static void movemouse(const Arg *arg);
41 static Client *nexttiled(Client *c);
42 static void pop(Client *);
43 @@ -250,13 +248,11 @@ static void (*handler[LASTEvent]) (XEvent *) = {
44 [ConfigureRequest] = configurerequest,
45 [ConfigureNotify] = configurenotify,
46 [DestroyNotify] = destroynotify,
47 - [EnterNotify] = enternotify,
48 [Expose] = expose,
49 [FocusIn] = focusin,
50 [KeyPress] = keypress,
51 [MappingNotify] = mappingnotify,
52 [MapRequest] = maprequest,
53 - [MotionNotify] = motionnotify,
54 [PropertyNotify] = propertynotify,
55 [UnmapNotify] = unmapnotify
56 };
57 @@ -425,7 +421,8 @@ buttonpress(XEvent *e)
58
59 click = ClkRootWin;
60 /* focus monitor if necessary */
61 - if ((m = wintomon(ev->window)) && m != selmon) {
62 + if ((m = wintomon(ev->window)) && m != selmon
63 + && (focusonwheel || (ev->button != Button4 && ev->button !=…
64 unfocus(selmon->sel, 1);
65 selmon = m;
66 focus(NULL);
67 @@ -445,8 +442,8 @@ buttonpress(XEvent *e)
68 else
69 click = ClkWinTitle;
70 } else if ((c = wintoclient(ev->window))) {
71 - focus(c);
72 - restack(selmon);
73 + if (focusonwheel || (ev->button != Button4 && ev->butto…
74 + focus(c);
75 XAllowEvents(dpy, ReplayPointer, CurrentTime);
76 click = ClkClientWin;
77 }
78 @@ -752,25 +749,6 @@ drawbars(void)
79 drawbar(m);
80 }
81
82 -void
83 -enternotify(XEvent *e)
84 -{
85 - Client *c;
86 - Monitor *m;
87 - XCrossingEvent *ev = &e->xcrossing;
88 -
89 - if ((ev->mode != NotifyNormal || ev->detail == NotifyInferior) …
90 - return;
91 - c = wintoclient(ev->window);
92 - m = c ? c->mon : wintomon(ev->window);
93 - if (m != selmon) {
94 - unfocus(selmon->sel, 1);
95 - selmon = m;
96 - } else if (!c || c == selmon->sel)
97 - return;
98 - focus(c);
99 -}
100 -
101 void
102 expose(XEvent *e)
103 {
104 @@ -1116,23 +1094,6 @@ monocle(Monitor *m)
105 resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * …
106 }
107
108 -void
109 -motionnotify(XEvent *e)
110 -{
111 - static Monitor *mon = NULL;
112 - Monitor *m;
113 - XMotionEvent *ev = &e->xmotion;
114 -
115 - if (ev->window != root)
116 - return;
117 - if ((m = recttomon(ev->x_root, ev->y_root, 1, 1)) != mon && mon…
118 - unfocus(selmon->sel, 1);
119 - selmon = m;
120 - focus(NULL);
121 - }
122 - mon = m;
123 -}
124 -
125 void
126 movemouse(const Arg *arg)
127 {
128 --
129 2.30.0
130
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.