Introduction
Introduction Statistics Contact Development Disclaimer Help
tFixes from Axel Belinfante. - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit 7934b1c6d48cdd800ea680d8302b2bbce6192fc7
parent 3a9dccd76ee6916d5586a3fba49cb8e0edb3ca5d
Author: rsc <devnull@localhost>
Date: Mon, 5 Apr 2004 20:58:16 +0000
Fixes from Axel Belinfante.
Fix 9term New border flash too.
Diffstat:
M src/cmd/rio/color.c | 5 ++++-
M src/cmd/rio/fns.h | 2 +-
M src/cmd/rio/grab.c | 18 ++++++++++--------
M src/cmd/rio/main.c | 53 +++++++++++++++--------------…
M src/cmd/rio/manage.c | 4 ++++
5 files changed, 45 insertions(+), 37 deletions(-)
---
diff --git a/src/cmd/rio/color.c b/src/cmd/rio/color.c
t@@ -8,7 +8,7 @@
#include "fns.h"
unsigned long
-colorpixel(Display *dpy, int depth, unsigned long rgb, unsigned long def)
+colorpixel(Display *dpy, ScreenInfo *s, int depth, unsigned long rgb, unsigned…
{
int r, g, b;
t@@ -36,6 +36,9 @@ colorpixel(Display *dpy, int depth, unsigned long rgb, unsig…
return (r<<11) | (g<<5) | b;
case 24:
case 32:
+ /* try to find byte order */
+ if (s->vis->red_mask & 0xff)
+ return (r) | (g<<8) | (b<<16); /* OK on Sun */
return rgb;
}
}
diff --git a/src/cmd/rio/fns.h b/src/cmd/rio/fns.h
t@@ -10,7 +10,7 @@
/* color.c */
-unsigned long colorpixel(Display*, int, unsigned long, unsigned long);
+unsigned long colorpixel(Display*, ScreenInfo*, int, unsigned long, unsigned l…
/* main.c */
void usage();
diff --git a/src/cmd/rio/grab.c b/src/cmd/rio/grab.c
t@@ -420,8 +420,10 @@ pullcalc(Client *c, int x, int y, BorderOrient bl, int in…
c->y = py;
/* compensate position for size changed due to size hints */
- c->x -= spx*(c->dx - rdx);
- c->y -= spy*(c->dy - rdy);
+ if(spx)
+ c->x -= c->dx - rdx;
+ if(spy)
+ c->y -= c->dy - rdy;
return init;
}
t@@ -441,7 +443,7 @@ drawbound(Client *c, int drawing)
int x, y, dx, dy;
ScreenInfo *s;
- if (debug) fprintf(stderr, "drawbound %dx%d +%d+%d\n", c->dx, c->dy, c…
+ if (debug) fprintf(stderr, "drawbound %d %dx%d+%d+%d\n", drawing, c->d…
s = c->screen;
x = c->x;
t@@ -523,12 +525,12 @@ sweepdrag(Client *c, int but, XButtonEvent *e0, BorderOr…
c->y -= BORDER;
c->dx += 2*BORDER;
c->dy += 2*BORDER;
- if (bl || e0 == 0)
+ if (bl != BorderUnknown || e0 == 0)
getmouse(&cx, &cy, c->screen);
else
getmouse(&c->x, &c->y, c->screen);
XGrabServer(dpy);
- if (bl) {
+ if (bl != BorderUnknown) {
notmoved = recalc(c, cx, cy, bl, notmoved);
}
drawbound(c, 1);
t@@ -545,7 +547,7 @@ sweepdrag(Client *c, int but, XButtonEvent *e0, BorderOrie…
XGrabServer(dpy);
idle = 0;
}
- if(e0 || bl)
+ if(e0 || bl != BorderUnknown)
notmoved = recalc(c, rx, ry, bl, notmo…
else
notmoved = recalc(c, rx-cx, ry-cy, bl,…
t@@ -615,7 +617,7 @@ sweep(Client *c, int but, XButtonEvent *ignored)
return 0;
}
XChangeActivePointerGrab(dpy, ButtonMask, s->boxcurs, e->time);
- return sweepdrag(c, but, e, 0, sweepcalc);
+ return sweepdrag(c, but, e, BorderUnknown, sweepcalc);
}
int
t@@ -650,7 +652,7 @@ drag(Client *c, int but)
graberror("drag", status); /* */
return 0;
}
- return sweepdrag(c, but, 0, 0, dragcalc);
+ return sweepdrag(c, but, 0, BorderUnknown, dragcalc);
}
void
diff --git a/src/cmd/rio/main.c b/src/cmd/rio/main.c
t@@ -284,11 +284,11 @@ initscreen(ScreenInfo *s, int i, int background)
s->black = BlackPixel(dpy, i);
s->white = WhitePixel(dpy, i);
- s->activeholdborder = colorpixel(dpy, s->depth, 0x000099, s->white);
- s->inactiveholdborder = colorpixel(dpy, s->depth, 0x005DBB, s->black);
- s->activeborder = colorpixel(dpy, s->depth ,0x55AAAA, s->black);
- s->inactiveborder = colorpixel(dpy, s->depth, 0x9EEEEE, s->white);
- s->red = colorpixel(dpy, s->depth, 0xDD0000, s->white);
+ s->activeholdborder = colorpixel(dpy, s, s->depth, 0x000099, s->white);
+ s->inactiveholdborder = colorpixel(dpy, s, s->depth, 0x005DBB, s->blac…
+ s->activeborder = colorpixel(dpy, s, s->depth, 0x55AAAA, s->black);
+ s->inactiveborder = colorpixel(dpy, s, s->depth, 0x9EEEEE, s->white);
+ s->red = colorpixel(dpy, s, s->depth, 0xDD0000, s->white);
s->width = WidthOfScreen(ScreenOfDisplay(dpy, i));
s->height = HeightOfScreen(ScreenOfDisplay(dpy, i));
s->bkup[0] = XCreatePixmap(dpy, s->root, 2*s->width, BORDER, DefaultDe…
t@@ -313,23 +313,9 @@ initscreen(ScreenInfo *s, int i, int background)
gv.foreground = s->red;
s->gcred = XCreateGC(dpy, s->root, gmask, &gv);
- gv.foreground = colorpixel(dpy, s->depth, 0xEEEEEE, s->black);
+ gv.foreground = colorpixel(dpy, s, s->depth, 0xEEEEEE, s->black);
s->gcsweep = XCreateGC(dpy, s->root, gmask, &gv);
- gv.foreground = colorpixel(dpy, s->depth, 0xE9FFE9, s->white);
- s->gcmenubg = XCreateGC(dpy, s->root, gmask, &gv);
-
- gv.foreground = colorpixel(dpy, s->depth, 0x448844, s->black);
- s->gcmenubgs = XCreateGC(dpy, s->root, gmask, &gv);
-
- gv.foreground = s->black;
- gv.background = colorpixel(dpy, s->depth, 0xE9FFE9, s->white);
- s->gcmenufg = XCreateGC(dpy, s->root, gmask, &gv);
-
- gv.foreground = colorpixel(dpy, s->depth, 0xE9FFE9, s->white);
- gv.background = colorpixel(dpy, s->depth, 0x448844, s->black);
- s->gcmenufgs = XCreateGC(dpy, s->root, gmask, &gv);
-
initcurs(s);
attr.cursor = s->arrow;
t@@ -346,28 +332,41 @@ initscreen(ScreenInfo *s, int i, int background)
} else
system("xsetroot -solid grey30");
- attrs.border_pixel = colorpixel(dpy, s->depth, 0x88CC88, s->black);
- attrs.background_pixel = colorpixel(dpy, s->depth, 0xE9FFE9, s->white…
- attrs.save_under = True; /* Does this help us in anyway? */
+ attrs.border_pixel = colorpixel(dpy, s, s->depth, 0x88CC88, s->black);
+ attrs.background_pixel = colorpixel(dpy, s, s->depth, 0xE9FFE9, s->wh…
attrs.colormap = s->def_cmap;
s->menuwin = XCreateWindow(dpy, s->root, 0, 0, 1, 1, 2,
s->depth,
CopyFromParent,
s->vis,
- CWBackPixel | CWBorderPixel | …
+ CWBackPixel | CWBorderPixel | …
&attrs
);
+
+ gv.foreground = colorpixel(dpy, s, s->depth, 0xE9FFE9, s->white);
+ s->gcmenubg = XCreateGC(dpy, s->menuwin, gmask, &gv);
+
+ gv.foreground = colorpixel(dpy, s, s->depth, 0x448844, s->black);
+ s->gcmenubgs = XCreateGC(dpy, s->menuwin, gmask, &gv);
+
+ gv.foreground = s->black;
+ gv.background = colorpixel(dpy, s, s->depth, 0xE9FFE9, s->white);
+ s->gcmenufg = XCreateGC(dpy, s->menuwin, gmask, &gv);
+
+ gv.foreground = colorpixel(dpy, s, s->depth, 0xE9FFE9, s->white);
+ gv.background = colorpixel(dpy, s, s->depth, 0x448844, s->black);
+ s->gcmenufgs = XCreateGC(dpy, s->menuwin, gmask, &gv);
+
attrs.border_pixel = s->red;
- attrs.background_pixel = colorpixel(dpy, s->depth, 0xEEEEEE, s->black…
- attrs.save_under = True; /* Does this help us in anyway? */
+ attrs.background_pixel = colorpixel(dpy, s, s->depth, 0xEEEEEE, s->bl…
attrs.colormap = s->def_cmap;
s->sweepwin = XCreateWindow(dpy, s->root, 0, 0, 1, 1, 4,
s->depth,
CopyFromParent,
s->vis,
- CWBackPixel | CWBorderPixel | …
+ CWBackPixel | CWBorderPixel | …
&attrs
);
}
diff --git a/src/cmd/rio/manage.c b/src/cmd/rio/manage.c
t@@ -32,6 +32,10 @@ manage(Client *c, int mapped)
c->is9term = 0;
if(isNew){
c->is9term = strstr(c->class, "term") || strstr(c->cla…
+ if(c->is9term){
+ c->dx = 0;
+ c->dy = 0;
+ }
isNew = 0;
}
}
You are viewing proxied material from mx1.adamsgaard.dk. 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.