X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=config.def.h;h=622499e911b022008f63e39b4609c886b6af5697;hb=3b16695f4e8a29f47ad273912065dfba53544a29;hp=5c4c518f2b5db2a508a3ebc3a5f795bb23131cd1;hpb=5caa46cf575a48e6421aaf8757e066f6d32263d9;p=st.git diff --git a/config.def.h b/config.def.h index 5c4c518..622499e 100644 --- a/config.def.h +++ b/config.def.h @@ -1,11 +1,19 @@ +/* See LICENSE file for copyright and license details. */ -#define FONT "Liberation Mono:pixelsize=12:antialias=false:autohint=false" +/* appearance */ +static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=false"; +static int borderpx = 2; +static char shell[] = "/bin/sh"; -/* Space in pixels around the terminal buffer */ -#define BORDER 2 +/* double-click timeout (in milliseconds) between clicks for selection */ +static unsigned int doubleclicktimeout = 300; +static unsigned int tripleclicktimeout = 600; + +/* TERM value */ +static char termname[] = "st-256color"; + +static unsigned int tabspaces = 8; -/* Default shell to use if SHELL is not set in the env */ -#define SHELL "/bin/sh" /* Terminal colors (16 first used in escape sequence) */ static const char *colorname[] = { @@ -36,48 +44,83 @@ static const char *colorname[] = { "#333333", }; -/* Default colors (colorname index) - foreground, background, cursor, unfocused cursor */ -#define DefaultFG 7 -#define DefaultBG 0 -#define DefaultCS 256 -#define DefaultUCS 257 -/* Special keys (change & recompile st.info accordingly) - Keep in mind that kpress() in st.c hardcodes some keys. +/* + * Default colors (colorname index) + * foreground, background, cursor, unfocused cursor + */ +static unsigned int defaultfg = 7; +static unsigned int defaultbg = 0; +static unsigned int defaultcs = 256; +static unsigned int defaultucs = 257; - Mask value: - * Use XK_ANY_MOD to match the key no matter modifiers state - * Use XK_NO_MOD to match the key alone (no modifiers) +/* + * Special keys (change & recompile st.info accordingly) + * + * Mask value: + * * Use XK_ANY_MOD to match the key no matter modifiers state + * * Use XK_NO_MOD to match the key alone (no modifiers) + * keypad value: + * * 0: no value + * * > 0: keypad application mode enabled + * * < 0: keypad application mode disabled + * cursor value: + * * 0: no value + * * > 0: cursor application mode enabled + * * < 0: cursor application mode disabled + * crlf value + * * 0: no value + * * > 0: crlf mode is enabled + * * < 0: crlf mode is disabled + */ - key, mask, output */ +/* key, mask, output, keypad, cursor, crlf */ static Key key[] = { - { XK_BackSpace, XK_NO_MOD, "\177" }, - { XK_Insert, XK_NO_MOD, "\033[2~" }, - { XK_Delete, XK_NO_MOD, "\033[3~" }, - { XK_Home, XK_NO_MOD, "\033[1~" }, - { XK_End, XK_NO_MOD, "\033[4~" }, - { XK_Prior, XK_NO_MOD, "\033[5~" }, - { XK_Next, XK_NO_MOD, "\033[6~" }, - { XK_F1, XK_NO_MOD, "\033OP" }, - { XK_F2, XK_NO_MOD, "\033OQ" }, - { XK_F3, XK_NO_MOD, "\033OR" }, - { XK_F4, XK_NO_MOD, "\033OS" }, - { XK_F5, XK_NO_MOD, "\033[15~" }, - { XK_F6, XK_NO_MOD, "\033[17~" }, - { XK_F7, XK_NO_MOD, "\033[18~" }, - { XK_F8, XK_NO_MOD, "\033[19~" }, - { XK_F9, XK_NO_MOD, "\033[20~" }, - { XK_F10, XK_NO_MOD, "\033[21~" }, - { XK_F11, XK_NO_MOD, "\033[23~" }, - { XK_F12, XK_NO_MOD, "\033[24~" }, + /* keysym mask string keypad cursor crlf */ + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0, 0}, + { XK_Up, XK_NO_MOD, "\033[A", 0, -1, 0}, + { XK_Up, XK_NO_MOD, "\033OA", 0, +1, 0}, + { XK_Up, ShiftMask, "\033[a", 0, 0, 0}, + { XK_Down, XK_NO_MOD, "\033[B", 0, -1, 0}, + { XK_Down, XK_NO_MOD, "\033OB", 0, +1, 0}, + { XK_Down, ShiftMask, "\033[b", 0, 0, 0}, + { XK_Left, XK_NO_MOD, "\033[D", 0, -1, 0}, + { XK_Left, XK_NO_MOD, "\033OD", 0, +1, 0}, + { XK_Left, ShiftMask, "\033[d", 0, 0, 0}, + { XK_Right, XK_NO_MOD, "\033[C", 0, -1, 0}, + { XK_Right, XK_NO_MOD, "\033OC", 0, +1, 0}, + { XK_Right, ShiftMask, "\033[c", 0, 0, 0}, + { XK_Return, XK_NO_MOD, "\n", 0, 0, -1}, + { XK_Return, XK_NO_MOD, "\r\n", 0, 0, +1}, + { XK_Return, Mod1Mask, "\033\n", 0, 0, -1}, + { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, + { XK_Insert, XK_NO_MOD, "\033[2~", 0, 0, 0}, + { XK_Delete, XK_NO_MOD, "\033[3~", 0, 0, 0}, + { XK_Home, XK_NO_MOD, "\033[1~", 0, 0, 0}, + { XK_End, XK_NO_MOD, "\033[4~", 0, 0, 0}, + { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0}, + { XK_Next, XK_NO_MOD, "\033[6~", 0, 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0, 0}, }; -/* Set TERM to this */ -#define TNAME "st-256color" +/* Internal shortcuts. */ +#define MODKEY Mod1Mask -/* double-click timeout (in milliseconds) between clicks for selection */ -#define DOUBLECLICK_TIMEOUT 300 -#define TRIPLECLICK_TIMEOUT (2*DOUBLECLICK_TIMEOUT) +static Shortcut shortcuts[] = { + /* modifier key function argument */ + { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} }, + { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, + { ShiftMask, XK_Insert, selpaste, {.i = 0} }, +}; -#define TAB 8