X-Git-Url: https://jasonwoof.com/gitweb/?p=st.git;a=blobdiff_plain;f=config.def.h;h=34884c08eca420166c40777b066e37bbe6742449;hp=6d7466842d5f8ba3c1cfb16618336f7e184110b8;hb=be7c6d7fb09ff50127332060d771b94a3bc8e44c;hpb=7c34ff1703381c4d0c2ea602ddd607597bd32ad5 diff --git a/config.def.h b/config.def.h index 6d74668..34884c0 100644 --- a/config.def.h +++ b/config.def.h @@ -9,10 +9,14 @@ static char font[] = "Liberation Mono:pixelsize=12:antialias=false:autohint=fals static int borderpx = 2; static char shell[] = "/bin/sh"; -/* double-click timeout (in milliseconds) between clicks for selection */ +/* timeouts (in milliseconds) */ static unsigned int doubleclicktimeout = 300; static unsigned int tripleclicktimeout = 600; +/* frames per second st should at maximum draw to the screen */ +static unsigned int xfps = 60; +static unsigned int actionfps = 30; + /* TERM value */ static char termname[] = "st-256color"; @@ -66,6 +70,7 @@ static Shortcut shortcuts[] = { { MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} }, { MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, + { MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} }, { MODKEY, XK_Num_Lock, numlock, {.i = 0} }, }; @@ -100,6 +105,12 @@ static Shortcut shortcuts[] = { */ static KeySym mappedkeys[] = { -1 }; +/* + * Which bits of the state should be ignored. By default the state bit for the + * keyboard layout (XK_SWITCH_MOD) is ignored. + */ +uint ignoremod = XK_SWITCH_MOD; + /* key, mask, output, keypad, cursor, crlf */ static Key key[] = { /* keysym mask string keypad cursor crlf */ @@ -121,7 +132,10 @@ static Key key[] = { { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0}, { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0}, - { XK_KP_End, ShiftMask, "\033[1;2F", 0, 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0, 0}, { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, @@ -196,7 +210,10 @@ static Key key[] = { { XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0}, { XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0}, { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0}, - { XK_End, ShiftMask, "\033[1;2F", 0, 0, 0}, + { XK_End, ControlMask, "\033[J", -1, 0, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0, 0}, { XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0}, { XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, @@ -289,3 +306,15 @@ static Key key[] = { { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0, 0}, }; +/* + * Selection types' masks. + * Use the same masks as usual. + * Button1Mask is always unset, to make masks match between ButtonPress. + * ButtonRelease and MotionNotify. + * If no match is found, regular selection is used. + */ + +static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, +}; +