Introduction
Introduction Statistics Contact Development Disclaimer Help
tfixed several other stuff, coming closer to something useful - dwm - [fork] cu…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 896f08d7d553f7def3877648c113cf03e6ca546a
parent 83d23908d3438d7f1f62533a7c8d96fc1019df55
Author: Anselm R. Garbe <[email protected]>
Date: Tue, 11 Jul 2006 23:46:39 +0200
fixed several other stuff, coming closer to something useful
Diffstat:
M bar.c | 2 +-
M client.c | 29 ++++++++++++++++-------------
M config.h | 2 +-
M event.c | 4 ++++
M wm.h | 1 +
5 files changed, 23 insertions(+), 15 deletions(-)
---
diff --git a/bar.c b/bar.c
t@@ -15,7 +15,7 @@ draw_bar()
if(stack) {
brush.rect.width = textwidth(&brush.font, stack->name) + label…
swap((void **)&brush.fg, (void **)&brush.bg);
- draw(dpy, &brush, False, stack->name);
+ draw(dpy, &brush, True, stack->name);
swap((void **)&brush.fg, (void **)&brush.bg);
brush.rect.x += brush.rect.width;
}
diff --git a/client.c b/client.c
t@@ -104,19 +104,21 @@ manage(Window w, XWindowAttributes *wa)
c = emallocz(sizeof(Client));
c->win = w;
- c->x = wa->x;
- c->y = wa->y;
- c->w = wa->width;
+ c->tx = c->x = wa->x;
+ c->ty = c->y = wa->y;
+ c->tw = c->w = wa->width;
c->h = wa->height;
+ c->th = barrect.height;
update_size(c);
XSetWindowBorderWidth(dpy, c->win, 1);
+ XSetWindowBorder(dpy, c->win, brush.border);
XSelectInput(dpy, c->win, CLIENT_MASK);
XGetTransientForHint(dpy, c->win, &c->trans);
twa.override_redirect = 1;
twa.background_pixmap = ParentRelative;
- twa.event_mask = ExposureMask;
+ twa.event_mask = SubstructureNotifyMask | ExposureMask;
- c->title = XCreateWindow(dpy, root, c->x, c->y, c->w, barrect.height,
+ c->title = XCreateWindow(dpy, root, c->tx, c->ty, c->tw, c->th,
0, DefaultDepth(dpy, screen), CopyFromParent,
DefaultVisual(dpy, screen),
CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa);
t@@ -145,7 +147,6 @@ resize(Client *c)
XConfigureEvent e;
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
- XMoveResizeWindow(dpy, c->title, c->x + c->w / 3, c->y, 2 * c->w / 3, …
e.type = ConfigureNotify;
e.event = c->win;
e.window = c->win;
t@@ -177,7 +178,6 @@ unmanage(Client *c)
XSetErrorHandler(dummy_error_handler);
XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
- XUnmapWindow(dpy, c->win);
XDestroyWindow(dpy, c->title);
for(l=&clients; *l && *l != c; l=&(*l)->next);
t@@ -210,17 +210,20 @@ getclient(Window w)
void
draw_client(Client *c)
{
- if(!c)
- return;
if(c == stack)
draw_bar();
+ c->tw = textwidth(&brush.font, c->name) + labelheight(&brush.font);
+ c->tx = c->x + c->w - c->tw + 2;
+ c->ty = c->y;
+ XMoveResizeWindow(dpy, c->title, c->tx, c->ty, c->tw, c->th);
+
brush.rect.x = brush.rect.y = 0;
- brush.rect.width = 2 * c->w / 3;
- brush.rect.height = barrect.height;
+ brush.rect.width = c->tw;
+ brush.rect.height = c->th;
draw(dpy, &brush, True, c->name);
- XCopyArea(dpy, brush.drawable, c->title, brush.gc, 0, 0,
- brush.rect.width, brush.rect.height, 0, 0);
+ XCopyArea(dpy, brush.drawable, c->title, brush.gc,
+ 0, 0, c->tw, c->th, 0, 0);
XFlush(dpy);
}
diff --git a/config.h b/config.h
t@@ -6,5 +6,5 @@
#define FONT "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
#define BGCOLOR "#000000"
#define FGCOLOR "#ffaa00"
-#define BORDERCOLOR "#000000"
+#define BORDERCOLOR "#ee8800"
#define STATUSDELAY 10 /* milliseconds */
diff --git a/event.c b/event.c
t@@ -204,6 +204,10 @@ propertynotify(XEvent *e)
}
if(ev->atom == XA_WM_NAME || ev->atom == net_atom[NetWMName]) {
update_name(c);
+ if(c == stack)
+ draw_bar();
+ else
+ draw_client(c);
}
}
}
diff --git a/wm.h b/wm.h
t@@ -25,6 +25,7 @@ struct Client {
char name[256], tag[256];
int proto;
int x, y, w, h;
+ int tx, ty, tw, th;
int basew, baseh, incw, inch, maxw, maxh, minw, minh;
long flags;
Window win;
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.