Move column and row default numbers into config.h
[st.git] / config.def.h
index fd09d72..a719e36 100644 (file)
@@ -65,6 +65,21 @@ static int bellvolume = 0;
 /* default TERM value */
 static char termname[] = "st-256color";
 
+/*
+ * spaces per tab
+ *
+ * When you are changing this value, don't forget to adapt the »it« value in
+ * the st.info and appropriately install the st.info in the environment where
+ * you use this st version.
+ *
+ *     it#$tabspaces,
+ *
+ * Secondly make sure your kernel is not expanding tabs. When running `stty
+ * -a` »tab0« should appear. You can tell the terminal to not expand tabs by
+ *  running following command:
+ *
+ *     stty tabs
+ */
 static unsigned int tabspaces = 8;
 
 /* Terminal colors (16 first used in escape sequence) */
@@ -115,6 +130,13 @@ static unsigned int defaultrcs = 257;
  */
 static unsigned int cursorshape = 2;
 
+/*
+ * Default columns and rows numbers
+ */
+
+static unsigned int cols = 80;
+static unsigned int rows = 24;
+
 /*
  * Default colour and shape of the mouse cursor
  */
@@ -123,12 +145,10 @@ static unsigned int mousefg = 7;
 static unsigned int mousebg = 0;
 
 /*
- * Colors used, when the specific fg == defaultfg. So in reverse mode this
- * will reverse too. Another logic would only make the simple feature too
- * complex.
+ * Color used to display font attributes when fontconfig selected a font which
+ * doesn't match the ones requested.
  */
-static unsigned int defaultitalic = 11;
-static unsigned int defaultunderline = 7;
+static unsigned int defaultattr = 11;
 
 /*
  * Internal mouse shortcuts.
@@ -157,6 +177,7 @@ static Shortcut shortcuts[] = {
        { MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} },
        { MODKEY|ShiftMask,     XK_V,           clippaste,      {.i =  0} },
        { MODKEY,               XK_Num_Lock,    numlock,        {.i =  0} },
+       { MODKEY,               XK_Control_L,   iso14755,       {.i =  0} },
 };
 
 /*
@@ -266,23 +287,39 @@ static Key key[] = {
        { XK_KP_8,          XK_ANY_MOD,     "\033Ox",       +2,    0,    0},
        { XK_KP_9,          XK_ANY_MOD,     "\033Oy",       +2,    0,    0},
        { XK_Up,            ShiftMask,      "\033[1;2A",     0,    0,    0},
-       { XK_Up,            ControlMask,    "\033[1;5A",     0,    0,    0},
        { XK_Up,            Mod1Mask,       "\033[1;3A",     0,    0,    0},
+       { XK_Up,         ShiftMask|Mod1Mask,"\033[1;4A",     0,    0,    0},
+       { XK_Up,            ControlMask,    "\033[1;5A",     0,    0,    0},
+       { XK_Up,      ShiftMask|ControlMask,"\033[1;6A",     0,    0,    0},
+       { XK_Up,       ControlMask|Mod1Mask,"\033[1;7A",     0,    0,    0},
+       { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A",  0,    0,    0},
        { XK_Up,            XK_ANY_MOD,     "\033[A",        0,   -1,    0},
        { XK_Up,            XK_ANY_MOD,     "\033OA",        0,   +1,    0},
        { XK_Down,          ShiftMask,      "\033[1;2B",     0,    0,    0},
-       { XK_Down,          ControlMask,    "\033[1;5B",     0,    0,    0},
        { XK_Down,          Mod1Mask,       "\033[1;3B",     0,    0,    0},
+       { XK_Down,       ShiftMask|Mod1Mask,"\033[1;4B",     0,    0,    0},
+       { XK_Down,          ControlMask,    "\033[1;5B",     0,    0,    0},
+       { XK_Down,    ShiftMask|ControlMask,"\033[1;6B",     0,    0,    0},
+       { XK_Down,     ControlMask|Mod1Mask,"\033[1;7B",     0,    0,    0},
+       { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0,    0,    0},
        { XK_Down,          XK_ANY_MOD,     "\033[B",        0,   -1,    0},
        { XK_Down,          XK_ANY_MOD,     "\033OB",        0,   +1,    0},
        { XK_Left,          ShiftMask,      "\033[1;2D",     0,    0,    0},
-       { XK_Left,          ControlMask,    "\033[1;5D",     0,    0,    0},
        { XK_Left,          Mod1Mask,       "\033[1;3D",     0,    0,    0},
+       { XK_Left,       ShiftMask|Mod1Mask,"\033[1;4D",     0,    0,    0},
+       { XK_Left,          ControlMask,    "\033[1;5D",     0,    0,    0},
+       { XK_Left,    ShiftMask|ControlMask,"\033[1;6D",     0,    0,    0},
+       { XK_Left,     ControlMask|Mod1Mask,"\033[1;7D",     0,    0,    0},
+       { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0,    0,    0},
        { XK_Left,          XK_ANY_MOD,     "\033[D",        0,   -1,    0},
        { XK_Left,          XK_ANY_MOD,     "\033OD",        0,   +1,    0},
        { XK_Right,         ShiftMask,      "\033[1;2C",     0,    0,    0},
-       { XK_Right,         ControlMask,    "\033[1;5C",     0,    0,    0},
        { XK_Right,         Mod1Mask,       "\033[1;3C",     0,    0,    0},
+       { XK_Right,      ShiftMask|Mod1Mask,"\033[1;4C",     0,    0,    0},
+       { XK_Right,         ControlMask,    "\033[1;5C",     0,    0,    0},
+       { XK_Right,   ShiftMask|ControlMask,"\033[1;6C",     0,    0,    0},
+       { XK_Right,    ControlMask|Mod1Mask,"\033[1;7C",     0,    0,    0},
+       { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0,   0,    0},
        { XK_Right,         XK_ANY_MOD,     "\033[C",        0,   -1,    0},
        { XK_Right,         XK_ANY_MOD,     "\033OC",        0,   +1,    0},
        { XK_ISO_Left_Tab,  ShiftMask,      "\033[Z",        0,    0,    0},
@@ -303,6 +340,7 @@ static Key key[] = {
        { XK_Delete,        XK_ANY_MOD,     "\033[P",       -1,    0,    0},
        { XK_Delete,        XK_ANY_MOD,     "\033[3~",      +1,    0,    0},
        { XK_BackSpace,     XK_NO_MOD,      "\177",          0,    0,    0},
+       { XK_BackSpace,     Mod1Mask,       "\033\177",      0,    0,    0},
        { XK_Home,          ShiftMask,      "\033[2J",       0,   -1,    0},
        { XK_Home,          ShiftMask,      "\033[1;2H",     0,   +1,    0},
        { XK_Home,          XK_ANY_MOD,     "\033[H",        0,   -1,    0},
@@ -417,3 +455,12 @@ static uint selmasks[] = {
        [SEL_RECTANGULAR] = Mod1Mask,
 };
 
+/*
+ * Printable characters in ASCII, used to estimate the advance width
+ * of single wide characters.
+ */
+static char ascii_printable[] =
+       " !\"#$%&'()*+,-./0123456789:;<=>?"
+       "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
+       "`abcdefghijklmnopqrstuvwxyz{|}~";
+