|
|
@ -5,8 +5,8 @@
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
|
|
|
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static char font[] = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
|
|
|
char font[] = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
|
|
|
static int borderpx = 2;
|
|
|
|
int borderpx = 2;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* What program is execed by st depends of these precedence rules:
|
|
|
|
* What program is execed by st depends of these precedence rules:
|
|
|
@ -24,8 +24,8 @@ static char stty_args[] = "stty raw pass8 nl -echo -iexten -cstopb 38400";
|
|
|
|
static char vtiden[] = "\033[?6c";
|
|
|
|
static char vtiden[] = "\033[?6c";
|
|
|
|
|
|
|
|
|
|
|
|
/* Kerning / character bounding-box multipliers */
|
|
|
|
/* Kerning / character bounding-box multipliers */
|
|
|
|
static float cwscale = 1.0;
|
|
|
|
float cwscale = 1.0;
|
|
|
|
static float chscale = 1.0;
|
|
|
|
float chscale = 1.0;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* word delimiter string
|
|
|
|
* word delimiter string
|
|
|
@ -35,26 +35,26 @@ static float chscale = 1.0;
|
|
|
|
static char worddelimiters[] = " ";
|
|
|
|
static char worddelimiters[] = " ";
|
|
|
|
|
|
|
|
|
|
|
|
/* selection timeouts (in milliseconds) */
|
|
|
|
/* selection timeouts (in milliseconds) */
|
|
|
|
static unsigned int doubleclicktimeout = 300;
|
|
|
|
unsigned int doubleclicktimeout = 300;
|
|
|
|
static unsigned int tripleclicktimeout = 600;
|
|
|
|
unsigned int tripleclicktimeout = 600;
|
|
|
|
|
|
|
|
|
|
|
|
/* alt screens */
|
|
|
|
/* alt screens */
|
|
|
|
static int allowaltscreen = 1;
|
|
|
|
int allowaltscreen = 1;
|
|
|
|
|
|
|
|
|
|
|
|
/* frames per second st should at maximum draw to the screen */
|
|
|
|
/* frames per second st should at maximum draw to the screen */
|
|
|
|
static unsigned int xfps = 120;
|
|
|
|
unsigned int xfps = 120;
|
|
|
|
static unsigned int actionfps = 30;
|
|
|
|
unsigned int actionfps = 30;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
|
|
|
* blinking timeout (set to 0 to disable blinking) for the terminal blinking
|
|
|
|
* attribute.
|
|
|
|
* attribute.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int blinktimeout = 800;
|
|
|
|
unsigned int blinktimeout = 800;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* thickness of underline and bar cursors
|
|
|
|
* thickness of underline and bar cursors
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int cursorthickness = 2;
|
|
|
|
unsigned int cursorthickness = 2;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
|
|
|
* bell volume. It must be a value between -100 and 100. Use 0 for disabling
|
|
|
@ -63,7 +63,7 @@ static unsigned int cursorthickness = 2;
|
|
|
|
static int bellvolume = 0;
|
|
|
|
static int bellvolume = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/* default TERM value */
|
|
|
|
/* default TERM value */
|
|
|
|
static char termname[] = "st-256color";
|
|
|
|
char termname[] = "st-256color";
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* spaces per tab
|
|
|
|
* spaces per tab
|
|
|
@ -83,7 +83,7 @@ static char termname[] = "st-256color";
|
|
|
|
static unsigned int tabspaces = 8;
|
|
|
|
static unsigned int tabspaces = 8;
|
|
|
|
|
|
|
|
|
|
|
|
/* Terminal colors (16 first used in escape sequence) */
|
|
|
|
/* Terminal colors (16 first used in escape sequence) */
|
|
|
|
static const char *colorname[] = {
|
|
|
|
const char *colorname[] = {
|
|
|
|
/* 8 normal colors */
|
|
|
|
/* 8 normal colors */
|
|
|
|
"black",
|
|
|
|
"black",
|
|
|
|
"red3",
|
|
|
|
"red3",
|
|
|
@ -116,10 +116,10 @@ static const char *colorname[] = {
|
|
|
|
* Default colors (colorname index)
|
|
|
|
* Default colors (colorname index)
|
|
|
|
* foreground, background, cursor, reverse cursor
|
|
|
|
* foreground, background, cursor, reverse cursor
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int defaultfg = 7;
|
|
|
|
unsigned int defaultfg = 7;
|
|
|
|
static unsigned int defaultbg = 0;
|
|
|
|
unsigned int defaultbg = 0;
|
|
|
|
static unsigned int defaultcs = 256;
|
|
|
|
unsigned int defaultcs = 256;
|
|
|
|
static unsigned int defaultrcs = 257;
|
|
|
|
unsigned int defaultrcs = 257;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Default shape of cursor
|
|
|
|
* Default shape of cursor
|
|
|
@ -128,33 +128,33 @@ static unsigned int defaultrcs = 257;
|
|
|
|
* 6: Bar ("|")
|
|
|
|
* 6: Bar ("|")
|
|
|
|
* 7: Snowman ("☃")
|
|
|
|
* 7: Snowman ("☃")
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int cursorshape = 2;
|
|
|
|
unsigned int cursorshape = 2;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Default columns and rows numbers
|
|
|
|
* Default columns and rows numbers
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
static unsigned int cols = 80;
|
|
|
|
unsigned int cols = 80;
|
|
|
|
static unsigned int rows = 24;
|
|
|
|
unsigned int rows = 24;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Default colour and shape of the mouse cursor
|
|
|
|
* Default colour and shape of the mouse cursor
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int mouseshape = XC_xterm;
|
|
|
|
unsigned int mouseshape = XC_xterm;
|
|
|
|
static unsigned int mousefg = 7;
|
|
|
|
unsigned int mousefg = 7;
|
|
|
|
static unsigned int mousebg = 0;
|
|
|
|
unsigned int mousebg = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Color used to display font attributes when fontconfig selected a font which
|
|
|
|
* Color used to display font attributes when fontconfig selected a font which
|
|
|
|
* doesn't match the ones requested.
|
|
|
|
* doesn't match the ones requested.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static unsigned int defaultattr = 11;
|
|
|
|
unsigned int defaultattr = 11;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Internal mouse shortcuts.
|
|
|
|
* Internal mouse shortcuts.
|
|
|
|
* Beware that overloading Button1 will disable the selection.
|
|
|
|
* Beware that overloading Button1 will disable the selection.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static MouseShortcut mshortcuts[] = {
|
|
|
|
MouseShortcut mshortcuts[] = {
|
|
|
|
/* button mask string */
|
|
|
|
/* button mask string */
|
|
|
|
{ Button4, XK_ANY_MOD, "\031" },
|
|
|
|
{ Button4, XK_ANY_MOD, "\031" },
|
|
|
|
{ Button5, XK_ANY_MOD, "\005" },
|
|
|
|
{ Button5, XK_ANY_MOD, "\005" },
|
|
|
@ -163,15 +163,15 @@ static MouseShortcut mshortcuts[] = {
|
|
|
|
/* Internal keyboard shortcuts. */
|
|
|
|
/* Internal keyboard shortcuts. */
|
|
|
|
#define MODKEY Mod1Mask
|
|
|
|
#define MODKEY Mod1Mask
|
|
|
|
|
|
|
|
|
|
|
|
static Shortcut shortcuts[] = {
|
|
|
|
Shortcut shortcuts[] = {
|
|
|
|
/* mask keysym function argument */
|
|
|
|
/* mask keysym function argument */
|
|
|
|
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
|
|
|
{ XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} },
|
|
|
|
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
|
|
|
{ ControlMask, XK_Print, toggleprinter, {.i = 0} },
|
|
|
|
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
|
|
|
{ ShiftMask, XK_Print, printscreen, {.i = 0} },
|
|
|
|
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
|
|
|
{ XK_ANY_MOD, XK_Print, printsel, {.i = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Prior, xzoom, {.f = +1} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Prior, zoom, {.f = +1} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Next, xzoom, {.f = -1} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Next, zoom, {.f = -1} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Home, xzoomreset, {.f = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Home, zoomreset, {.f = 0} },
|
|
|
|
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
|
|
|
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_C, clipcopy, {.i = 0} },
|
|
|
|
{ MODKEY|ShiftMask, XK_C, clipcopy, {.i = 0} },
|
|
|
@ -222,7 +222,7 @@ static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
|
|
|
|
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
|
|
|
* Note that if you want to use ShiftMask with selmasks, set this to an other
|
|
|
|
* modifier, set to 0 to not use it.
|
|
|
|
* modifier, set to 0 to not use it.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static uint forceselmod = ShiftMask;
|
|
|
|
uint forceselmod = ShiftMask;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* This is the huge key array which defines all compatibility to the Linux
|
|
|
|
* This is the huge key array which defines all compatibility to the Linux
|
|
|
@ -451,7 +451,7 @@ static Key key[] = {
|
|
|
|
* ButtonRelease and MotionNotify.
|
|
|
|
* ButtonRelease and MotionNotify.
|
|
|
|
* If no match is found, regular selection is used.
|
|
|
|
* If no match is found, regular selection is used.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static uint selmasks[] = {
|
|
|
|
uint selmasks[] = {
|
|
|
|
[SEL_RECTANGULAR] = Mod1Mask,
|
|
|
|
[SEL_RECTANGULAR] = Mod1Mask,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
@ -459,7 +459,7 @@ static uint selmasks[] = {
|
|
|
|
* Printable characters in ASCII, used to estimate the advance width
|
|
|
|
* Printable characters in ASCII, used to estimate the advance width
|
|
|
|
* of single wide characters.
|
|
|
|
* of single wide characters.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
static char ascii_printable[] =
|
|
|
|
char ascii_printable[] =
|
|
|
|
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
|
|
|
" !\"#$%&'()*+,-./0123456789:;<=>?"
|
|
|
|
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
|
|
|
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
|
|
|
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
|
|
|
"`abcdefghijklmnopqrstuvwxyz{|}~";
|
|
|
|