Merge pull request #208 from trissim/wal-osc
Pywal live reload with OSC patch and transparency fix
This commit is contained in:
		
							
								
								
									
										4
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								config.h
									
									
									
									
									
								
							@@ -143,8 +143,8 @@ static const char *colorname[] = {
 | 
			
		||||
 */
 | 
			
		||||
unsigned int defaultfg = 259;
 | 
			
		||||
unsigned int defaultbg = 258;
 | 
			
		||||
static unsigned int defaultcs = 256;
 | 
			
		||||
static unsigned int defaultrcs = 257;
 | 
			
		||||
unsigned int defaultcs = 256;
 | 
			
		||||
unsigned int defaultrcs = 257;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Default shape of cursor
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								st.c
									
									
									
									
									
								
							@@ -1943,12 +1943,23 @@ strhandle(void)
 | 
			
		||||
			}
 | 
			
		||||
			return;
 | 
			
		||||
		case 4: /* color set */
 | 
			
		||||
			if (narg < 3)
 | 
			
		||||
		case 10: /* foreground set */
 | 
			
		||||
		case 11: /* background set */
 | 
			
		||||
		case 12: /* cursor color */
 | 
			
		||||
			if ((par == 4 && narg < 3) || narg < 2)
 | 
			
		||||
				break;
 | 
			
		||||
			p = strescseq.args[2];
 | 
			
		||||
			p = strescseq.args[((par == 4) ? 2 : 1)];
 | 
			
		||||
			/* FALLTHROUGH */
 | 
			
		||||
		case 104: /* color reset, here p = NULL */
 | 
			
		||||
			j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
 | 
			
		||||
			if (par == 10)
 | 
			
		||||
				j = defaultfg;
 | 
			
		||||
			else if (par == 11)
 | 
			
		||||
				j = defaultbg;
 | 
			
		||||
			else if (par == 12)
 | 
			
		||||
				j = defaultcs;
 | 
			
		||||
			else
 | 
			
		||||
				j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
 | 
			
		||||
 | 
			
		||||
			if (xsetcolorname(j, p)) {
 | 
			
		||||
				if (par == 104 && narg <= 1)
 | 
			
		||||
					return; /* color reset without parameter */
 | 
			
		||||
@@ -1959,6 +1970,8 @@ strhandle(void)
 | 
			
		||||
				 * TODO if defaultbg color is changed, borders
 | 
			
		||||
				 * are dirty
 | 
			
		||||
				 */
 | 
			
		||||
				if (j == defaultbg)
 | 
			
		||||
					xclearwin();
 | 
			
		||||
				redraw();
 | 
			
		||||
			}
 | 
			
		||||
			return;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								st.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								st.h
									
									
									
									
									
								
							@@ -140,6 +140,7 @@ extern char *termname;
 | 
			
		||||
extern unsigned int tabspaces;
 | 
			
		||||
extern unsigned int defaultfg;
 | 
			
		||||
extern unsigned int defaultbg;
 | 
			
		||||
extern unsigned int defaultcs;
 | 
			
		||||
extern const int boxdraw, boxdraw_bold, boxdraw_braille;
 | 
			
		||||
extern float alpha;
 | 
			
		||||
extern MouseKey mkeys[];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								win.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								win.h
									
									
									
									
									
								
							@@ -37,3 +37,4 @@ void xsetpointermotion(int);
 | 
			
		||||
void xsetsel(char *);
 | 
			
		||||
int xstartdraw(void);
 | 
			
		||||
void xximspot(int, int);
 | 
			
		||||
void xclearwin(void);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								x.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								x.c
									
									
									
									
									
								
							@@ -814,6 +814,8 @@ xsetcolorname(int x, const char *name)
 | 
			
		||||
 | 
			
		||||
	XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]);
 | 
			
		||||
	dc.col[x] = ncolor;
 | 
			
		||||
	if (x == defaultbg)
 | 
			
		||||
		dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * alpha);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
@@ -829,6 +831,13 @@ xclear(int x1, int y1, int x2, int y2)
 | 
			
		||||
			x1, y1, x2-x1, y2-y1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xclearwin(void)
 | 
			
		||||
{
 | 
			
		||||
	xclear(0, 0, win.w, win.h);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xhints(void)
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user