-#define TAB 8
-#define TNAME "st-256color"
-#define FONT "-misc-*-medium-r-semicondensed-*-13-*-*-*-*-*-iso8859-*"
-#define BOLDFONT "-misc-*-bold-r-semicondensed-*-13-*-*-*-*-*-iso8859-*"
+
+#define FONT "-*-*-medium-r-*-*-*-120-75-75-*-60-*-*"
+#define BOLDFONT "-*-*-bold-r-*-*-*-120-75-75-*-60-*-*"
+
+/* Space in pixels around the terminal buffer */
#define BORDER 2
+
+/* Default shell to use if SHELL is not set in the env */
#define SHELL "/bin/sh"
-/* Terminal colors */
+/* Terminal colors (16 first used in escape sequence) */
static const char *colorname[] = {
+ /* 8 normal colors */
"black",
- "#CC0000",
- "#4E9A06",
- "#C4A000",
- "#3465A4",
- "#75507B",
- "#06989A",
- "#888a85",
- "#555753",
- "#EF2929",
- "#8AE234",
- "#FCE94F",
- "#729FCF",
- "#AD7FA8",
- "#34E2E2",
- "#EEEEEC"
+ "red3",
+ "green3",
+ "yellow3",
+ "blue2",
+ "magenta3",
+ "cyan3",
+ "gray90",
+
+ /* 8 bright colors */
+ "gray50",
+ "red",
+ "green",
+ "yellow",
+ "#5c5cff",
+ "magenta",
+ "cyan",
+ "white",
+
+ [255] = 0,
+
+ /* more colors can be added after 255 to use with DefaultXX */
+ "#cccccc",
+ "#333333",
};
-/* Default colors (colorname index) */
-/* foreground, background, cursor */
-#define DefaultFG 7
-#define DefaultBG 0
-#define DefaultCS 1
+/* Default colors (colorname index)
+ foreground, background, cursor, unfocused cursor */
+#define DefaultFG 7
+#define DefaultBG 0
+#define DefaultCS 256
+#define DefaultUCS 257
-/* special keys */
+/* Special keys (change & recompile st.info accordingly)
+ Keep in mind that kpress() in st.c hardcodes some keys.
+
+ 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)
+
+ key, mask, output */
static Key key[] = {
- { XK_BackSpace, "\177" },
- { XK_Delete, "\033[3~" },
- { XK_Home, "\033[1~" },
- { XK_End, "\033[4~" },
- { XK_Prior, "\033[5~" },
- { XK_Next, "\033[6~" },
- { XK_F1, "\033OP" },
- { XK_F2, "\033OQ" },
- { XK_F3, "\033OR" },
- { XK_F4, "\033OS" },
- { XK_F5, "\033[15~" },
- { XK_F6, "\033[17~" },
- { XK_F7, "\033[18~" },
- { XK_F8, "\033[19~" },
- { XK_F9, "\033[20~" },
- { XK_F10, "\033[21~" },
- { XK_F11, "\033[23~" },
- { XK_F12, "\033[24~" },
+ { 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~" },
};
-/* line drawing characters (sometime specific to each font...) */
+/* Set TERM to this */
+#define TNAME "st-256color"
+
+/* Line drawing characters (sometime specific to each font...) */
static char gfx[] = {
- ['`'] = 0x01,
- ['a'] = 0x02,
['f'] = 'o',
['g'] = '+',
['i'] = '#',
- ['j'] = 0x0B,
- ['k'] = 0x0C,
- ['l'] = 0x0D,
- ['m'] = 0x0E,
- ['n'] = 0x0F,
- ['o'] = 0x10,
- ['p'] = 0x11,
- ['q'] = 0x12,
- ['r'] = 0x13,
- ['s'] = 0x14,
- ['t'] = 0x15,
- ['u'] = 0x16,
- ['v'] = 0x17,
- ['w'] = 0x18,
- ['x'] = 0x19,
- ['y'] = 0x1A,
- ['z'] = 0x1B,
- ['{'] = 0x1C,
- ['|'] = 0x1D,
- ['}'] = 0x1E,
- ['~'] = 0x1F,
[255] = 0,
};
+
+/* double-click timeout (in milliseconds) between clicks for selection */
+#define DOUBLECLICK_TIMEOUT 300
+#define TRIPLECLICK_TIMEOUT (2*DOUBLECLICK_TIMEOUT)
+
+#define TAB 8