st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit a8314643b1aeaa2187dad71dc5748aaac1760c1b
parent a09138afa57adb4b76dba8ca72dc7ee2642a5c8d
Author: Devin J. Pohly <djpohly@gmail.com>
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 <djpohly@gmail.com>

Diffstat:
Mst.c | 36------------------------------------
Mst.h | 9+--------
Mwin.h | 1-
Mx.c | 45++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 45 insertions(+), 46 deletions(-)
diff --git a/st.c b/st.c
@@ -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);
@@ -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;
@@ -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
@@ -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;
@@ -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);
@@ -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
@@ -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
@@ -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 *);
@@ -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 *);
@@ -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,
@@ -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)
 {
@@ -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);