From a43109a9a14548c20e0aa87a55a3b685d4ed35e0 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 23 Jul 2023 15:01:35 -0500 Subject: alpha patch applied --- todo.org | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 17 deletions(-) (limited to 'todo.org') diff --git a/todo.org b/todo.org index d2bc0c7..5c2e314 100644 --- a/todo.org +++ b/todo.org @@ -1,18 +1,67 @@ ST Patches * ST Patches Open Work -** TODO [#A] allows alpha transparency -st-alpha-osc11-20220222-0.8.5.diff -** TODO [#A] allows ligatures (must be applied after alpha and scrollback) -st-ligatures-alpha-scrollback-20230105-0.9.diff -** TODO [#B] allows setting of size of ST via the -G parameter -st-anygeometry-0.8.1.diff +** TODO [#A] ligatures (apply after alpha and scrollback) +*** Description and URL +This patch adds proper drawing of ligatures. +The code uses Harfbuzz library to transform original text of a single line to a list of glyphs with ligatures included. + +Note + The patch adds additional dependency on Harfbuzz library and headers. + Original patch was made for vanilla version of ST from latest master commit. It is not 100% compatible with Scrollback and Alpha patches, so I made modified versions that you can apply on top of a Scrollback and/or Alpha patch. + Due to some limitations in drawing engine, ligatures will break when crossing colors, font styles or selection. They will still render properly as separate symbols, just not as ligatures. + Since 0.8.4 patch, there's now a way to enable additional font rendering features. Look into features array in hb.c for details. +Boxdraw + + The original patch does not work very well with the boxdraw patch. Since it requires some additional changes in the code to make ligatures compatible with boxdraw, a special version of the patch was added, that you can apply on top of the boxdraw patch. + It does not include Alpha or Scrollback patches. + +https://st.suckless.org/patches/ligatures/ +https://st.suckless.org/patches/ligatures/0.9/st-ligatures-alpha-scrollback-20230105-0.9.diff +** TODO [#B] externalpipe +*** Description and URLs +Reading and writing st's screen through a pipe. +Example + +config.h example, binding TERMMOD + U to extract all visible URLs and present dmenu to select and open one: + +static char *openurlcmd[] = { "/bin/sh", "-c", + "xurls | dmenu -l 10 -w $WINDOWID | xargs -r open", + "externalpipe", NULL }; +Shortcut shortcuts[] = { + ... + { TERMMOD, XK_U, externalpipe, { .v = openurlcmd } }, +}; + +(xurls and open are external scripts) +xurls: https://raw.github.com/bobrippling/perlbin/master/xurls +open: https://github.com/bobrippling/open +Example Shell Scripts + + link grabber - similar to the function above, but without xurls dependency + https://st.suckless.org/patches/externalpipe/linkgrabber.sh + edit screen - open screen in $EDITOR for copying text + https://st.suckless.org/patches/externalpipe/editscreen.sh + +https://st.suckless.org/patches/externalpipe/ +https://st.suckless.org/patches/externalpipe/st-externalpipe-0.8.4.diff +** TODO [#A] font2 (fallback font for glyphs + emojis) +st-font2-0.8.5.diff +** TODO [#A] right-click sends paste +st-rightclickpaste-0.8.2.diff +** TODO [#B] xresources with signal reloading +*** Description and URLs +This patch adds the ability to configure st via Xresources and signal reloading. This patch is not based on xresources patch and is extended from xst's commit on github. +You can basically pass a USR1 signal to all st processes after updating your Xresources to reload the settings: ` pidof st | xargs kill -s USR1 ` + +https://st.suckless.org/patches/xresources-with-reload-signal/ +https://st.suckless.org/patches/xresources-with-reload-signal/st-xresources-signal-reloading-20220407-ef05519.diff ** TODO [#B] swaps the color of the background with the character the cursor is on st-dynamic-cursor-color-0.9.diff -** TODO [#B] read and write st's screen via a pipe -st-externalpipe-0.8.4.diff -** TODO [#A] fallback font (for glyphs + emojis) -st-font2-0.8.5.diff -** TODO [#B] colorschemes +** TODO [#C] .desktop entry +st-desktopentry-0.8.5.diff +** TODO [#C] netwmicon +st-netwmicon-0.8.5-v2.diff +** TODO [#C] colorschemes This patch adds multiple color schemes and lets you change them without having to restart st. Predefined color schemes: @@ -37,15 +86,30 @@ Key bindings https://st.suckless.org/patches/colorschemes/ https://st.suckless.org/patches/colorschemes/st-colorschemes-0.8.5.diff -** TODO [#C] .desktop entry and icon -st-netwmicon-0.8.5-v2.diff -st-desktopentry-0.8.5.diff -** TODO [#C] right-click sends paste -st-rightclickpaste-0.8.2.diff ** TODO [#D] allows for 2 transparencies: based on window focus state st-focus-20200731-patch_alpha.diff - * ST Patches Completed +** DONE [#A] alpha +*** 2023-07-23 @ 15:00:52 -0500 Patch applied successfully without issue +*** Patch Description and URL +This patch allows users to change the opacity of the background. Note that you need an X composite manager (e.g. compton, xcompmgr) to make this patch effective. +Notes + + The alpha value affects the default background only. + The color designated by 'defaultbg' should not be used elsewhere. + Embedding might fail after applying this patch. + +Changes in 0.8.2 + + The internal method for querying X visual is changed. St will respect the visual of its parent window, allowing it to be embedded easily. + Opacity value is now typed in float. + -A option is added to allow changing the opacity value without compiling. + +https://st.suckless.org/patches/alpha/ +https://st.suckless.org/patches/alpha/st-alpha-osc11-20220222-0.8.5.diff +*** A Note on OSC 11 +'\e]11;?\007' can be used to query the background color of a terminal (OSC 11). +OSC 11 is used by Neovim to automatically set its background setting to "dark" or "light". ** DONE [#A] prefers system (browser) clipboard instead of terminal clipboard *** 2023-07-23 @ 13:56:02 -0500 patch applied successfully w/o issue *** Description and URL -- cgit v1.2.3