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