fixed several other stuff, coming closer to something useful
This commit is contained in:
		
							parent
							
								
									83d23908d3
								
							
						
					
					
						commit
						896f08d7d5
					
				
							
								
								
									
										2
									
								
								bar.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								bar.c
									
									
									
									
									
								
							| @ -15,7 +15,7 @@ draw_bar() | ||||
| 	if(stack) { | ||||
| 		brush.rect.width = textwidth(&brush.font, stack->name) + labelheight(&brush.font); | ||||
| 		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; | ||||
| 	} | ||||
|  | ||||
							
								
								
									
										29
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								client.c
									
									
									
									
									
								
							| @ -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); | ||||
| @ -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, barrect.height); | ||||
| 	e.type = ConfigureNotify; | ||||
| 	e.event = c->win; | ||||
| 	e.window = c->win; | ||||
| @ -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); | ||||
| @ -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); | ||||
| } | ||||
|  | ||||
							
								
								
									
										2
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								config.h
									
									
									
									
									
								
							| @ -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 */ | ||||
|  | ||||
							
								
								
									
										4
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								event.c
									
									
									
									
									
								
							| @ -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); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user