# st

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

| Log | Files | Refs | README | LICENSE

    commit bdd649a10289ade364f3deab3bbf6ee3169d67ca
    parent 71fa10f613a22b3e75e0e897ee1be6667be3f449
    Author: Quentin Rameau <quinq@quinq.eu.org>
    Date:   Sun, 31 May 2015 12:26:11 +0200

    do not truncate font size when zooming

    Diffstat:
    Mconfig.def.h | 6+++---
    Mst.c | 15+++++++--------

    2 files changed, 10 insertions(+), 11 deletions(-)
    diff --git a/config.def.h b/config.def.h
    @@ -120,9 +120,9 @@ static Shortcut shortcuts[] = {
     	{ ControlMask,          XK_Print,       toggleprinter,  {.i =  0} },
     	{ ShiftMask,            XK_Print,       printscreen,    {.i =  0} },
     	{ XK_ANY_MOD,           XK_Print,       printsel,       {.i =  0} },
    -	{ MODKEY|ShiftMask,     XK_Prior,       xzoom,          {.i = +1} },
    -	{ MODKEY|ShiftMask,     XK_Next,        xzoom,          {.i = -1} },
    -	{ MODKEY|ShiftMask,     XK_Home,        xzoomreset,     {.i =  0} },
    +	{ MODKEY|ShiftMask,     XK_Prior,       xzoom,          {.f = +1} },
    +	{ MODKEY|ShiftMask,     XK_Next,        xzoom,          {.f = -1} },
    +	{ MODKEY|ShiftMask,     XK_Home,        xzoomreset,     {.f =  0} },
     	{ ShiftMask,            XK_Insert,      selpaste,       {.i =  0} },
     	{ MODKEY|ShiftMask,     XK_Insert,      clippaste,      {.i =  0} },
     	{ MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} },
    diff --git a/st.c b/st.c
    @@ -3061,7 +3061,6 @@ xloadfont(Font *f, FcPattern *pattern) {
     void
     xloadfonts(char *fontstr, double fontsize) {
     	FcPattern *pattern;
    -	FcResult r_sz, r_psz;
     	double fontval;
     	float ceilf(float);

    @@ -3080,11 +3079,11 @@ xloadfonts(char *fontstr, double fontsize) {
     		FcPatternAddDouble(pattern, FC_PIXEL_SIZE, (double)fontsize);
     		usedfontsize = fontsize;
     	} else {
    -		r_psz = FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval);
    -		r_sz = FcPatternGetDouble(pattern, FC_SIZE, 0, &fontval);
    -		if(r_psz == FcResultMatch) {
    +		if(FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval) ==
    +				FcResultMatch) {
     			usedfontsize = fontval;
    -		} else if(r_sz == FcResultMatch) {
    +		} else if(FcPatternGetDouble(pattern, FC_SIZE, 0, &fontval) ==
    +				FcResultMatch) {
     			usedfontsize = -1;
     		} else {
     			/*
    @@ -3157,14 +3156,14 @@ void
     xzoom(const Arg *arg) {
     	Arg larg;

    -	larg.i = usedfontsize + arg->i;
    +	larg.f = usedfontsize + arg->f;
     	xzoomabs(&larg);
     }

     void
     xzoomabs(const Arg *arg) {
     	xunloadfonts();
    -	xloadfonts(usedfont, arg->i);
    +	xloadfonts(usedfont, arg->f);
     	cresize(0, 0);
     	redraw();
     	xhints();
    @@ -3175,7 +3174,7 @@ xzoomreset(const Arg *arg) {
     	Arg larg;

     	if(defaultfontsize > 0) {
    -		larg.i = defaultfontsize;
    +		larg.f = defaultfontsize;
     		xzoomabs(&larg);
     	}
     }