fixed usage of sx, sy, sw, sh
This commit is contained in:
parent
e408ca97d8
commit
9cde6570cc
27
dwm.c
27
dwm.c
@ -124,7 +124,7 @@ struct Monitor {
|
|||||||
int screen_number;
|
int screen_number;
|
||||||
float mfact;
|
float mfact;
|
||||||
int by, btx; /* bar geometry */
|
int by, btx; /* bar geometry */
|
||||||
int mx, my, mw, mh; /* screen size */
|
int mx, my, mw, mh; /* screen size */
|
||||||
int wx, wy, ww, wh; /* window area */
|
int wx, wy, ww, wh; /* window area */
|
||||||
unsigned int seltags;
|
unsigned int seltags;
|
||||||
unsigned int sellt;
|
unsigned int sellt;
|
||||||
@ -239,7 +239,7 @@ static void tagmon(const Arg *arg);
|
|||||||
/* variables */
|
/* variables */
|
||||||
static char stext[256];
|
static char stext[256];
|
||||||
static int screen;
|
static int screen;
|
||||||
static int sx, sy, sw, sh; /* X display screen geometry x, y, width, height */
|
static int sw, sh; /* X display screen geometry x, y, width, height */
|
||||||
static int bh, blw = 0; /* bar geometry */
|
static int bh, blw = 0; /* bar geometry */
|
||||||
static int (*xerrorxlib)(Display *, XErrorEvent *);
|
static int (*xerrorxlib)(Display *, XErrorEvent *);
|
||||||
static unsigned int numlockmask = 0;
|
static unsigned int numlockmask = 0;
|
||||||
@ -302,19 +302,20 @@ applyrules(Client *c) {
|
|||||||
Bool
|
Bool
|
||||||
applysizehints(Client *c, int *x, int *y, int *w, int *h) {
|
applysizehints(Client *c, int *x, int *y, int *w, int *h) {
|
||||||
Bool baseismin;
|
Bool baseismin;
|
||||||
|
Monitor *m = c->mon;
|
||||||
|
|
||||||
/* set minimum possible */
|
/* set minimum possible */
|
||||||
*w = MAX(1, *w);
|
*w = MAX(1, *w);
|
||||||
*h = MAX(1, *h);
|
*h = MAX(1, *h);
|
||||||
|
|
||||||
if(*x > sx + sw)
|
if(*x > m->mx + m->mw)
|
||||||
*x = sw - WIDTH(c);
|
*x = m->mw - WIDTH(c);
|
||||||
if(*y > sy + sh)
|
if(*y > m->my + m->mh)
|
||||||
*y = sh - HEIGHT(c);
|
*y = m->mh - HEIGHT(c);
|
||||||
if(*x + *w + 2 * c->bw < sx)
|
if(*x + *w + 2 * c->bw < m->mx)
|
||||||
*x = sx;
|
*x = m->mx;
|
||||||
if(*y + *h + 2 * c->bw < sy)
|
if(*y + *h + 2 * c->bw < m->my)
|
||||||
*y = sy;
|
*y = m->my;
|
||||||
if(*h < bh)
|
if(*h < bh)
|
||||||
*h = bh;
|
*h = bh;
|
||||||
if(*w < bh)
|
if(*w < bh)
|
||||||
@ -1429,8 +1430,6 @@ setup(void) {
|
|||||||
screen = DefaultScreen(dpy);
|
screen = DefaultScreen(dpy);
|
||||||
root = RootWindow(dpy, screen);
|
root = RootWindow(dpy, screen);
|
||||||
initfont(font);
|
initfont(font);
|
||||||
sx = 0;
|
|
||||||
sy = 0;
|
|
||||||
sw = DisplayWidth(dpy, screen);
|
sw = DisplayWidth(dpy, screen);
|
||||||
sh = DisplayHeight(dpy, screen);
|
sh = DisplayHeight(dpy, screen);
|
||||||
bh = dc.h = dc.font.height + 2;
|
bh = dc.h = dc.font.height + 2;
|
||||||
@ -1735,8 +1734,8 @@ updategeom(void) {
|
|||||||
/* default monitor setup */
|
/* default monitor setup */
|
||||||
{
|
{
|
||||||
m->screen_number = 0;
|
m->screen_number = 0;
|
||||||
m->wx = sx;
|
m->wx = 0;
|
||||||
m->my = m->wy = sy;
|
m->my = m->wy = 0;
|
||||||
m->ww = sw;
|
m->ww = sw;
|
||||||
m->mh = m->wh = sh;
|
m->mh = m->wh = sh;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user