tMove window-manipulating functions into x.c - st - [fork] customized build of … | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a8314643b1aeaa2187dad71dc5748aaac1760c1b | |
parent a09138afa57adb4b76dba8ca72dc7ee2642a5c8d | |
Author: Devin J. Pohly <[email protected]> | |
Date: Tue, 10 Oct 2017 12:46:53 -0500 | |
Move window-manipulating functions into x.c | |
xresize is now internal to x.c | |
Signed-off-by: Devin J. Pohly <[email protected]> | |
Diffstat: | |
M st.c | 36 -----------------------------… | |
M st.h | 9 +-------- | |
M win.h | 1 - | |
M x.c | 45 +++++++++++++++++++++++++++++… | |
4 files changed, 45 insertions(+), 46 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -165,7 +165,6 @@ static void tnewline(int); | |
static void tputtab(int); | |
static void tputc(Rune); | |
static void treset(void); | |
-static void tresize(int, int); | |
static void tscrollup(int, int); | |
static void tscrolldown(int, int); | |
static void tsetattr(int *, int); | |
t@@ -420,24 +419,6 @@ selinit(void) | |
} | |
int | |
-x2col(int x) | |
-{ | |
- x -= borderpx; | |
- x /= win.cw; | |
- | |
- return LIMIT(x, 0, term.col-1); | |
-} | |
- | |
-int | |
-y2row(int y) | |
-{ | |
- y -= borderpx; | |
- y /= win.ch; | |
- | |
- return LIMIT(y, 0, term.row-1); | |
-} | |
- | |
-int | |
tlinelen(int y) | |
{ | |
int i = term.col; | |
t@@ -2620,20 +2601,3 @@ kmap(KeySym k, uint state) | |
return NULL; | |
} | |
- | |
-void | |
-cresize(int width, int height) | |
-{ | |
- int col, row; | |
- | |
- if (width != 0) | |
- win.w = width; | |
- if (height != 0) | |
- win.h = height; | |
- | |
- col = (win.w - 2 * borderpx) / win.cw; | |
- row = (win.h - 2 * borderpx) / win.ch; | |
- | |
- tresize(col, row); | |
- xresize(col, row); | |
-} | |
diff --git a/st.h b/st.h | |
t@@ -80,11 +80,6 @@ enum selection_snap { | |
SNAP_LINE = 2 | |
}; | |
-enum window_state { | |
- WIN_VISIBLE = 1, | |
- WIN_FOCUSED = 2 | |
-}; | |
- | |
typedef unsigned char uchar; | |
typedef unsigned int uint; | |
typedef unsigned long ulong; | |
t@@ -186,6 +181,7 @@ void redraw(void); | |
int tattrset(int); | |
void tnew(int, int); | |
+void tresize(int, int); | |
void tsetdirt(int, int); | |
void tsetdirtattr(int); | |
int match(uint, uint); | |
t@@ -198,15 +194,12 @@ void ttywrite(const char *, size_t); | |
void resettitle(void); | |
char *kmap(KeySym, uint); | |
-void cresize(int, int); | |
void selclear(void); | |
void selinit(void); | |
void selnormalize(void); | |
int selected(int, int); | |
char *getsel(void); | |
-int x2col(int); | |
-int y2row(int); | |
size_t utf8decode(char *, Rune *, size_t); | |
size_t utf8encode(Rune, char *); | |
diff --git a/win.h b/win.h | |
t@@ -16,7 +16,6 @@ void xloadcols(void); | |
int xsetcolorname(int, const char *); | |
void xsettitle(char *); | |
void xsetpointermotion(int); | |
-void xresize(int, int); | |
void xselpaste(void); | |
void xsetsel(char *, Time); | |
void zoom(const Arg *); | |
diff --git a/x.c b/x.c | |
t@@ -88,12 +88,16 @@ static void xclear(int, int, int, int); | |
static void xdrawcursor(void); | |
static int xgeommasktogravity(int); | |
static void xinit(void); | |
+static void cresize(int, int); | |
+static void xresize(int, int); | |
static int xloadfont(Font *, FcPattern *); | |
static void xloadfonts(char *, double); | |
static void xunloadfont(Font *); | |
static void xunloadfonts(void); | |
static void xsetenv(void); | |
static void xseturgency(int); | |
+static int x2col(int); | |
+static int y2row(int); | |
static void expose(XEvent *); | |
static void visibility(XEvent *); | |
t@@ -109,7 +113,6 @@ static void propnotify(XEvent *); | |
static void selnotify(XEvent *); | |
static void selclear_(XEvent *); | |
static void selrequest(XEvent *); | |
- | |
static void selcopy(Time); | |
static void getbuttoninfo(XEvent *); | |
static void mousereport(XEvent *); | |
t@@ -148,6 +151,11 @@ static DC dc; | |
static XWindow xw; | |
static XSelection xsel; | |
+enum window_state { | |
+ WIN_VISIBLE = 1, | |
+ WIN_FOCUSED = 2 | |
+}; | |
+ | |
/* Font Ring Cache */ | |
enum { | |
FRC_NORMAL, | |
t@@ -200,6 +208,24 @@ zoomreset(const Arg *arg) | |
} | |
} | |
+int | |
+x2col(int x) | |
+{ | |
+ x -= borderpx; | |
+ x /= win.cw; | |
+ | |
+ return LIMIT(x, 0, term.col-1); | |
+} | |
+ | |
+int | |
+y2row(int y) | |
+{ | |
+ y -= borderpx; | |
+ y /= win.ch; | |
+ | |
+ return LIMIT(y, 0, term.row-1); | |
+} | |
+ | |
void | |
getbuttoninfo(XEvent *e) | |
{ | |
t@@ -597,6 +623,23 @@ bmotion(XEvent *e) | |
} | |
void | |
+cresize(int width, int height) | |
+{ | |
+ int col, row; | |
+ | |
+ if (width != 0) | |
+ win.w = width; | |
+ if (height != 0) | |
+ win.h = height; | |
+ | |
+ col = (win.w - 2 * borderpx) / win.cw; | |
+ row = (win.h - 2 * borderpx) / win.ch; | |
+ | |
+ tresize(col, row); | |
+ xresize(col, row); | |
+} | |
+ | |
+void | |
xresize(int col, int row) | |
{ | |
win.tw = MAX(1, col * win.cw); |