parent
							
								
									c7a945c408
								
							
						
					
					
						commit
						dc8c5c82aa
					
				| 
						 | 
				
			
			@ -116,6 +116,7 @@ static Shortcut shortcuts[] = {
 | 
			
		|||
	{ 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}  },
 | 
			
		||||
	{ ShiftMask,            XK_Insert,      selpaste,       {.i =  0} },
 | 
			
		||||
	{ MODKEY|ShiftMask,     XK_Insert,      clippaste,      {.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 selpaste(const Arg *);
 | 
			
		||||
static void xzoom(const Arg *);
 | 
			
		||||
static void xzoomabs(const Arg *);
 | 
			
		||||
static void xzoomreset(const Arg *);
 | 
			
		||||
static void printsel(const Arg *);
 | 
			
		||||
static void printscreen(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 double usedfontsize = 0;
 | 
			
		||||
static 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};
 | 
			
		||||
| 
						 | 
				
			
			@ -2993,6 +2996,7 @@ xloadfonts(char *fontstr, double fontsize) {
 | 
			
		|||
			FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12);
 | 
			
		||||
			usedfontsize = 12;
 | 
			
		||||
		}
 | 
			
		||||
		defaultfontsize = usedfontsize;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	FcConfigSubstitute(0, pattern, FcMatchPattern);
 | 
			
		||||
| 
						 | 
				
			
			@ -3005,6 +3009,8 @@ xloadfonts(char *fontstr, double fontsize) {
 | 
			
		|||
		FcPatternGetDouble(dc.font.match->pattern,
 | 
			
		||||
		                   FC_PIXEL_SIZE, 0, &fontval);
 | 
			
		||||
		usedfontsize = fontval;
 | 
			
		||||
		if(fontsize == 0)
 | 
			
		||||
			defaultfontsize = fontval;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Setting character width and height. */
 | 
			
		||||
| 
						 | 
				
			
			@ -3058,15 +3064,32 @@ xunloadfonts(void) {
 | 
			
		|||
	xunloadfont(&dc.ibfont);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xzoom(const Arg *arg) {
 | 
			
		||||
	Arg larg;
 | 
			
		||||
	larg.i = usedfontsize + arg->i;
 | 
			
		||||
	xzoomabs(&larg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xzoomabs(const Arg *arg) {
 | 
			
		||||
	xunloadfonts();
 | 
			
		||||
	xloadfonts(usedfont, usedfontsize + arg->i);
 | 
			
		||||
	xloadfonts(usedfont, arg->i);
 | 
			
		||||
	cresize(0, 0);
 | 
			
		||||
	redraw(0);
 | 
			
		||||
	xhints();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xzoomreset(const Arg *arg) {
 | 
			
		||||
	Arg larg;
 | 
			
		||||
	if(defaultfontsize > 0) {
 | 
			
		||||
		larg.i = defaultfontsize;
 | 
			
		||||
		xzoomabs(&larg);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
xinit(void) {
 | 
			
		||||
	XGCValues gcvalues;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue