Move config.h include from st.c to x.c
config.h includes references to KeySyms and other X stuff. Until we come up with a cleaner way to separate configuration, it is simpler (leads to more code removal) to have this here. Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
This commit is contained in:
		
							
								
								
									
										73
									
								
								config.def.h
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								config.def.h
									
									
									
									
									
								
							| @@ -5,8 +5,8 @@ | ||||
|  * | ||||
|  * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html | ||||
|  */ | ||||
| char font[] = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; | ||||
| int borderpx = 2; | ||||
| static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; | ||||
| static int borderpx = 2; | ||||
|  | ||||
| /* | ||||
|  * What program is execed by st depends of these precedence rules: | ||||
| @@ -16,54 +16,54 @@ int borderpx = 2; | ||||
|  * 4: value of shell in /etc/passwd | ||||
|  * 5: value of shell in config.h | ||||
|  */ | ||||
| static char shell[] = "/bin/sh"; | ||||
| static char *utmp = NULL; | ||||
| static char stty_args[] = "stty raw pass8 nl -echo -iexten -cstopb 38400"; | ||||
| char *shell = "/bin/sh"; | ||||
| char *utmp = NULL; | ||||
| char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; | ||||
|  | ||||
| /* identification sequence returned in DA and DECID */ | ||||
| static char vtiden[] = "\033[?6c"; | ||||
| char *vtiden = "\033[?6c"; | ||||
|  | ||||
| /* Kerning / character bounding-box multipliers */ | ||||
| float cwscale = 1.0; | ||||
| float chscale = 1.0; | ||||
| static float cwscale = 1.0; | ||||
| static float chscale = 1.0; | ||||
|  | ||||
| /* | ||||
|  * word delimiter string | ||||
|  * | ||||
|  * More advanced example: " `'\"()[]{}" | ||||
|  */ | ||||
| static char worddelimiters[] = " "; | ||||
| char *worddelimiters = " "; | ||||
|  | ||||
| /* selection timeouts (in milliseconds) */ | ||||
| unsigned int doubleclicktimeout = 300; | ||||
| unsigned int tripleclicktimeout = 600; | ||||
| static unsigned int doubleclicktimeout = 300; | ||||
| static unsigned int tripleclicktimeout = 600; | ||||
|  | ||||
| /* alt screens */ | ||||
| int allowaltscreen = 1; | ||||
|  | ||||
| /* frames per second st should at maximum draw to the screen */ | ||||
| unsigned int xfps = 120; | ||||
| unsigned int actionfps = 30; | ||||
| static unsigned int xfps = 120; | ||||
| static unsigned int actionfps = 30; | ||||
|  | ||||
| /* | ||||
|  * blinking timeout (set to 0 to disable blinking) for the terminal blinking | ||||
|  * attribute. | ||||
|  */ | ||||
| unsigned int blinktimeout = 800; | ||||
| static unsigned int blinktimeout = 800; | ||||
|  | ||||
| /* | ||||
|  * thickness of underline and bar cursors | ||||
|  */ | ||||
| unsigned int cursorthickness = 2; | ||||
| static unsigned int cursorthickness = 2; | ||||
|  | ||||
| /* | ||||
|  * bell volume. It must be a value between -100 and 100. Use 0 for disabling | ||||
|  * it | ||||
|  */ | ||||
| int bellvolume = 0; | ||||
| static int bellvolume = 0; | ||||
|  | ||||
| /* default TERM value */ | ||||
| char termname[] = "st-256color"; | ||||
| char *termname = "st-256color"; | ||||
|  | ||||
| /* | ||||
|  * spaces per tab | ||||
| @@ -80,10 +80,10 @@ char termname[] = "st-256color"; | ||||
|  * | ||||
|  *	stty tabs | ||||
|  */ | ||||
| static unsigned int tabspaces = 8; | ||||
| unsigned int tabspaces = 8; | ||||
|  | ||||
| /* Terminal colors (16 first used in escape sequence) */ | ||||
| const char *colorname[] = { | ||||
| static const char *colorname[] = { | ||||
| 	/* 8 normal colors */ | ||||
| 	"black", | ||||
| 	"red3", | ||||
| @@ -118,8 +118,8 @@ const char *colorname[] = { | ||||
|  */ | ||||
| unsigned int defaultfg = 7; | ||||
| unsigned int defaultbg = 0; | ||||
| unsigned int defaultcs = 256; | ||||
| unsigned int defaultrcs = 257; | ||||
| static unsigned int defaultcs = 256; | ||||
| static unsigned int defaultrcs = 257; | ||||
|  | ||||
| /* | ||||
|  * Default shape of cursor | ||||
| @@ -128,33 +128,33 @@ unsigned int defaultrcs = 257; | ||||
|  * 6: Bar ("|") | ||||
|  * 7: Snowman ("☃") | ||||
|  */ | ||||
| unsigned int cursorshape = 2; | ||||
| static unsigned int cursorshape = 2; | ||||
|  | ||||
| /* | ||||
|  * Default columns and rows numbers | ||||
|  */ | ||||
|  | ||||
| unsigned int cols = 80; | ||||
| unsigned int rows = 24; | ||||
| static unsigned int cols = 80; | ||||
| static unsigned int rows = 24; | ||||
|  | ||||
| /* | ||||
|  * Default colour and shape of the mouse cursor | ||||
|  */ | ||||
| unsigned int mouseshape = XC_xterm; | ||||
| unsigned int mousefg = 7; | ||||
| unsigned int mousebg = 0; | ||||
| static unsigned int mouseshape = XC_xterm; | ||||
| static unsigned int mousefg = 7; | ||||
| static unsigned int mousebg = 0; | ||||
|  | ||||
| /* | ||||
|  * Color used to display font attributes when fontconfig selected a font which | ||||
|  * doesn't match the ones requested. | ||||
|  */ | ||||
| unsigned int defaultattr = 11; | ||||
| static unsigned int defaultattr = 11; | ||||
|  | ||||
| /* | ||||
|  * Internal mouse shortcuts. | ||||
|  * Beware that overloading Button1 will disable the selection. | ||||
|  */ | ||||
| MouseShortcut mshortcuts[] = { | ||||
| static MouseShortcut mshortcuts[] = { | ||||
| 	/* button               mask            string */ | ||||
| 	{ Button4,              XK_ANY_MOD,     "\031" }, | ||||
| 	{ Button5,              XK_ANY_MOD,     "\005" }, | ||||
| @@ -164,7 +164,7 @@ MouseShortcut mshortcuts[] = { | ||||
| #define MODKEY Mod1Mask | ||||
| #define TERMMOD (ControlMask|ShiftMask) | ||||
|  | ||||
| Shortcut shortcuts[] = { | ||||
| static Shortcut shortcuts[] = { | ||||
| 	/* mask                 keysym          function        argument */ | ||||
| 	{ XK_ANY_MOD,           XK_Break,       sendbreak,      {.i =  0} }, | ||||
| 	{ ControlMask,          XK_Print,       toggleprinter,  {.i =  0} }, | ||||
| @@ -209,26 +209,26 @@ Shortcut shortcuts[] = { | ||||
|  * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) | ||||
|  * to be mapped below, add them to this array. | ||||
|  */ | ||||
| KeySym mappedkeys[] = { -1 }; | ||||
| static KeySym mappedkeys[] = { -1 }; | ||||
|  | ||||
| /* | ||||
|  * State bits to ignore when matching key or button events.  By default, | ||||
|  * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. | ||||
|  */ | ||||
| uint ignoremod = Mod2Mask|XK_SWITCH_MOD; | ||||
| static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; | ||||
|  | ||||
| /* | ||||
|  * Override mouse-select while mask is active (when MODE_MOUSE is set). | ||||
|  * Note that if you want to use ShiftMask with selmasks, set this to an other | ||||
|  * modifier, set to 0 to not use it. | ||||
|  */ | ||||
| uint forceselmod = ShiftMask; | ||||
| static uint forceselmod = ShiftMask; | ||||
|  | ||||
| /* | ||||
|  * This is the huge key array which defines all compatibility to the Linux | ||||
|  * world. Please decide about changes wisely. | ||||
|  */ | ||||
| Key key[] = { | ||||
| static Key key[] = { | ||||
| 	/* keysym           mask            string      appkey appcursor crlf */ | ||||
| 	{ XK_KP_Home,       ShiftMask,      "\033[2J",       0,   -1,    0}, | ||||
| 	{ XK_KP_Home,       ShiftMask,      "\033[1;2H",     0,   +1,    0}, | ||||
| @@ -451,7 +451,7 @@ Key key[] = { | ||||
|  * ButtonRelease and MotionNotify. | ||||
|  * If no match is found, regular selection is used. | ||||
|  */ | ||||
| uint selmasks[] = { | ||||
| static uint selmasks[] = { | ||||
| 	[SEL_RECTANGULAR] = Mod1Mask, | ||||
| }; | ||||
|  | ||||
| @@ -459,8 +459,7 @@ uint selmasks[] = { | ||||
|  * Printable characters in ASCII, used to estimate the advance width | ||||
|  * of single wide characters. | ||||
|  */ | ||||
| char ascii_printable[] = | ||||
| static char ascii_printable[] = | ||||
| 	" !\"#$%&'()*+,-./0123456789:;<=>?" | ||||
| 	"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" | ||||
| 	"`abcdefghijklmnopqrstuvwxyz{|}~"; | ||||
|  | ||||
|   | ||||
							
								
								
									
										47
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								st.c
									
									
									
									
									
								
							| @@ -109,19 +109,6 @@ typedef struct { | ||||
| 	int narg;              /* nb of args */ | ||||
| } STREscape; | ||||
|  | ||||
| /* function definitions used in config.h */ | ||||
| static void clipcopy(const Arg *); | ||||
| static void clippaste(const Arg *); | ||||
| static void numlock(const Arg *); | ||||
| static void selpaste(const Arg *); | ||||
| static void printsel(const Arg *); | ||||
| static void printscreen(const Arg *) ; | ||||
| static void iso14755(const Arg *); | ||||
| static void toggleprinter(const Arg *); | ||||
| static void sendbreak(const Arg *); | ||||
|  | ||||
| /* config.h for applying patches and the configuration. */ | ||||
| #include "config.h" | ||||
|  | ||||
| static void execsh(char **); | ||||
| static void stty(char **); | ||||
| @@ -199,14 +186,6 @@ static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; | ||||
| static Rune utfmin[UTF_SIZ + 1] = {       0,    0,  0x80,  0x800,  0x10000}; | ||||
| static Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; | ||||
|  | ||||
| /* config.h array lengths */ | ||||
| size_t colornamelen = LEN(colorname); | ||||
| size_t mshortcutslen = LEN(mshortcuts); | ||||
| size_t shortcutslen = LEN(shortcuts); | ||||
| size_t selmaskslen = LEN(selmasks); | ||||
| size_t keyslen = LEN(key); | ||||
| size_t mappedkeyslen = LEN(mappedkeys); | ||||
|  | ||||
| ssize_t | ||||
| xwrite(int fd, const char *s, size_t len) | ||||
| { | ||||
| @@ -585,24 +564,6 @@ getsel(void) | ||||
| 	return str; | ||||
| } | ||||
|  | ||||
| void | ||||
| selpaste(const Arg *dummy) | ||||
| { | ||||
| 	xselpaste(); | ||||
| } | ||||
|  | ||||
| void | ||||
| clipcopy(const Arg *dummy) | ||||
| { | ||||
| 	xclipcopy(); | ||||
| } | ||||
|  | ||||
| void | ||||
| clippaste(const Arg *dummy) | ||||
| { | ||||
| 	xclippaste(); | ||||
| } | ||||
|  | ||||
| void | ||||
| selclear(void) | ||||
| { | ||||
| @@ -1572,7 +1533,7 @@ csihandle(void) | ||||
| 		break; | ||||
| 	case 'c': /* DA -- Device Attributes */ | ||||
| 		if (csiescseq.arg[0] == 0) | ||||
| 			ttywrite(vtiden, sizeof(vtiden) - 1); | ||||
| 			ttywrite(vtiden, strlen(vtiden)); | ||||
| 		break; | ||||
| 	case 'C': /* CUF -- Cursor <n> Forward */ | ||||
| 	case 'a': /* HPR -- Cursor <n> Forward */ | ||||
| @@ -1791,7 +1752,7 @@ strhandle(void) | ||||
| 				dec = base64dec(strescseq.args[2]); | ||||
| 				if (dec) { | ||||
| 					xsetsel(dec, CurrentTime); | ||||
| 					clipcopy(NULL); | ||||
| 					xclipcopy(); | ||||
| 				} else { | ||||
| 					fprintf(stderr, "erresc: invalid base64\n"); | ||||
| 				} | ||||
| @@ -2134,7 +2095,7 @@ tcontrolcode(uchar ascii) | ||||
| 	case 0x99:   /* TODO: SGCI */ | ||||
| 		break; | ||||
| 	case 0x9a:   /* DECID -- Identify Terminal */ | ||||
| 		ttywrite(vtiden, sizeof(vtiden) - 1); | ||||
| 		ttywrite(vtiden, strlen(vtiden)); | ||||
| 		break; | ||||
| 	case 0x9b:   /* TODO: CSI */ | ||||
| 	case 0x9c:   /* TODO: ST */ | ||||
| @@ -2206,7 +2167,7 @@ eschandle(uchar ascii) | ||||
| 		} | ||||
| 		break; | ||||
| 	case 'Z': /* DECID -- Identify Terminal */ | ||||
| 		ttywrite(vtiden, sizeof(vtiden) - 1); | ||||
| 		ttywrite(vtiden, strlen(vtiden)); | ||||
| 		break; | ||||
| 	case 'c': /* RIS -- Reset to inital state */ | ||||
| 		treset(); | ||||
|   | ||||
							
								
								
									
										50
									
								
								st.h
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								st.h
									
									
									
									
									
								
							| @@ -190,6 +190,13 @@ typedef struct { | ||||
| void die(const char *, ...); | ||||
| void redraw(void); | ||||
|  | ||||
| void iso14755(const Arg *); | ||||
| void numlock(const Arg *); | ||||
| void printscreen(const Arg *); | ||||
| void printsel(const Arg *); | ||||
| void sendbreak(const Arg *); | ||||
| void toggleprinter(const Arg *); | ||||
|  | ||||
| int tattrset(int); | ||||
| void tnew(int, int); | ||||
| void tresize(int, int); | ||||
| @@ -225,42 +232,13 @@ extern pid_t pid; | ||||
| extern int oldbutton; | ||||
|  | ||||
| /* config.h globals */ | ||||
| extern char font[]; | ||||
| extern int borderpx; | ||||
| extern float cwscale; | ||||
| extern float chscale; | ||||
| extern unsigned int doubleclicktimeout; | ||||
| extern unsigned int tripleclicktimeout; | ||||
| extern char *shell; | ||||
| extern char *utmp; | ||||
| extern char *stty_args; | ||||
| extern char *vtiden; | ||||
| extern char *worddelimiters; | ||||
| extern int allowaltscreen; | ||||
| extern unsigned int xfps; | ||||
| extern unsigned int actionfps; | ||||
| extern unsigned int cursorthickness; | ||||
| extern int bellvolume; | ||||
| extern unsigned int blinktimeout; | ||||
| extern char termname[]; | ||||
| extern const char *colorname[]; | ||||
| extern size_t colornamelen; | ||||
| extern char *termname; | ||||
| extern unsigned int tabspaces; | ||||
| extern unsigned int defaultfg; | ||||
| extern unsigned int defaultbg; | ||||
| extern unsigned int defaultcs; | ||||
| extern unsigned int defaultrcs; | ||||
| extern unsigned int cursorshape; | ||||
| extern unsigned int cols; | ||||
| extern unsigned int rows; | ||||
| extern unsigned int mouseshape; | ||||
| extern unsigned int mousefg; | ||||
| extern unsigned int mousebg; | ||||
| extern unsigned int defaultattr; | ||||
| extern MouseShortcut mshortcuts[]; | ||||
| extern size_t mshortcutslen; | ||||
| extern Shortcut shortcuts[]; | ||||
| extern size_t shortcutslen; | ||||
| extern KeySym mappedkeys[]; | ||||
| extern size_t mappedkeyslen; | ||||
| extern uint ignoremod; | ||||
| extern uint forceselmod; | ||||
| extern Key key[]; | ||||
| extern size_t keyslen; | ||||
| extern uint selmasks[]; | ||||
| extern size_t selmaskslen; | ||||
| extern char ascii_printable[]; | ||||
|   | ||||
							
								
								
									
										3
									
								
								win.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								win.h
									
									
									
									
									
								
							| @@ -18,6 +18,3 @@ void xsettitle(char *); | ||||
| void xsetpointermotion(int); | ||||
| void xselpaste(void); | ||||
| void xsetsel(char *, Time); | ||||
| void zoom(const Arg *); | ||||
| void zoomabs(const Arg *); | ||||
| void zoomreset(const Arg *); | ||||
|   | ||||
							
								
								
									
										37
									
								
								x.c
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								x.c
									
									
									
									
									
								
							| @@ -20,6 +20,25 @@ static char *argv0; | ||||
| #include "st.h" | ||||
| #include "win.h" | ||||
|  | ||||
| /* function definitions used in config.h */ | ||||
| static void clipcopy(const Arg *); | ||||
| static void clippaste(const Arg *); | ||||
| static void selpaste(const Arg *); | ||||
| static void zoom(const Arg *); | ||||
| static void zoomabs(const Arg *); | ||||
| static void zoomreset(const Arg *); | ||||
|  | ||||
| /* config.h for applying patches and the configuration. */ | ||||
| #include "config.h" | ||||
|  | ||||
| /* config.h array lengths */ | ||||
| size_t colornamelen = LEN(colorname); | ||||
| size_t mshortcutslen = LEN(mshortcuts); | ||||
| size_t shortcutslen = LEN(shortcuts); | ||||
| size_t selmaskslen = LEN(selmasks); | ||||
| size_t keyslen = LEN(key); | ||||
| size_t mappedkeyslen = LEN(mappedkeys); | ||||
|  | ||||
| /* XEMBED messages */ | ||||
| #define XEMBED_FOCUS_IN  4 | ||||
| #define XEMBED_FOCUS_OUT 5 | ||||
| @@ -188,6 +207,24 @@ static char *opt_line  = NULL; | ||||
| static char *opt_name  = NULL; | ||||
| static char *opt_title = NULL; | ||||
|  | ||||
| void | ||||
| clipcopy(const Arg *dummy) | ||||
| { | ||||
| 	xclipcopy(); | ||||
| } | ||||
|  | ||||
| void | ||||
| clippaste(const Arg *dummy) | ||||
| { | ||||
| 	xclippaste(); | ||||
| } | ||||
|  | ||||
| void | ||||
| selpaste(const Arg *dummy) | ||||
| { | ||||
| 	xselpaste(); | ||||
| } | ||||
|  | ||||
| void | ||||
| zoom(const Arg *arg) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user