parent
							
								
									c7a945c408
								
							
						
					
					
						commit
						dc8c5c82aa
					
				| @ -116,6 +116,7 @@ static Shortcut shortcuts[] = { | |||||||
| 	{ XK_ANY_MOD,           XK_Print,       printsel,       {.i =  0} }, | 	{ XK_ANY_MOD,           XK_Print,       printsel,       {.i =  0} }, | ||||||
| 	{ MODKEY|ShiftMask,     XK_Prior,       xzoom,          {.i = +1} }, | 	{ MODKEY|ShiftMask,     XK_Prior,       xzoom,          {.i = +1} }, | ||||||
| 	{ MODKEY|ShiftMask,     XK_Next,        xzoom,          {.i = -1} }, | 	{ MODKEY|ShiftMask,     XK_Next,        xzoom,          {.i = -1} }, | ||||||
|  | 	{ MODKEY|ShiftMask,     XK_Home,        xzoomreset,     {.i =  0}  }, | ||||||
| 	{ ShiftMask,            XK_Insert,      selpaste,       {.i =  0} }, | 	{ ShiftMask,            XK_Insert,      selpaste,       {.i =  0} }, | ||||||
| 	{ MODKEY|ShiftMask,     XK_Insert,      clippaste,      {.i =  0} }, | 	{ MODKEY|ShiftMask,     XK_Insert,      clippaste,      {.i =  0} }, | ||||||
| 	{ MODKEY,               XK_Num_Lock,    numlock,        {.i =  0} }, | 	{ MODKEY,               XK_Num_Lock,    numlock,        {.i =  0} }, | ||||||
|  | |||||||
							
								
								
									
										25
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								st.c
									
									
									
									
									
								
							| @ -317,6 +317,8 @@ static void clippaste(const Arg *); | |||||||
| static void numlock(const Arg *); | static void numlock(const Arg *); | ||||||
| static void selpaste(const Arg *); | static void selpaste(const Arg *); | ||||||
| static void xzoom(const Arg *); | static void xzoom(const Arg *); | ||||||
|  | static void xzoomabs(const Arg *); | ||||||
|  | static void xzoomreset(const Arg *); | ||||||
| static void printsel(const Arg *); | static void printsel(const Arg *); | ||||||
| static void printscreen(const Arg *) ; | static void printscreen(const Arg *) ; | ||||||
| static void toggleprinter(const Arg *); | static void toggleprinter(const Arg *); | ||||||
| @ -503,6 +505,7 @@ static int oldbutton = 3; /* button event on startup: 3 = release */ | |||||||
| 
 | 
 | ||||||
| static char *usedfont = NULL; | static char *usedfont = NULL; | ||||||
| static double usedfontsize = 0; | static double usedfontsize = 0; | ||||||
|  | static double defaultfontsize = 0; | ||||||
| 
 | 
 | ||||||
| static uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0}; | static uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0}; | ||||||
| static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; | static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; | ||||||
| @ -2993,6 +2996,7 @@ xloadfonts(char *fontstr, double fontsize) { | |||||||
| 			FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12); | 			FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12); | ||||||
| 			usedfontsize = 12; | 			usedfontsize = 12; | ||||||
| 		} | 		} | ||||||
|  | 		defaultfontsize = usedfontsize; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	FcConfigSubstitute(0, pattern, FcMatchPattern); | 	FcConfigSubstitute(0, pattern, FcMatchPattern); | ||||||
| @ -3005,6 +3009,8 @@ xloadfonts(char *fontstr, double fontsize) { | |||||||
| 		FcPatternGetDouble(dc.font.match->pattern, | 		FcPatternGetDouble(dc.font.match->pattern, | ||||||
| 		                   FC_PIXEL_SIZE, 0, &fontval); | 		                   FC_PIXEL_SIZE, 0, &fontval); | ||||||
| 		usedfontsize = fontval; | 		usedfontsize = fontval; | ||||||
|  | 		if(fontsize == 0) | ||||||
|  | 			defaultfontsize = fontval; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Setting character width and height. */ | 	/* Setting character width and height. */ | ||||||
| @ -3058,15 +3064,32 @@ xunloadfonts(void) { | |||||||
| 	xunloadfont(&dc.ibfont); | 	xunloadfont(&dc.ibfont); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| void | void | ||||||
| xzoom(const Arg *arg) { | xzoom(const Arg *arg) { | ||||||
|  | 	Arg larg; | ||||||
|  | 	larg.i = usedfontsize + arg->i; | ||||||
|  | 	xzoomabs(&larg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void | ||||||
|  | xzoomabs(const Arg *arg) { | ||||||
| 	xunloadfonts(); | 	xunloadfonts(); | ||||||
| 	xloadfonts(usedfont, usedfontsize + arg->i); | 	xloadfonts(usedfont, arg->i); | ||||||
| 	cresize(0, 0); | 	cresize(0, 0); | ||||||
| 	redraw(0); | 	redraw(0); | ||||||
| 	xhints(); | 	xhints(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | xzoomreset(const Arg *arg) { | ||||||
|  | 	Arg larg; | ||||||
|  | 	if(defaultfontsize > 0) { | ||||||
|  | 		larg.i = defaultfontsize; | ||||||
|  | 		xzoomabs(&larg); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void | void | ||||||
| xinit(void) { | xinit(void) { | ||||||
| 	XGCValues gcvalues; | 	XGCValues gcvalues; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Christoph Lohmann
						Christoph Lohmann