| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -5,8 +5,8 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char font[] = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int borderpx = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char font[] = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					int borderpx = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * What program is execed by st depends of these precedence rules: | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -24,8 +24,8 @@ static char stty_args[] = "stty raw pass8 nl -echo -iexten -cstopb 38400"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char vtiden[] = "\033[?6c"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* Kerning / character bounding-box multipliers */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static float cwscale = 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static float chscale = 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					float cwscale = 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					float chscale = 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * word delimiter string | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -35,26 +35,26 @@ static float chscale = 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char worddelimiters[] = " "; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* selection timeouts (in milliseconds) */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int doubleclicktimeout = 300; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int tripleclicktimeout = 600; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int doubleclicktimeout = 300; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int tripleclicktimeout = 600; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* alt screens */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int allowaltscreen = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					int allowaltscreen = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* frames per second st should at maximum draw to the screen */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int xfps = 120; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int actionfps = 30; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int xfps = 120; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int actionfps = 30; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * blinking timeout (set to 0 to disable blinking) for the terminal blinking | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * attribute. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int blinktimeout = 800; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int blinktimeout = 800; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * thickness of underline and bar cursors | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int cursorthickness = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int cursorthickness = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * bell volume. It must be a value between -100 and 100. Use 0 for disabling | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -63,7 +63,7 @@ static unsigned int cursorthickness = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int bellvolume = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* default TERM value */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char termname[] = "st-256color"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char termname[] = "st-256color"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * spaces per tab | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -83,7 +83,7 @@ static char termname[] = "st-256color"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int tabspaces = 8; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* Terminal colors (16 first used in escape sequence) */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static const char *colorname[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const char *colorname[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* 8 normal colors */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"black", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"red3", | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -116,10 +116,10 @@ static const char *colorname[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Default colors (colorname index) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * foreground, background, cursor, reverse cursor | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int defaultfg = 7; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int defaultbg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int defaultcs = 256; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int defaultrcs = 257; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int defaultfg = 7; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int defaultbg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int defaultcs = 256; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int defaultrcs = 257; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Default shape of cursor | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -128,33 +128,33 @@ static unsigned int defaultrcs = 257; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * 6: Bar ("|") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * 7: Snowman ("☃") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int cursorshape = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int cursorshape = 2; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Default columns and rows numbers | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int cols = 80; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int rows = 24; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int cols = 80; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int rows = 24; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Default colour and shape of the mouse cursor | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int mouseshape = XC_xterm; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int mousefg = 7; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int mousebg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int mouseshape = XC_xterm; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int mousefg = 7; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int mousebg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Color used to display font attributes when fontconfig selected a font which | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * doesn't match the ones requested. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static unsigned int defaultattr = 11; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					unsigned int defaultattr = 11; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Internal mouse shortcuts. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Beware that overloading Button1 will disable the selection. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static MouseShortcut mshortcuts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					MouseShortcut mshortcuts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* button               mask            string */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ Button4,              XK_ANY_MOD,     "\031" }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ Button5,              XK_ANY_MOD,     "\005" }, | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -163,15 +163,15 @@ static MouseShortcut mshortcuts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* Internal keyboard shortcuts. */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define MODKEY Mod1Mask | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static Shortcut shortcuts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Shortcut shortcuts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* mask                 keysym          function        argument */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ XK_ANY_MOD,           XK_Break,       sendbreak,      {.i =  0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ 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,          {.f = +1} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Next,        xzoom,          {.f = -1} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Home,        xzoomreset,     {.f =  0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Prior,       zoom,           {.f = +1} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Next,        zoom,           {.f = -1} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Home,        zoomreset,      {.f =  0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ShiftMask,            XK_Insert,      selpaste,       {.i =  0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_Insert,      clippaste,      {.i =  0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} }, | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -222,7 +222,7 @@ static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Note that if you want to use ShiftMask with selmasks, set this to an other | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * modifier, set to 0 to not use it. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static uint forceselmod = ShiftMask; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					uint forceselmod = ShiftMask; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * This is the huge key array which defines all compatibility to the Linux | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -451,7 +451,7 @@ static Key key[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * ButtonRelease and MotionNotify. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * If no match is found, regular selection is used. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static uint selmasks[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					uint selmasks[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						[SEL_RECTANGULAR] = Mod1Mask, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -459,7 +459,7 @@ static uint selmasks[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * Printable characters in ASCII, used to estimate the advance width | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * of single wide characters. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static char ascii_printable[] = | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char ascii_printable[] = | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						" !\"#$%&'()*+,-./0123456789:;<=>?" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"`abcdefghijklmnopqrstuvwxyz{|}~"; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |