forked from mirror/dwm
some changes towards 4.9
This commit is contained in:
parent
dd9ee6d248
commit
e237b2a76f
4 changed files with 38 additions and 31 deletions
|
@ -14,24 +14,15 @@
|
|||
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||
|
||||
Rule rules[] = {
|
||||
/* class:instance:title substr tags ref isfloating */
|
||||
{ "Firefox", tags[8], False },
|
||||
{ "Gimp", NULL, True },
|
||||
{ "MPlayer", NULL, True },
|
||||
{ "Acroread", NULL, True },
|
||||
/* class instance title tags ref isfloating */
|
||||
{ NULL, NULL, "Firefox", tags[8], False },
|
||||
{ NULL, NULL, "Gimp", NULL, True },
|
||||
{ NULL, NULL, "MPlayer", NULL, True },
|
||||
{ NULL, NULL, "Acroread", NULL, True },
|
||||
};
|
||||
|
||||
/* layout(s) */
|
||||
#define RESIZEHINTS True /* False - respect size hints in tiled resizals */
|
||||
#define SNAP 32 /* snap pixel */
|
||||
|
||||
Layout layouts[] = {
|
||||
/* symbol function isfloating */
|
||||
{ "[]|", tileh, False }, /* first entry is default */
|
||||
{ "[]=", tilev, False },
|
||||
{ "><>", floating, True },
|
||||
{ "[M]", monocle, True },
|
||||
};
|
||||
/* geometry function */
|
||||
void (*setgeoms)(void) = setdefgeoms;
|
||||
|
||||
void
|
||||
setanselmgeoms(void) {
|
||||
|
@ -83,12 +74,24 @@ anselmgeoms(const char *arg) {
|
|||
|
||||
void
|
||||
defgeoms(const char *arg) {
|
||||
setgeoms = setdefaultgeoms;
|
||||
setgeoms = setdefgeoms;
|
||||
setgeoms();
|
||||
updatebarpos();
|
||||
setlayout("[]=");
|
||||
}
|
||||
|
||||
/* layout(s) */
|
||||
#define RESIZEHINTS True /* False - respect size hints in tiled resizals */
|
||||
#define SNAP 32 /* snap pixel */
|
||||
|
||||
Layout layouts[] = {
|
||||
/* symbol function isfloating */
|
||||
{ "[]|", tileh, False }, /* first entry is default */
|
||||
{ "[]=", tilev, False },
|
||||
{ "><>", floating, True },
|
||||
{ "[M]", monocle, True },
|
||||
};
|
||||
|
||||
/* key definitions */
|
||||
#define MODKEY Mod1Mask
|
||||
Key keys[] = {
|
||||
|
|
13
config.def.h
13
config.def.h
|
@ -14,13 +14,16 @@
|
|||
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||
|
||||
Rule rules[] = {
|
||||
/* class:instance:title substr tags ref isfloating */
|
||||
{ "Firefox", tags[8], False },
|
||||
{ "Gimp", NULL, True },
|
||||
{ "MPlayer", NULL, True },
|
||||
{ "Acroread", NULL, True },
|
||||
/* class instance title tags ref isfloating */
|
||||
{ NULL, NULL, "Firefox", tags[8], False },
|
||||
{ NULL, NULL, "Gimp", NULL, True },
|
||||
{ NULL, NULL, "MPlayer", NULL, True },
|
||||
{ NULL, NULL, "Acroread", NULL, True },
|
||||
};
|
||||
|
||||
/* geometry function */
|
||||
void (*setgeoms)(void) = setdefgeoms;
|
||||
|
||||
/* layout(s) */
|
||||
#define RESIZEHINTS True /* False - respect size hints in tiled resizals */
|
||||
#define SNAP 32 /* snap pixel */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# dwm version
|
||||
VERSION = 4.8
|
||||
VERSION = 4.9
|
||||
|
||||
# Customize below to fit your system
|
||||
|
||||
|
|
15
dwm.c
15
dwm.c
|
@ -99,7 +99,9 @@ typedef struct {
|
|||
} Layout;
|
||||
|
||||
typedef struct {
|
||||
const char *prop;
|
||||
const char *class;
|
||||
const char *instance;
|
||||
const char *title;
|
||||
const char *tag;
|
||||
Bool isfloating;
|
||||
} Rule;
|
||||
|
@ -161,7 +163,7 @@ void restack(void);
|
|||
void run(void);
|
||||
void scan(void);
|
||||
void setclientstate(Client *c, long state);
|
||||
void setdefaultgeoms(void);
|
||||
void setdefgeoms(void);
|
||||
void setlayout(const char *arg);
|
||||
void setup(void);
|
||||
void spawn(const char *arg);
|
||||
|
@ -224,7 +226,6 @@ Display *dpy;
|
|||
DC dc = {0};
|
||||
Layout *lt = NULL;
|
||||
Window root, barwin;
|
||||
void (*setgeoms)(void) = setdefaultgeoms;
|
||||
|
||||
/* configuration, allows nested code to access above variables */
|
||||
#include "config.h"
|
||||
|
@ -244,9 +245,9 @@ applyrules(Client *c) {
|
|||
XGetClassHint(dpy, c->win, &ch);
|
||||
for(i = 0; i < LENGTH(rules); i++) {
|
||||
r = &rules[i];
|
||||
if(strstr(c->name, r->prop)
|
||||
|| (ch.res_class && strstr(ch.res_class, r->prop))
|
||||
|| (ch.res_name && strstr(ch.res_name, r->prop)))
|
||||
if(strstr(c->name, r->title)
|
||||
|| (ch.res_class && r->class && strstr(ch.res_class, r->class))
|
||||
|| (ch.res_name && r->instance && strstr(ch.res_name, r->instance)))
|
||||
{
|
||||
c->isfloating = r->isfloating;
|
||||
if(r->tag) {
|
||||
|
@ -1390,7 +1391,7 @@ setclientstate(Client *c, long state) {
|
|||
}
|
||||
|
||||
void
|
||||
setdefaultgeoms(void) {
|
||||
setdefgeoms(void) {
|
||||
|
||||
/* screen dimensions */
|
||||
sx = 0;
|
||||
|
|
Loading…
Reference in a new issue