# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit d5275012b45149a2a6e94679609aacca478221ad
    parent 3518dba2a5fb57f601b74528ddeb67f173e4024b
    Author: Devin J. Pohly <djpohly@gmail.com>
    Date:   Tue, 10 Oct 2017 11:30:36 -0500

    Move zoom functions into x.c

    This makes x(un)loadfonts internal to x.c.  Needed to reorder includes
    and move a typedef to keep the compiler happy.

    Signed-off-by: Devin J. Pohly <djpohly@gmail.com>

    Diffstat:
    Mst.c | 36+-----------------------------------
    Mst.h | 1+
    Mwin.h | 7+++----
    Mx.c | 35++++++++++++++++++++++++++++++++++-

    4 files changed, 39 insertions(+), 40 deletions(-)
    diff --git a/st.c b/st.c
    @@ -31,8 +31,8 @@
     #define Glyph Glyph_
     #define Font Font_

    -#include "win.h"
     #include "st.h"
    +#include "win.h"

     #if   defined(__linux)
      #include <pty.h>
    @@ -128,9 +128,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 *);
    @@ -2574,37 +2571,6 @@ tresize(int col, int row)
     }

     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)
     {
     	xsettitle(opt_title ? opt_title : "st");
    diff --git a/st.h b/st.h
    @@ -100,6 +100,7 @@ typedef struct {
     } Glyph;

     typedef Glyph *Line;
    +typedef XftGlyphFontSpec GlyphFontSpec;

     typedef struct {
     	Glyph attr; /* current char attributes */
    diff --git a/win.h b/win.h
    @@ -5,8 +5,6 @@
     #define XK_NO_MOD     0
     #define XK_SWITCH_MOD (1<<13)

    -typedef XftGlyphFontSpec GlyphFontSpec;
    -
     void draw(void);
     void drawregion(int, int, int, int);

    @@ -16,11 +14,12 @@ void xclippaste(void);
     void xhints(void);
     void xloadcols(void);
     int xsetcolorname(int, const char *);
    -void xloadfonts(char *, double);
     void xsettitle(char *);
     void xsetpointermotion(int);
     void xseturgency(int);
    -void xunloadfonts(void);
     void xresize(int, int);
     void xselpaste(void);
     void xsetsel(char *, Time);
    +void zoom(const Arg *);
    +void zoomabs(const Arg *);
    +void zoomreset(const Arg *);
    diff --git a/x.c b/x.c
    @@ -21,8 +21,8 @@ static char *argv0;
     #define Glyph Glyph_
     #define Font Font_

    -#include "win.h"
     #include "st.h"
    +#include "win.h"

     /* XEMBED messages */
     #define XEMBED_FOCUS_IN  4
    @@ -90,7 +90,9 @@ static void xdrawcursor(void);
     static int xgeommasktogravity(int);
     static void xinit(void);
     static int xloadfont(Font *, FcPattern *);
    +static void xloadfonts(char *, double);
     static void xunloadfont(Font *);
    +static void xunloadfonts(void);
     static void xsetenv(void);

     static void expose(XEvent *);
    @@ -165,6 +167,37 @@ static Fontcache frc[16];
     static int frclen = 0;

     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
     getbuttoninfo(XEvent *e)
     {
     	int type;