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…
	
		Reference in New Issue