change normal mode key
[st.git] / config.def.h
index a345aad..dc9e967 100644 (file)
@@ -129,17 +129,38 @@ static const char *colorname[] = {
  */
 unsigned int defaultfg = 7;
 unsigned int defaultbg = 0;
-static unsigned int defaultcs = 256;
+static unsigned int defaultcs = 15;
 static unsigned int defaultrcs = 257;
 
+unsigned int const currentBg = 0, buffSize = 2048;
+/// [Vim Browse] Colors for search results currently on screen.
+unsigned int const highlightBg = 9, highlightFg = 15;
+char const wDelS[] = "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~", wDelL[] = " \t";
+char *nmKeys [] = {              ///< Shortcusts executed in normal mode
+  "R/Building\nN", "r/Building\n", "X/juli@machine\nN", "x/juli@machine\n",
+  "Q?[Leaving vim, starting execution]\n","F/: error:\nN", "f/: error:\n", "DQf"
+};
+unsigned int const amountNmKeys = sizeof(nmKeys) / sizeof(*nmKeys);
+/// Style of the {command, search} string shown in the right corner (y,v,V,/)
+Glyph styleSearch = {' ', ATTR_ITALIC | ATTR_BOLD_FAINT, 7, 16};
+Glyph style[] = {{' ',ATTR_ITALIC|ATTR_FAINT,15,16}, {' ',ATTR_ITALIC,232,11},
+                 {' ', ATTR_ITALIC, 232, 4}, {' ', ATTR_ITALIC, 232, 12}};
+
 /*
- * Default shape of cursor
- * 2: Block ("█")
- * 4: Underline ("_")
- * 6: Bar ("|")
- * 7: Snowman ("☃")
+ * https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Functions-using-CSI-_-ordered-by-the-final-character-lparen-s-rparen:CSI-Ps-SP-q.1D81
+ * Default style of cursor
+ * 0: Blinking block
+ * 1: Blinking block (default)
+ * 2: Steady block ("█")
+ * 3: Blinking underline
+ * 4: Steady underline ("_")
+ * 5: Blinking bar
+ * 6: Steady bar ("|")
+ * 7: Blinking st cursor
+ * 8: Steady st cursor
  */
-static unsigned int cursorshape = 2;
+static unsigned int cursorstyle = 1;
+static Rune stcursor = 0x2603; /* snowman (U+2603) */
 
 /*
  * Default columns and rows numbers
@@ -210,31 +231,28 @@ ResourcePref resources[] = {
  */
 static MouseShortcut mshortcuts[] = {
        /* mask                 button   function        argument       release */
-       { XK_ANY_MOD,           Button2, selpaste,       {.i = 0},      1 },
-       { ShiftMask,            Button4, ttysend,        {.s = "\033[5;2~"} },
-       { XK_ANY_MOD,           Button4, ttysend,        {.s = "\031"} },
-       { ShiftMask,            Button5, ttysend,        {.s = "\033[6;2~"} },
-       { XK_ANY_MOD,           Button5, ttysend,        {.s = "\005"} },
+       { XK_ANY_MOD,           Button2, selpaste,       {.i = 0},          1 },
+       { ShiftMask,            Button4, ttysend,        {.s = "\033[5;2~"}   },
+       { XK_ANY_MOD,           Button4, ttysend,        {.s = "\031"}        },
+       { ShiftMask,            Button5, ttysend,        {.s = "\033[6;2~"}   },
+       { XK_ANY_MOD,           Button5, ttysend,        {.s = "\005"}        },
 };
 
 /* Internal keyboard shortcuts. */
-#define MODKEY Mod1Mask
 #define TERMMOD (ControlMask|ShiftMask)
 
 static 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} },
-       { TERMMOD,              XK_Prior,       zoom,           {.f = +1} },
-       { TERMMOD,              XK_Next,        zoom,           {.f = -1} },
-       { TERMMOD,              XK_Home,        zoomreset,      {.f =  0} },
+       { XK_ANY_MOD,           XK_Break,       sendbreak,      {.i =  0} }, // not really sure what this does
+       { ControlMask,          XK_Prior,       zoom,           {.f = +1} },
+       { ControlMask,          XK_Next,        zoom,           {.f = -1} },
+       { ControlMask,          XK_Home,        zoomreset,      {.f =  0} },
        { TERMMOD,              XK_C,           clipcopy,       {.i =  0} },
        { TERMMOD,              XK_V,           clippaste,      {.i =  0} },
        { TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
-       { ShiftMask,            XK_Insert,      selpaste,       {.i =  0} },
-       { TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
+       { Mod1Mask,             XK_c,           normalMode,     {.i =  0} },
+       { Mod1Mask,             XK_Return,      newterm,        {.i =  0} }, // this would ideally be in dwm or sxhkd
+    { ControlMask,          XK_space,       plumber,        {.i =  0} },
 };
 
 /*
@@ -506,3 +524,9 @@ static char ascii_printable[] =
        " !\"#$%&'()*+,-./0123456789:;<=>?"
        "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
        "`abcdefghijklmnopqrstuvwxyz{|}~";
+
+/*
+ * plumb_cmd is run on mouse button 3 click, with first NULL set to
+ * current selection and with cwd set to the cwd of the active shell
+ */
+static char *plumb_cmd[] = {"plumb", "-m", NULL, NULL};