we don't need to set the font all the time
This commit is contained in:
		
							
								
								
									
										12
									
								
								draw.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								draw.c
									
									
									
									
									
								
							@@ -95,7 +95,6 @@ drawtext(const char *text, unsigned long col[ColLast]) {
 | 
				
			|||||||
	int x, y, w, h;
 | 
						int x, y, w, h;
 | 
				
			||||||
	static char buf[256];
 | 
						static char buf[256];
 | 
				
			||||||
	unsigned int len, olen;
 | 
						unsigned int len, olen;
 | 
				
			||||||
	XGCValues gcv;
 | 
					 | 
				
			||||||
	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
 | 
						XRectangle r = { dc.x, dc.y, dc.w, dc.h };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	XSetForeground(dpy, dc.gc, col[ColBG]);
 | 
						XSetForeground(dpy, dc.gc, col[ColBG]);
 | 
				
			||||||
@@ -124,16 +123,11 @@ drawtext(const char *text, unsigned long col[ColLast]) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	if(w > dc.w)
 | 
						if(w > dc.w)
 | 
				
			||||||
		return; /* too long */
 | 
							return; /* too long */
 | 
				
			||||||
	gcv.foreground = col[ColFG];
 | 
						XSetForeground(dpy, dc.gc, col[ColFG]);
 | 
				
			||||||
	if(dc.font.set) {
 | 
						if(dc.font.set)
 | 
				
			||||||
		XChangeGC(dpy, dc.gc, GCForeground, &gcv);
 | 
					 | 
				
			||||||
		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
 | 
							XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
 | 
				
			||||||
	}
 | 
						else
 | 
				
			||||||
	else {
 | 
					 | 
				
			||||||
		gcv.font = dc.font.xfont->fid;
 | 
					 | 
				
			||||||
		XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
 | 
					 | 
				
			||||||
		XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
 | 
							XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unsigned int
 | 
					unsigned int
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.c
									
									
									
									
									
								
							@@ -205,6 +205,8 @@ setup(void) {
 | 
				
			|||||||
	dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
 | 
						dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
 | 
				
			||||||
	dc.gc = XCreateGC(dpy, root, 0, 0);
 | 
						dc.gc = XCreateGC(dpy, root, 0, 0);
 | 
				
			||||||
	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
 | 
						XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
 | 
				
			||||||
 | 
						if(!dc.font.set)
 | 
				
			||||||
 | 
							XSetFont(dpy, dc.gc, dc.font.xfont->fid);
 | 
				
			||||||
	/* multihead support */
 | 
						/* multihead support */
 | 
				
			||||||
	selscreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
 | 
						selscreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user