DWM 6.2:
-Making a Workaround patch for WebStorm: do not care about property notification saying that a second window is transient to the first webstorm window (cherry picked from commit f47c3c83257eed490c6aaf876fbb67b2ddb8b62c)
This commit is contained in:
parent
d2b23e176d
commit
9d11cd7d18
18
config.h
18
config.h
@ -47,16 +47,16 @@ static const Rule rules[] = {
|
||||
* WM_CLASS(STRING) = instance, class
|
||||
* WM_NAME(STRING) = title
|
||||
*/
|
||||
/* class instance title tags mask isfloating isterminal noswallow monitor */
|
||||
/* class instance title tags mask isfloating isterminal noswallow ignoretransient monitor */
|
||||
|
||||
{"jetbrains-studio", NULL, NULL, 0, 1, 0, 0, -1 },
|
||||
{"st", NULL, NULL, 0, 0, 1, 1, -1},
|
||||
{"Xephyr", NULL, NULL, 0, 1, 0, 0, -1},
|
||||
{"Xnest", NULL, NULL, 0, 1, 0, 0, -1},
|
||||
{"streamdeck", NULL, NULL, 0, 0, 0, 1, -1},
|
||||
{"jetbrains-toolbox", NULL, NULL, 0, 1, 0, 1, -1},
|
||||
{"jetbrains-idea", NULL, NULL, 0, 0, 0, 1, -1},
|
||||
{"jetbrains-idea", NULL, "Welcome to IntelliJ IDEA", 0, 1, 0, 1, -1},
|
||||
{"jetbrains-studio", NULL, NULL, 0, 1, 0, 0, 0, -1 },
|
||||
{"st", NULL, NULL, 0, 0, 1, 1, 0, -1},
|
||||
{"Xephyr", NULL, NULL, 0, 1, 0, 0, 0, -1},
|
||||
{"Xnest", NULL, NULL, 0, 1, 0, 0, 0, -1},
|
||||
{"streamdeck", NULL, NULL, 0, 0, 0, 1, 0, -1},
|
||||
{"jetbrains-toolbox", NULL, NULL, 0, 1, 0, 1, 0, -1},
|
||||
{"jetbrains-idea", NULL, NULL, 0, 0, 0, 1, 1, -1},
|
||||
{"jetbrains-idea", NULL, "Welcome to IntelliJ IDEA", 0, 1, 0, 1, 0, -1},
|
||||
};
|
||||
|
||||
/* layout(s) */
|
||||
|
6
dwm.c
6
dwm.c
@ -113,7 +113,7 @@ struct Client {
|
||||
int basew, baseh, incw, inch, maxw, maxh, minw, minh;
|
||||
int bw, oldbw;
|
||||
unsigned int tags;
|
||||
int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow;
|
||||
int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow, ignoretransient;
|
||||
pid_t pid;
|
||||
Client *next;
|
||||
Client *snext;
|
||||
@ -164,6 +164,7 @@ typedef struct {
|
||||
int isfloating;
|
||||
int isterminal;
|
||||
int noswallow;
|
||||
int ignoretransient;
|
||||
int monitor;
|
||||
} Rule;
|
||||
|
||||
@ -354,6 +355,7 @@ applyrules(Client *c)
|
||||
{
|
||||
c->isterminal = r->isterminal;
|
||||
c->isfloating = r->isfloating;
|
||||
c->ignoretransient = r->ignoretransient;
|
||||
c->tags |= r->tags;
|
||||
for (m = mons; m && m->num != r->monitor; m = m->next);
|
||||
if (m)
|
||||
@ -1453,7 +1455,7 @@ propertynotify(XEvent *e)
|
||||
switch(ev->atom) {
|
||||
default: break;
|
||||
case XA_WM_TRANSIENT_FOR:
|
||||
if (!c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) &&
|
||||
if (!c->ignoretransient && !c->isfloating && (XGetTransientForHint(dpy, c->win, &trans)) &&
|
||||
(c->isfloating = (wintoclient(trans)) != NULL))
|
||||
arrange(c->mon);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user