Xinqi Bao's Git

minor update for patch xresources
[st.git] / config.def.h
index 482901e..7b3e208 100644 (file)
@@ -5,19 +5,21 @@
  *
  * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
  */
-static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
+static char *font = "Liberation Mono:pixelsize=16:antialias=true:autohint=true";
 static int borderpx = 2;
 
 /*
  * What program is execed by st depends of these precedence rules:
  * 1: program passed with -e
- * 2: utmp option
+ * 2: scroll and/or utmp
  * 3: SHELL environment variable
  * 4: value of shell in /etc/passwd
  * 5: value of shell in config.h
  */
 static char *shell = "/bin/sh";
 char *utmp = NULL;
+/* scroll program: to enable use a string like "scroll" */
+char *scroll = NULL;
 char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400";
 
 /* identification sequence returned in DA and DECID */
@@ -41,9 +43,18 @@ static unsigned int tripleclicktimeout = 600;
 /* alt screens */
 int allowaltscreen = 1;
 
-/* frames per second st should at maximum draw to the screen */
-static unsigned int xfps = 120;
-static unsigned int actionfps = 30;
+/* allow certain non-interactive (insecure) window operations such as:
+   setting the clipboard text */
+int allowwindowops = 0;
+
+/*
+ * draw latency range in ms - from new content/keypress/etc until drawing.
+ * within this range, st draws when content stops arriving (idle). mostly it's
+ * near minlatency, but it waits longer for slow updates to avoid partial draw.
+ * low minlatency will tear/flicker more, as it can "detect" idle too early.
+ */
+static double minlatency = 8;
+static double maxlatency = 33;
 
 /*
  * blinking timeout (set to 0 to disable blinking) for the terminal blinking
@@ -82,6 +93,9 @@ char *termname = "st-256color";
  */
 unsigned int tabspaces = 8;
 
+/* bg opacity */
+float alpha = 0.8;
+
 /* Terminal colors (16 first used in escape sequence) */
 static const char *colorname[] = {
        /* 8 normal colors */
@@ -109,6 +123,8 @@ static const char *colorname[] = {
        /* more colors can be added after 255 to use with DefaultXX */
        "#cccccc",
        "#555555",
+       "gray90", /* default foreground colour */
+       "black", /* default background colour */
 };
 
 
@@ -116,9 +132,9 @@ static const char *colorname[] = {
  * Default colors (colorname index)
  * foreground, background, cursor, reverse cursor
  */
-unsigned int defaultfg = 7;
-unsigned int defaultbg = 0;
-static unsigned int defaultcs = 256;
+unsigned int defaultfg = 258;
+unsigned int defaultbg = 259;
+unsigned int defaultcs = 256;
 static unsigned int defaultrcs = 257;
 
 /*
@@ -150,19 +166,67 @@ static unsigned int mousebg = 0;
  */
 static unsigned int defaultattr = 11;
 
+/*
+ * Force mouse select/shortcuts 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.
+ */
+static uint forcemousemod = ShiftMask;
+
+/*
+ * Xresources preferences to load at startup
+ */
+ResourcePref resources[] = {
+               { "font",         STRING,  &font },
+               { "color0",       STRING,  &colorname[0] },
+               { "color1",       STRING,  &colorname[1] },
+               { "color2",       STRING,  &colorname[2] },
+               { "color3",       STRING,  &colorname[3] },
+               { "color4",       STRING,  &colorname[4] },
+               { "color5",       STRING,  &colorname[5] },
+               { "color6",       STRING,  &colorname[6] },
+               { "color7",       STRING,  &colorname[7] },
+               { "color8",       STRING,  &colorname[8] },
+               { "color9",       STRING,  &colorname[9] },
+               { "color10",      STRING,  &colorname[10] },
+               { "color11",      STRING,  &colorname[11] },
+               { "color12",      STRING,  &colorname[12] },
+               { "color13",      STRING,  &colorname[13] },
+               { "color14",      STRING,  &colorname[14] },
+               { "color15",      STRING,  &colorname[15] },
+               { "foreground",   STRING,  &colorname[258] },
+               { "background",   STRING,  &colorname[259] },
+               { "cursorColor",  STRING,  &colorname[256] },
+               { "recursorColor",STRING,  &colorname[257] },
+               { "termname",     STRING,  &termname },
+               { "shell",        STRING,  &shell },
+               { "minlatency",   INTEGER, &minlatency },
+               { "maxlatency",   INTEGER, &maxlatency },
+               { "blinktimeout", INTEGER, &blinktimeout },
+               { "bellvolume",   INTEGER, &bellvolume },
+               { "tabspaces",    INTEGER, &tabspaces },
+               { "borderpx",     INTEGER, &borderpx },
+               { "cwscale",      FLOAT,   &cwscale },
+               { "chscale",      FLOAT,   &chscale },
+               { "alpha",        FLOAT,   &alpha },
+};
+
 /*
  * Internal mouse shortcuts.
  * Beware that overloading Button1 will disable the selection.
  */
 static MouseShortcut mshortcuts[] = {
-       /* button               mask            string */
-       { Button4,              XK_ANY_MOD,     "\031" },
-       { Button5,              XK_ANY_MOD,     "\005" },
+       /* 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"} },
 };
 
 /* Internal keyboard shortcuts. */
 #define MODKEY Mod1Mask
-#define TERMMOD (ControlMask|ShiftMask)
+#define TERMMOD (MODKEY|ShiftMask)
 
 static Shortcut shortcuts[] = {
        /* mask                 keysym          function        argument */
@@ -178,6 +242,8 @@ static Shortcut shortcuts[] = {
        { TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
        { ShiftMask,            XK_Insert,      selpaste,       {.i =  0} },
        { TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
+       { TERMMOD,              XK_K,           zoom,           {.f = +1} },
+       { TERMMOD,              XK_J,           zoom,           {.f = -1} },
 };
 
 /*
@@ -195,10 +261,6 @@ static Shortcut shortcuts[] = {
  * * 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
  *
  * Be careful with the order of the definitions because st searches in
  * this table sequentially, so any XK_ANY_MOD must be in the last
@@ -217,13 +279,6 @@ static KeySym mappedkeys[] = { -1 };
  */
 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.
- */
-static uint forceselmod = ShiftMask;
-
 /*
  * This is the huge key array which defines all compatibility to the Linux
  * world. Please decide about changes wisely.