Compare commits

...

6 Commits

Author SHA1 Message Date
9edcca1eec made patch configuration 2020-06-25 15:57:20 +02:00
1bfedd8be1 Merge branch 'allpatch'
# Conflicts:
#	config.def.h
2020-06-25 15:53:33 +02:00
894dc6fb87 Merge branch 'baseconf' 2020-06-25 15:52:30 +02:00
06e45c2129 added back firefox rule, but removed tags mask 2020-06-25 15:50:38 +02:00
356c806404 Merge branch 'center' into allpatch 2020-06-25 15:19:08 +02:00
f942d4d2ea applied center patch 2020-06-25 14:35:40 +02:00
2 changed files with 17 additions and 4 deletions

View File

@ -34,8 +34,12 @@ static const Rule rules[] = {
* WM_CLASS(STRING) = instance, class
* WM_NAME(STRING) = title
*/
/* class instance title tags mask isfloating monitor */
{ "Gimp", NULL, NULL, 0, 1, -1 },
/* class instance title tags mask iscentered isfloating monitor */
{ "Gimp", NULL, NULL, 0, 0, 1, -1 },
{ "Firefox", NULL, NULL, 0, 1, 0, -1 },
{ "firefox", NULL, NULL, 0, 1, 0, -1 },
{ "St", NULL, NULL, 0, 1, 0, -1 },
{ "Gcr-prompt", NULL, NULL, 0, 1, 0, -1 },
};
/* layout(s) */

13
dwm.c
View File

@ -94,7 +94,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;
int isfixed, iscentered, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
Client *next;
Client *snext;
Monitor *mon;
@ -141,6 +141,7 @@ typedef struct {
const char *instance;
const char *title;
unsigned int tags;
int iscentered;
int isfloating;
int monitor;
} Rule;
@ -308,6 +309,7 @@ applyrules(Client *c)
XClassHint ch = { NULL, NULL };
/* rule matching */
c->iscentered = 0;
c->isfloating = 0;
c->tags = 0;
XGetClassHint(dpy, c->win, &ch);
@ -320,6 +322,7 @@ applyrules(Client *c)
&& (!r->class || strstr(class, r->class))
&& (!r->instance || strstr(instance, r->instance)))
{
c->iscentered = r->iscentered;
c->isfloating = r->isfloating;
c->tags |= r->tags;
for (m = mons; m && m->num != r->monitor; m = m->next);
@ -1134,6 +1137,10 @@ manage(Window w, XWindowAttributes *wa)
updatewindowtype(c);
updatesizehints(c);
updatewmhints(c);
if (c->iscentered) {
c->x = c->mon->mx + (c->mon->mw - WIDTH(c)) / 2;
c->y = c->mon->my + (c->mon->mh - HEIGHT(c)) / 2;
}
XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
grabbuttons(c, 0);
if (!c->isfloating)
@ -2155,8 +2162,10 @@ updatewindowtype(Client *c)
if (state == netatom[NetWMFullscreen])
setfullscreen(c, 1);
if (wtype == netatom[NetWMWindowTypeDialog])
if (wtype == netatom[NetWMWindowTypeDialog]) {
c->iscentered = 1;
c->isfloating = 1;
}
}
void