Reverse the cursor on selection.
This commit is contained in:
		
							
								
								
									
										3
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								st.c
									
									
									
									
									
								
							| @@ -3828,6 +3828,7 @@ xdrawcursor(void) | |||||||
| 	static int oldx = 0, oldy = 0; | 	static int oldx = 0, oldy = 0; | ||||||
| 	int curx; | 	int curx; | ||||||
| 	Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}; | 	Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}; | ||||||
|  | 	int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); | ||||||
|  |  | ||||||
| 	LIMIT(oldx, 0, term.col-1); | 	LIMIT(oldx, 0, term.col-1); | ||||||
| 	LIMIT(oldy, 0, term.row-1); | 	LIMIT(oldy, 0, term.row-1); | ||||||
| @@ -3841,6 +3842,8 @@ xdrawcursor(void) | |||||||
| 		curx--; | 		curx--; | ||||||
|  |  | ||||||
| 	g.u = term.line[term.c.y][term.c.x].u; | 	g.u = term.line[term.c.y][term.c.x].u; | ||||||
|  | 	if (ena_sel && selected(term.c.x, term.c.y)) | ||||||
|  | 		g.mode ^= ATTR_REVERSE; | ||||||
|  |  | ||||||
| 	/* remove the old cursor */ | 	/* remove the old cursor */ | ||||||
| 	xdrawglyph(term.line[oldy][oldx], oldx, oldy); | 	xdrawglyph(term.line[oldy][oldx], oldx, oldy); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user