Move window-manipulating functions into x.c
[st.git] / st.c
diff --git a/st.c b/st.c
index 6338510..75c191d 100644 (file)
--- a/st.c
+++ b/st.c
 #include <X11/cursorfont.h>
 #include <X11/Xft/Xft.h>
 
-#define Glyph Glyph_
-#define Font Font_
-
-#include "win.h"
 #include "st.h"
+#include "win.h"
 
 #if   defined(__linux)
  #include <pty.h>
@@ -128,9 +125,6 @@ static void clipcopy(const Arg *);
 static void clippaste(const Arg *);
 static void numlock(const Arg *);
 static void selpaste(const Arg *);
-static void zoom(const Arg *);
-static void zoomabs(const Arg *);
-static void zoomreset(const Arg *);
 static void printsel(const Arg *);
 static void printscreen(const Arg *) ;
 static void iso14755(const Arg *);
@@ -171,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);
@@ -199,7 +192,6 @@ static size_t utf8validate(Rune *, size_t);
 static char *base64dec(const char *);
 
 static ssize_t xwrite(int, const char *, size_t);
-static void *xrealloc(void *, size_t);
 
 /* Globals */
 TermWindow win;
@@ -221,10 +213,6 @@ static CSIEscape csiescseq;
 static STREscape strescseq;
 static int iofd = 1;
 
-char *usedfont = NULL;
-double usedfontsize = 0;
-double defaultfontsize = 0;
-
 static uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0};
 static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8};
 static Rune utfmin[UTF_SIZ + 1] = {       0,    0,  0x80,  0x800,  0x10000};
@@ -430,24 +418,6 @@ selinit(void)
        sel.clipboard = NULL;
 }
 
-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)
 {
@@ -2179,10 +2149,7 @@ tcontrolcode(uchar ascii)
                        /* backwards compatibility to xterm */
                        strhandle();
                } else {
-                       if (!(win.state & WIN_FOCUSED))
-                               xseturgency(1);
-                       if (bellvolume)
-                               xbell(bellvolume);
+                       xbell();
                }
                break;
        case '\033': /* ESC */
@@ -2522,9 +2489,6 @@ tresize(int col, int row)
                free(term.alt[i]);
        }
 
-       /* resize to new width */
-       term.specbuf = xrealloc(term.specbuf, col * sizeof(GlyphFontSpec));
-
        /* resize to new height */
        term.line = xrealloc(term.line, row * sizeof(Line));
        term.alt  = xrealloc(term.alt,  row * sizeof(Line));
@@ -2573,37 +2537,6 @@ tresize(int col, int row)
        term.c = c;
 }
 
-void
-zoom(const Arg *arg)
-{
-       Arg larg;
-
-       larg.f = usedfontsize + arg->f;
-       zoomabs(&larg);
-}
-
-void
-zoomabs(const Arg *arg)
-{
-       xunloadfonts();
-       xloadfonts(usedfont, arg->f);
-       cresize(0, 0);
-       ttyresize();
-       redraw();
-       xhints();
-}
-
-void
-zoomreset(const Arg *arg)
-{
-       Arg larg;
-
-       if (defaultfontsize > 0) {
-               larg.f = defaultfontsize;
-               zoomabs(&larg);
-       }
-}
-
 void
 resettitle(void)
 {
@@ -2668,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);
-}