Compare commits
No commits in common. "cae36041b4ce3057f79c019f74da9e5280a0d049" and "4397a1814fd1ecc998c0dcd542ae2fcc8da6827f" have entirely different histories.
cae36041b4
...
4397a1814f
7 changed files with 66 additions and 287 deletions
110
config.def.h
110
config.def.h
|
|
@ -5,10 +5,13 @@
|
||||||
*
|
*
|
||||||
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
* font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||||
*/
|
*/
|
||||||
static char *font = "Cascadia Code NF:regular:pixelsize=13.5:fontfeatures=calt,ss01:antialias=true:autohint=true";
|
static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
||||||
#if FONT2_PATCH
|
#if FONT2_PATCH
|
||||||
/* Spare fonts */
|
/* Spare fonts */
|
||||||
static char *font2[] = { "CaskaydiaCove Nerd Font:pixelsize=13.5:antialias=true:autohint=true" };
|
static char *font2[] = {
|
||||||
|
/* "Inconsolata for Powerline:pixelsize=12:antialias=true:autohint=true", */
|
||||||
|
/* "Hack Nerd Font Mono:pixelsize=11:antialias=true:autohint=true", */
|
||||||
|
};
|
||||||
#endif // FONT2_PATCH
|
#endif // FONT2_PATCH
|
||||||
|
|
||||||
#if BACKGROUND_IMAGE_PATCH
|
#if BACKGROUND_IMAGE_PATCH
|
||||||
|
|
@ -127,11 +130,11 @@ int hidecursor = 1;
|
||||||
* Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored.
|
* Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored.
|
||||||
* 0: disable (render all U25XX glyphs normally from the font).
|
* 0: disable (render all U25XX glyphs normally from the font).
|
||||||
*/
|
*/
|
||||||
const int boxdraw = 1;
|
const int boxdraw = 0;
|
||||||
const int boxdraw_bold = 1;
|
const int boxdraw_bold = 0;
|
||||||
|
|
||||||
/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */
|
/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */
|
||||||
const int boxdraw_braille = 1;
|
const int boxdraw_braille = 0;
|
||||||
#endif // BOXDRAW_PATCH
|
#endif // BOXDRAW_PATCH
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -173,68 +176,35 @@ float alphaUnfocused = 0.6;
|
||||||
#endif // ALPHA_PATCH
|
#endif // ALPHA_PATCH
|
||||||
|
|
||||||
/* Terminal colors (16 first used in escape sequence) */
|
/* Terminal colors (16 first used in escape sequence) */
|
||||||
static char *colorname[] = {
|
static const char *colorname[] = {
|
||||||
"#011627", /* hard contrast: #1d2021 / soft contrast: #32302f */
|
/* 8 normal colors */
|
||||||
"#d3423e",
|
"black",
|
||||||
"#2aa298",
|
"red3",
|
||||||
"#daaa01",
|
"green3",
|
||||||
"#4876d6",
|
"yellow3",
|
||||||
"#403f53",
|
"blue2",
|
||||||
"#08916a",
|
"magenta3",
|
||||||
"#7a8181",
|
"cyan3",
|
||||||
"#7a8181",
|
"gray90",
|
||||||
"#f76e6e",
|
|
||||||
"#49d0c5",
|
/* 8 bright colors */
|
||||||
"#dac26b",
|
"gray50",
|
||||||
"#5ca7e4",
|
"red",
|
||||||
"#697098",
|
"green",
|
||||||
"#00c990",
|
"yellow",
|
||||||
"#989fb1",
|
"#5c5cff",
|
||||||
|
"magenta",
|
||||||
|
"cyan",
|
||||||
|
"white",
|
||||||
|
|
||||||
[255] = 0,
|
[255] = 0,
|
||||||
|
|
||||||
/* more colors can be added after 255 to use with DefaultXX */
|
/* more colors can be added after 255 to use with DefaultXX */
|
||||||
"#403f53", /* 256 -> cursor */
|
"#add8e6", /* 256 -> cursor */
|
||||||
"#f2f2f2", /* 257 -> rev cursor*/
|
|
||||||
"#ffffff", /* 258 -> bg */
|
|
||||||
"#403f53", /* 259 -> fg */
|
|
||||||
};
|
|
||||||
|
|
||||||
#if DARKMAN_PATCH
|
|
||||||
#define colorname_len (sizeof(colorname) / sizeof(char *))
|
|
||||||
|
|
||||||
enum theme {
|
|
||||||
THEME_LIGHT,
|
|
||||||
THEME_DARK,
|
|
||||||
THEME_NUM,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Terminal colors (16 first used in escape sequence) */
|
|
||||||
static const char *colornames[THEME_NUM][colorname_len] = {
|
|
||||||
{ }, {
|
|
||||||
"#1a1a1a", /* hard contrast: #1d2021 / soft contrast: #32302f */
|
|
||||||
"#f4005f",
|
|
||||||
"#98e024",
|
|
||||||
"#fa8419",
|
|
||||||
"#9d65ff",
|
|
||||||
"#f4005f",
|
|
||||||
"#58d1eb",
|
|
||||||
"#c4c5b5",
|
|
||||||
"#625e4c",
|
|
||||||
"#f4005f",
|
|
||||||
"#98e024",
|
|
||||||
"#e0d561",
|
|
||||||
"#9d65ff",
|
|
||||||
"#f4005f",
|
|
||||||
"#58d1eb",
|
|
||||||
"#f6f6ef",
|
|
||||||
[255] = 0,
|
|
||||||
/* more colors can be added after 255 to use with DefaultXX */
|
|
||||||
"#aaaaaa", /* 256 -> cursor */
|
|
||||||
"#555555", /* 257 -> rev cursor*/
|
"#555555", /* 257 -> rev cursor*/
|
||||||
"#000000", /* 258 -> bg */
|
"#000000", /* 258 -> bg */
|
||||||
"#ffffff", /* 259 -> fg */
|
"#e5e5e5", /* 259 -> fg */
|
||||||
}};
|
};
|
||||||
|
|
||||||
#endif // DARKMAN_PATCH
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -398,8 +368,8 @@ static MouseShortcut mshortcuts[] = {
|
||||||
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
{ XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 },
|
||||||
#endif // CLIPBOARD_PATCH
|
#endif // CLIPBOARD_PATCH
|
||||||
#if SCROLLBACK_MOUSE_PATCH
|
#if SCROLLBACK_MOUSE_PATCH
|
||||||
{ ShiftMask, Button4, kscrollup, {.i = 4}, 0, S_PRI},
|
{ ShiftMask, Button4, kscrollup, {.i = 1}, 0, S_PRI},
|
||||||
{ ShiftMask, Button5, kscrolldown, {.i = 4}, 0, S_PRI},
|
{ ShiftMask, Button5, kscrolldown, {.i = 1}, 0, S_PRI},
|
||||||
#elif UNIVERSCROLL_PATCH
|
#elif UNIVERSCROLL_PATCH
|
||||||
{ XK_ANY_MOD, Button4, ttysend, {.s = "\033[5;2~"}, 0, S_PRI },
|
{ XK_ANY_MOD, Button4, ttysend, {.s = "\033[5;2~"}, 0, S_PRI },
|
||||||
{ XK_ANY_MOD, Button5, ttysend, {.s = "\033[6;2~"}, 0, S_PRI },
|
{ XK_ANY_MOD, Button5, ttysend, {.s = "\033[6;2~"}, 0, S_PRI },
|
||||||
|
|
@ -408,8 +378,8 @@ static MouseShortcut mshortcuts[] = {
|
||||||
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
{ ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} },
|
||||||
#endif // SCROLLBACK_MOUSE_PATCH
|
#endif // SCROLLBACK_MOUSE_PATCH
|
||||||
#if SCROLLBACK_MOUSE_ALTSCREEN_PATCH || REFLOW_PATCH
|
#if SCROLLBACK_MOUSE_ALTSCREEN_PATCH || REFLOW_PATCH
|
||||||
{ XK_ANY_MOD, Button4, kscrollup, {.i = 4}, 0, S_PRI },
|
{ XK_ANY_MOD, Button4, kscrollup, {.i = 1}, 0, S_PRI },
|
||||||
{ XK_ANY_MOD, Button5, kscrolldown, {.i = 4}, 0, S_PRI },
|
{ XK_ANY_MOD, Button5, kscrolldown, {.i = 1}, 0, S_PRI },
|
||||||
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"}, 0, S_ALT },
|
{ XK_ANY_MOD, Button4, ttysend, {.s = "\031"}, 0, S_ALT },
|
||||||
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"}, 0, S_ALT },
|
{ XK_ANY_MOD, Button5, ttysend, {.s = "\005"}, 0, S_ALT },
|
||||||
#else
|
#else
|
||||||
|
|
@ -440,8 +410,8 @@ static Shortcut shortcuts[] = {
|
||||||
{ 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 | ControlMask, XK_comma, zoom, {.f = +1} },
|
{ TERMMOD, XK_Prior, zoom, {.f = +1} },
|
||||||
{ MODKEY | ControlMask, XK_semicolon, zoom, {.f = -1} },
|
{ TERMMOD, XK_Next, zoom, {.f = -1} },
|
||||||
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
{ TERMMOD, XK_Home, zoomreset, {.f = 0} },
|
||||||
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
|
||||||
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
{ TERMMOD, XK_V, clippaste, {.i = 0} },
|
||||||
|
|
@ -485,7 +455,7 @@ static Shortcut shortcuts[] = {
|
||||||
#endif // EXTERNALPIPEIN_PATCH
|
#endif // EXTERNALPIPEIN_PATCH
|
||||||
#endif // EXTERNALPIPE_PATCH
|
#endif // EXTERNALPIPE_PATCH
|
||||||
#if KEYBOARDSELECT_PATCH
|
#if KEYBOARDSELECT_PATCH
|
||||||
{ TERMMOD, XK_space, keyboard_select, { 0 } },
|
{ TERMMOD, XK_Escape, keyboard_select, { 0 } },
|
||||||
#endif // KEYBOARDSELECT_PATCH
|
#endif // KEYBOARDSELECT_PATCH
|
||||||
#if KEYBOARDSELECT_PATCH && REFLOW_PATCH
|
#if KEYBOARDSELECT_PATCH && REFLOW_PATCH
|
||||||
{ TERMMOD, XK_F, searchforward, { 0 } },
|
{ TERMMOD, XK_F, searchforward, { 0 } },
|
||||||
|
|
|
||||||
12
config.mk
12
config.mk
|
|
@ -21,14 +21,14 @@ PKG_CONFIG = pkg-config
|
||||||
#XCURSOR = `$(PKG_CONFIG) --libs xcursor`
|
#XCURSOR = `$(PKG_CONFIG) --libs xcursor`
|
||||||
|
|
||||||
# Uncomment the lines below for the ligatures patch / LIGATURES_PATCH
|
# Uncomment the lines below for the ligatures patch / LIGATURES_PATCH
|
||||||
LIGATURES_C = hb.c
|
#LIGATURES_C = hb.c
|
||||||
LIGATURES_H = hb.h
|
#LIGATURES_H = hb.h
|
||||||
LIGATURES_INC = `$(PKG_CONFIG) --cflags harfbuzz`
|
#LIGATURES_INC = `$(PKG_CONFIG) --cflags harfbuzz`
|
||||||
LIGATURES_LIBS = `$(PKG_CONFIG) --libs harfbuzz`
|
#LIGATURES_LIBS = `$(PKG_CONFIG) --libs harfbuzz`
|
||||||
|
|
||||||
# Uncomment this for the SIXEL patch / SIXEL_PATCH
|
# Uncomment this for the SIXEL patch / SIXEL_PATCH
|
||||||
SIXEL_C = sixel.c sixel_hls.c
|
#SIXEL_C = sixel.c sixel_hls.c
|
||||||
SIXEL_LIBS = `$(PKG_CONFIG) --libs imlib2`
|
#SIXEL_LIBS = `$(PKG_CONFIG) --libs imlib2`
|
||||||
|
|
||||||
# Uncomment for the netwmicon patch / NETWMICON_PATCH
|
# Uncomment for the netwmicon patch / NETWMICON_PATCH
|
||||||
#NETWMICON_LIBS = `$(PKG_CONFIG) --libs gdlib`
|
#NETWMICON_LIBS = `$(PKG_CONFIG) --libs gdlib`
|
||||||
|
|
|
||||||
56
default.nix
56
default.nix
|
|
@ -1,56 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, pkg-config
|
|
||||||
, fontconfig
|
|
||||||
, freetype
|
|
||||||
, libX11
|
|
||||||
, libXft
|
|
||||||
, harfbuzz
|
|
||||||
, gd
|
|
||||||
, glib
|
|
||||||
, ncurses
|
|
||||||
, writeText
|
|
||||||
, conf ? null
|
|
||||||
, patches ? []
|
|
||||||
, extraLibs ? []
|
|
||||||
, nixosTests
|
|
||||||
, imlib2
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "st";
|
|
||||||
version = "0.8.5";
|
|
||||||
|
|
||||||
src = ./.;
|
|
||||||
inherit patches;
|
|
||||||
|
|
||||||
configFile =
|
|
||||||
lib.optionalString (conf != null) (writeText "config.def.h" conf);
|
|
||||||
|
|
||||||
postPatch = lib.optionalString (conf != null) "cp ${configFile} config.def.h"
|
|
||||||
+ lib.optionalString stdenv.isDarwin ''
|
|
||||||
substituteInPlace config.mk --replace "-lrt" ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
strictDeps = true;
|
|
||||||
|
|
||||||
makeFlags = [ "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ncurses fontconfig freetype ];
|
|
||||||
buildInputs = [ libX11 libXft harfbuzz gd glib imlib2 ] ++ extraLibs;
|
|
||||||
|
|
||||||
preInstall = ''
|
|
||||||
export TERMINFO=$out/share/terminfo
|
|
||||||
'';
|
|
||||||
|
|
||||||
installFlags = [ "PREFIX=$(out)" ];
|
|
||||||
|
|
||||||
passthru.tests.test = nixosTests.terminal-emulators.st;
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "st terminal";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ sioodmy ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
61
flake.lock
generated
61
flake.lock
generated
|
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736549401,
|
|
||||||
"narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-24.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
41
flake.nix
41
flake.nix
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
description = "st terminal";
|
|
||||||
|
|
||||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
|
||||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils }:
|
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
|
||||||
let pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
in rec {
|
|
||||||
packages = flake-utils.lib.flattenTree {
|
|
||||||
st = pkgs.callPackage ./default.nix { };
|
|
||||||
};
|
|
||||||
defaultPackage = packages.st;
|
|
||||||
apps.st = flake-utils.lib.mkApp {
|
|
||||||
drv = packages.st;
|
|
||||||
exePath = "/bin/st";
|
|
||||||
};
|
|
||||||
apps.default = apps.st;
|
|
||||||
defaultApp = apps.st;
|
|
||||||
devShell = pkgs.mkShell rec {
|
|
||||||
name = "st";
|
|
||||||
packages = with pkgs; [
|
|
||||||
pkg-config
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXft
|
|
||||||
fontconfig
|
|
||||||
harfbuzz.dev
|
|
||||||
imlib2
|
|
||||||
gd
|
|
||||||
glib
|
|
||||||
# ccls
|
|
||||||
# bear
|
|
||||||
# lldb
|
|
||||||
# gdb
|
|
||||||
# valgrind
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
* when including this patch.
|
* when including this patch.
|
||||||
* https://st.suckless.org/patches/alpha/
|
* https://st.suckless.org/patches/alpha/
|
||||||
*/
|
*/
|
||||||
#define ALPHA_PATCH 1
|
#define ALPHA_PATCH 0
|
||||||
|
|
||||||
/* The alpha focus highlight patch allows the user to specify two distinct opacity values or
|
/* The alpha focus highlight patch allows the user to specify two distinct opacity values or
|
||||||
* background colors in order to easily differentiate between focused and unfocused terminal
|
* background colors in order to easily differentiate between focused and unfocused terminal
|
||||||
|
|
@ -70,12 +70,12 @@
|
||||||
* This patch makes bold text rendered simply as bold, leaving the color unaffected.
|
* This patch makes bold text rendered simply as bold, leaving the color unaffected.
|
||||||
* https://st.suckless.org/patches/bold-is-not-bright/
|
* https://st.suckless.org/patches/bold-is-not-bright/
|
||||||
*/
|
*/
|
||||||
#define BOLD_IS_NOT_BRIGHT_PATCH 1
|
#define BOLD_IS_NOT_BRIGHT_PATCH 0
|
||||||
|
|
||||||
/* This patch adds custom rendering of lines/blocks/braille characters for gapless alignment.
|
/* This patch adds custom rendering of lines/blocks/braille characters for gapless alignment.
|
||||||
* https://st.suckless.org/patches/boxdraw/
|
* https://st.suckless.org/patches/boxdraw/
|
||||||
*/
|
*/
|
||||||
#define BOXDRAW_PATCH 1
|
#define BOXDRAW_PATCH 0
|
||||||
|
|
||||||
/* By default st only sets PRIMARY on selection.
|
/* By default st only sets PRIMARY on selection.
|
||||||
* This patch makes st set CLIPBOARD on selection.
|
* This patch makes st set CLIPBOARD on selection.
|
||||||
|
|
@ -176,7 +176,7 @@
|
||||||
* that are available to GUI applications.
|
* that are available to GUI applications.
|
||||||
* https://st.suckless.org/patches/fix_keyboard_input/
|
* https://st.suckless.org/patches/fix_keyboard_input/
|
||||||
*/
|
*/
|
||||||
#define FIXKEYBOARDINPUT_PATCH 1
|
#define FIXKEYBOARDINPUT_PATCH 0
|
||||||
|
|
||||||
/* This patch allows you to add spare font besides the default. Some glyphs can be not present in
|
/* This patch allows you to add spare font besides the default. Some glyphs can be not present in
|
||||||
* the default font. For this glyphs st uses font-config and try to find them in font cache first.
|
* the default font. For this glyphs st uses font-config and try to find them in font cache first.
|
||||||
|
|
@ -184,7 +184,7 @@
|
||||||
* So they will be used first for glyphs that are absent in the default font.
|
* So they will be used first for glyphs that are absent in the default font.
|
||||||
* https://st.suckless.org/patches/font2/
|
* https://st.suckless.org/patches/font2/
|
||||||
*/
|
*/
|
||||||
#define FONT2_PATCH 1
|
#define FONT2_PATCH 0
|
||||||
|
|
||||||
/* This patch adds the ability to toggle st into fullscreen mode.
|
/* This patch adds the ability to toggle st into fullscreen mode.
|
||||||
* Two key bindings are defined: F11 which is typical with other applications and Alt+Enter
|
* Two key bindings are defined: F11 which is typical with other applications and Alt+Enter
|
||||||
|
|
@ -223,7 +223,7 @@
|
||||||
*
|
*
|
||||||
* https://st.suckless.org/patches/keyboard_select/
|
* https://st.suckless.org/patches/keyboard_select/
|
||||||
*/
|
*/
|
||||||
#define KEYBOARDSELECT_PATCH 1
|
#define KEYBOARDSELECT_PATCH 0
|
||||||
|
|
||||||
/* This patch adds support for drawing ligatures using the Harfbuzz library to transform
|
/* This patch adds support for drawing ligatures using the Harfbuzz library to transform
|
||||||
* original text of a single line to a list of glyphs with ligatures included.
|
* original text of a single line to a list of glyphs with ligatures included.
|
||||||
|
|
@ -239,9 +239,6 @@
|
||||||
*/
|
*/
|
||||||
#define FONTFEATURES_PATCH 1
|
#define FONTFEATURES_PATCH 1
|
||||||
|
|
||||||
#define DARKMAN_PATCH 1
|
|
||||||
|
|
||||||
|
|
||||||
/* This patch makes st ignore terminal color attributes by forcing display of the default
|
/* This patch makes st ignore terminal color attributes by forcing display of the default
|
||||||
* foreground and background colors only - making for a monochrome look. Idea ref.
|
* foreground and background colors only - making for a monochrome look. Idea ref.
|
||||||
* https://www.reddit.com/r/suckless/comments/ixbx6z/how_to_use_black_and_white_only_for_st/
|
* https://www.reddit.com/r/suckless/comments/ixbx6z/how_to_use_black_and_white_only_for_st/
|
||||||
|
|
@ -286,7 +283,7 @@
|
||||||
* same CWD (current working directory) as the original st instance.
|
* same CWD (current working directory) as the original st instance.
|
||||||
* https://st.suckless.org/patches/newterm/
|
* https://st.suckless.org/patches/newterm/
|
||||||
*/
|
*/
|
||||||
#define NEWTERM_PATCH 1
|
#define NEWTERM_PATCH 0
|
||||||
|
|
||||||
/* This patch will set the _MOTIF_WM_HINTS property for the st window which, if the window manager
|
/* This patch will set the _MOTIF_WM_HINTS property for the st window which, if the window manager
|
||||||
* respects it, will show the st window without window decorations.
|
* respects it, will show the st window without window decorations.
|
||||||
|
|
@ -306,7 +303,7 @@
|
||||||
*
|
*
|
||||||
* https://www.reddit.com/r/suckless/comments/cc83om/st_open_url/
|
* https://www.reddit.com/r/suckless/comments/cc83om/st_open_url/
|
||||||
*/
|
*/
|
||||||
#define OPENURLONCLICK_PATCH 1
|
#define OPENURLONCLICK_PATCH 0
|
||||||
|
|
||||||
/* This patch allows st to fetch the current working directory through the OSC 7 escape
|
/* This patch allows st to fetch the current working directory through the OSC 7 escape
|
||||||
* sequence emitted by shells. Must be used with newterm patch.
|
* sequence emitted by shells. Must be used with newterm patch.
|
||||||
|
|
@ -328,7 +325,7 @@
|
||||||
* Text wraps when the terminal window is made smaller.
|
* Text wraps when the terminal window is made smaller.
|
||||||
* Comes with scrollback.
|
* Comes with scrollback.
|
||||||
*/
|
*/
|
||||||
#define REFLOW_PATCH 1
|
#define REFLOW_PATCH 0
|
||||||
|
|
||||||
/* This patch allows you to specify a border that is relative in size to the width of a cell
|
/* This patch allows you to specify a border that is relative in size to the width of a cell
|
||||||
* in the terminal.
|
* in the terminal.
|
||||||
|
|
@ -345,19 +342,19 @@
|
||||||
/* Scroll back through terminal output using Shift+{PageUp, PageDown}.
|
/* Scroll back through terminal output using Shift+{PageUp, PageDown}.
|
||||||
* https://st.suckless.org/patches/scrollback/
|
* https://st.suckless.org/patches/scrollback/
|
||||||
*/
|
*/
|
||||||
#define SCROLLBACK_PATCH 1
|
#define SCROLLBACK_PATCH 0
|
||||||
|
|
||||||
/* Scroll back through terminal output using Shift+MouseWheel.
|
/* Scroll back through terminal output using Shift+MouseWheel.
|
||||||
* This variant depends on SCROLLBACK_PATCH being enabled.
|
* This variant depends on SCROLLBACK_PATCH being enabled.
|
||||||
* https://st.suckless.org/patches/scrollback/
|
* https://st.suckless.org/patches/scrollback/
|
||||||
*/
|
*/
|
||||||
#define SCROLLBACK_MOUSE_PATCH 1
|
#define SCROLLBACK_MOUSE_PATCH 0
|
||||||
|
|
||||||
/* Scroll back through terminal output using mouse wheel (when not in MODE_ALTSCREEN).
|
/* Scroll back through terminal output using mouse wheel (when not in MODE_ALTSCREEN).
|
||||||
* This variant depends on SCROLLBACK_PATCH being enabled.
|
* This variant depends on SCROLLBACK_PATCH being enabled.
|
||||||
* https://st.suckless.org/patches/scrollback/
|
* https://st.suckless.org/patches/scrollback/
|
||||||
*/
|
*/
|
||||||
#define SCROLLBACK_MOUSE_ALTSCREEN_PATCH 1
|
#define SCROLLBACK_MOUSE_ALTSCREEN_PATCH 0
|
||||||
|
|
||||||
/* This patch adds the two color-settings selectionfg and selectionbg to config.def.h.
|
/* This patch adds the two color-settings selectionfg and selectionbg to config.def.h.
|
||||||
* Those define the fore- and background colors which are used when text on the screen is selected
|
* Those define the fore- and background colors which are used when text on the screen is selected
|
||||||
|
|
@ -385,7 +382,7 @@
|
||||||
*
|
*
|
||||||
* https://gist.github.com/saitoha/70e0fdf22e3e8f63ce937c7f7da71809
|
* https://gist.github.com/saitoha/70e0fdf22e3e8f63ce937c7f7da71809
|
||||||
*/
|
*/
|
||||||
#define SIXEL_PATCH 1
|
#define SIXEL_PATCH 0
|
||||||
|
|
||||||
/* This patch allows clients to embed into the st window and is useful if you tend to
|
/* This patch allows clients to embed into the st window and is useful if you tend to
|
||||||
* start X applications from the terminal. For example:
|
* start X applications from the terminal. For example:
|
||||||
|
|
@ -445,7 +442,7 @@
|
||||||
*
|
*
|
||||||
* https://st.suckless.org/patches/undercurl/
|
* https://st.suckless.org/patches/undercurl/
|
||||||
*/
|
*/
|
||||||
#define UNDERCURL_PATCH 1
|
#define UNDERCURL_PATCH 0
|
||||||
|
|
||||||
/* Allows mouse scroll without modifier keys for regardless of alt screen using the external
|
/* Allows mouse scroll without modifier keys for regardless of alt screen using the external
|
||||||
* scroll program.
|
* scroll program.
|
||||||
|
|
|
||||||
36
x.c
36
x.c
|
|
@ -795,13 +795,10 @@ setsel(char *str, Time t)
|
||||||
#endif // CLIPBOARD_PATCH
|
#endif // CLIPBOARD_PATCH
|
||||||
}
|
}
|
||||||
|
|
||||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH || DARKMAN_PATCH
|
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH
|
||||||
void
|
void
|
||||||
sigusr1_reload(int sig)
|
sigusr1_reload(int sig)
|
||||||
{
|
{
|
||||||
#if DARKMAN_PATCH
|
|
||||||
xloadcols();
|
|
||||||
#endif // DARKMAN_PATCH
|
|
||||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH
|
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH
|
||||||
reload_config(sig);
|
reload_config(sig);
|
||||||
#endif // XRESOURCES_RELOAD_PATCH
|
#endif // XRESOURCES_RELOAD_PATCH
|
||||||
|
|
@ -979,28 +976,6 @@ xloadalpha(void)
|
||||||
}
|
}
|
||||||
#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
|
#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
|
||||||
|
|
||||||
#if DARKMAN_PATCH
|
|
||||||
void
|
|
||||||
darkmanThemeChoose() {
|
|
||||||
FILE *fp;
|
|
||||||
char path[128];
|
|
||||||
|
|
||||||
fp = popen("darkman get", "r");
|
|
||||||
if (fp == NULL) {
|
|
||||||
memcpy(colorname, colornames[0], sizeof(colorname));
|
|
||||||
} else {
|
|
||||||
/* match the stdout with the theme */
|
|
||||||
while (fgets(path, sizeof(path)-1, fp) != NULL) {
|
|
||||||
if (strcmp(path, "light\n") == 0) {
|
|
||||||
memcpy(colorname, colornames[0], sizeof(colorname));
|
|
||||||
} else if (strcmp(path, "dark\n") == 0) {
|
|
||||||
memcpy(colorname, colornames[1], sizeof(colorname));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // DARKMAN_PATCH
|
|
||||||
|
|
||||||
#if ALPHA_PATCH && ALPHA_FOCUS_HIGHLIGHT_PATCH
|
#if ALPHA_PATCH && ALPHA_FOCUS_HIGHLIGHT_PATCH
|
||||||
void
|
void
|
||||||
xloadcols(void)
|
xloadcols(void)
|
||||||
|
|
@ -1034,8 +1009,6 @@ xloadcols(void)
|
||||||
static int loaded;
|
static int loaded;
|
||||||
Color *cp;
|
Color *cp;
|
||||||
|
|
||||||
darkmanThemeChoose();
|
|
||||||
|
|
||||||
if (loaded) {
|
if (loaded) {
|
||||||
for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp)
|
for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp)
|
||||||
XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
|
XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
|
||||||
|
|
@ -4005,12 +3978,9 @@ run:
|
||||||
|
|
||||||
setlocale(LC_CTYPE, "");
|
setlocale(LC_CTYPE, "");
|
||||||
XSetLocaleModifiers("");
|
XSetLocaleModifiers("");
|
||||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH || DARKMAN_PATCH
|
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH
|
||||||
signal(SIGUSR1, sigusr1_reload);
|
signal(SIGUSR1, sigusr1_reload);
|
||||||
#endif // XRESOURCES_RELOAD_PATCH | BACKGROUND_IMAGE_RELOAD_PATCH | DARKMAN_PATCH
|
#endif // XRESOURCES_RELOAD_PATCH | BACKGROUND_IMAGE_RELOAD_PATCH
|
||||||
#if DARKMAN_PATCH
|
|
||||||
memcpy(colornames[0], colorname, sizeof(colorname));
|
|
||||||
#endif // DARKMAN_PATCH
|
|
||||||
#if XRESOURCES_PATCH
|
#if XRESOURCES_PATCH
|
||||||
if (!(xw.dpy = XOpenDisplay(NULL)))
|
if (!(xw.dpy = XOpenDisplay(NULL)))
|
||||||
die("Can't open display\n");
|
die("Can't open display\n");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue