diff options
| -rw-r--r-- | st.c | 6 | ||||
| -rw-r--r-- | st.h | 1 | ||||
| -rw-r--r-- | win.h | 1 | ||||
| -rw-r--r-- | x.c | 11 | 
4 files changed, 13 insertions, 6 deletions
@@ -170,7 +170,6 @@ static char *base64dec(const char *);  static ssize_t xwrite(int, const char *, size_t);  /* Globals */ -TermWindow win;  Term term;  Selection sel;  int cmdfd; @@ -1683,11 +1682,8 @@ csihandle(void)  	case ' ':  		switch (csiescseq.mode[1]) {  		case 'q': /* DECSCUSR -- Set Cursor Style */ -			DEFAULT(csiescseq.arg[0], 1); -			if (!BETWEEN(csiescseq.arg[0], 0, 6)) { +			if (xsetcursor(csiescseq.arg[0]))  				goto unknown; -			} -			win.cursor = csiescseq.arg[0];  			break;  		default:  			goto unknown; @@ -201,7 +201,6 @@ void *xrealloc(void *, size_t);  char *xstrdup(char *);  /* Globals */ -extern TermWindow win;  extern Term term;  extern Selection sel;  extern int cmdfd; @@ -14,5 +14,6 @@ void xhints(void);  void xloadcols(void);  int xsetcolorname(int, const char *);  void xsettitle(char *); +int xsetcursor(int);  void xsetpointermotion(int);  void xsetsel(char *, Time); @@ -187,6 +187,7 @@ static void (*handler[LASTEvent])(XEvent *) = {  static DC dc;  static XWindow xw;  static XSelection xsel; +static TermWindow win;  enum window_state {  	WIN_VISIBLE = 1, @@ -1615,6 +1616,16 @@ xsetpointermotion(int set)  	XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs);  } +int +xsetcursor(int cursor) +{ +	DEFAULT(cursor, 1); +	if (!BETWEEN(cursor, 0, 6)) +		return 1; +	win.cursor = cursor; +	return 0; +} +  void  xseturgency(int add)  {  |