tMake win variable internal to x.c - st - [fork] customized build of st, the si… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 323d38da20c8a1d295ab1dbc0fc7ce947ef824e1 | |
parent 416dd257274fd334be082b1138338adffa3e2d5e | |
Author: Devin J. Pohly <[email protected]> | |
Date: Mon, 6 Nov 2017 17:57:45 -0600 | |
Make win variable internal to x.c | |
There was only a single reference to the `win` variable in st.c, so | |
exporting that to x.c allows us to rid ourselves of another extern. | |
Signed-off-by: Devin J. Pohly <[email protected]> | |
Diffstat: | |
M st.c | 6 +----- | |
M st.h | 1 - | |
M win.h | 1 + | |
M x.c | 11 +++++++++++ | |
4 files changed, 13 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -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; | |
t@@ -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; | |
diff --git a/st.h b/st.h | |
t@@ -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; | |
diff --git a/win.h b/win.h | |
t@@ -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); | |
diff --git a/x.c b/x.c | |
t@@ -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, | |
t@@ -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) | |
{ |