Commit Graph

88 Commits

Author SHA1 Message Date
Bakkeby
e88f2bf20c Removing the VIM browse patch.
The general reasoning is that the vim browse patch is very invasive,
has a high level of complexity, and is incompatible with a significant
number of other patches and it complicates further maintenance.

Additionally the patch has its own scrollback mechanism which seemingly
did not work properly - and nobody seems to have complained about this
since the patch was added back in May 2021.

If you want to try out the vim browse patch then I would recommend having
a play around with the patch author's own build that has this patch
integrated:
   - https://github.com/juliusHuelsmann/st-history-vim
   - https://github.com/juliusHuelsmann/st

Alternatively a tag has been added to this repository that refers to the
last commit that still has the vim browse patch:
   - https://github.com/bakkeby/st-flexipatch/tree/VIM_BROWSE_PATCH
2024-03-07 22:35:11 +01:00
Bakkeby
74f19eafe9 csi: check for private marker in 'S' case
The handler for 'S' final character does not check for a private
marker. This can cause a conflict with a sequence called 'XTSMGRAPHICS'
which also has an 'S' final character, but uses the private marker '?'.
Without checking for a private marker, st will perform a scroll up
operation when XTSMGRAPHICS is seen, which can cause unexpected display
artifacts.

ref.
https://git.suckless.org/st/commit/a3f7420310be0fd778ef9fe2abf20edc2d8dc81a.html
2024-02-19 09:09:08 +01:00
Bakkeby
1af2184c87 Add terminfo entries for bracketed paste mode
Helps Vim (and hopefully others) to discover that this feature exists
without further user configuration.

ref.
https://git.suckless.org/st/commit/9846a56bd7fdc86bf788db04bbbcbde7b7eb9952.html
2023-10-08 20:24:52 +02:00
Bakkeby
4a1d981d54 Makefile: remove the options target
The Makefile used to suppress output (by using @), so this target made sense at
the time.

But the Makefile should be simple and make debugging with less abstractions or
fancy printing.  The Makefile was made verbose and doesn't hide the build
output, so remove this target.

Prompted by a question on the mailing list about the options target.

ref.
https://git.suckless.org/st/commit/eb3b894f4076f2b25afc644a1f444b5cbd96aae8.html
2023-09-22 18:16:08 +02:00
Bakkeby
b82057eb85 Fix for wide character being incorrectly cleared on MODE_INSERT
Under insert mode, when inserting a normal character in front of
a wide character, the affected region is shifted to the right by
one cell. However, the empty cell is reset as if being a part of a
wide character, causing the following cell being mishandled as a
dummy cell.
To reproduce the bug:
	printf '\033[4h' # set MODE_INSERT
	printf 妳好
	printf '\033[4D'
	printf 'x'
	printf '\033[4l\n'

Ref.
https://git.suckless.org/st/commit/3a6d6d740110e6ee1b092d05ad746244eedabe4b.html
2023-06-25 14:19:27 +02:00
Bakkeby
1343b29ee5 Bump to 211964d.
ignore C1 control characters in UTF-8 mode

Ignore processing and printing C1 control characters in UTF-8 mode.
These are in the range: 0x80 - 0x9f.

By default in st the mode is set to UTF-8.

This matches more the behaviour of xterm with the options -u8 or +u8 also.
Also see the xterm resource "allowC1Printable".

Let me know if this breaks something, in most cases I don't think so.

As usual a very good reference is:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Ref.
https://git.suckless.org/st/commit/211964d56ee00a7d46e251cbc150afb79138ae37.html
2023-04-07 14:31:41 +02:00
Bakkeby
e6a2fb489c Bump to e5e9598.
fix buffer overflow when handling long composed input

To reproduce the issue:

"
If you already have the multi-key enabled on your system, then add this line
to your ~/.XCompose file:

[...]
<question> <T> <E> <S> <T> <question> :
"1234567890123456789012345678901234567890123456789012345678901234567890"
"

Reported by and an initial patch by Andy Gozas <andy@gozas.me>, thanks!

Adapted the patch, for now st (like dmenu) handles a fixed amount of composed
characters, or otherwise ignores it. This is done for simplicity sake.

Ref.
https://git.suckless.org/st/commit/e5e959835b195c023d1f685ef4dbbcfc3b5120b2.html
2022-10-25 17:22:33 +02:00
Bakkeby
d8529b66a4 Adding fullscreen patch ref. #88 2022-10-24 11:27:51 +02:00
Bakkeby
13f2b133eb Bump to 68d1ad9.
FAQ: document the color emojis crash issue which affected some systems is fixed

It is fixed in libXft 2.3.6:

https://gitlab.freedesktop.org/xorg/lib/libxft/-/blob/libXft-2.3.5/NEWS

bump version to 1.5

Ref.
https://git.suckless.org/st/commit/00085199039ee63acc7b1ecb7e3774a9c3552b2a.html
https://git.suckless.org/st/commit/68d1ad9b54e952e3079356aeab8ab37e44c56c2c.html
2022-10-06 15:33:26 +02:00
Bakkeby
2906447fef Adding use XftFontMatch patch 2022-08-28 21:05:55 +02:00
Bakkeby
cc36f7c256 Adding URL for no decorations patch 2022-08-24 11:29:55 +02:00
Bakkeby
3947ceb431 Adding the no window decorations patch 2022-08-24 11:04:49 +02:00
Bakkeby
cd1aa57a06 Bump to 72fd327.
st: use `void' to indicate an empty parameter list

Ref.
https://git.suckless.org/st/commit/72fd32736a612edec43596c14148322122a5544d.html
2022-08-18 17:30:18 +02:00
Bakkeby
f0bad9ac44 Removing the anysize-nobar amendment for the anysize patch as this should be redundant following the fix in PR #75 2022-07-18 11:54:51 +02:00
Bakkeby
dc8abceeca Makefile: add manual path for OpenBSD
ref. https://git.suckless.org/st/commit/baa9357e96d2478baa52a3301e70ac80a229b726.html
2022-07-10 17:11:39 +02:00
myNameIsPK
bca5e344fa
Fix typo 2022-06-04 04:51:57 +07:00
bakkeby
3e41e252b1 Adding background image reload patch ref. pull request #62 2022-04-11 16:04:58 +02:00
bakkeby
d8ec7a396c base64_digits: reduce scope, implicit zero, +1 size
the array is not accessed outside of base64dec() so it makes sense to
limit it's scope to the related function. the static-storage duration of
the array is kept intact.

this also removes unnecessary explicit zeroing from the start and end of
the array. anything that wasn't explicitly zero-ed will now be
implicitly zero-ed instead.

the validity of the new array can be easily confirmed via running this
trivial loop:

	for (int i = 0; i < 255; ++i)
		assert(base64_digits[i] == base64_digits_old[i]);

lastly, as pointed out by Roberto, the array needs to have 256 elements
in order to able access it as any unsigned char as an index; the
previous array had 255.

however, this array will only be accessed at indexes which are
isprint() || '=' (see `base64dec_getc()`), so reducing the size of the
array to the highest printable ascii char (127 AFAIK) + 1 might also be
a valid strategy.

ref. https://git.suckless.org/st/commit/ef0551932fb162f907b40185d2f48c3b497708ee.html
2022-03-28 11:23:52 +02:00
bakkeby
fb0b76b0ff make underlines and strikethroughs respect chscale
Ref.
https://git.suckless.org/st/commit/2aefa348baf4b702fdce98eb105bcba175d8283f.html
2022-03-14 09:45:12 +01:00
bakkeby
1a8175a337 Adding background image patch 2022-03-10 13:54:28 +01:00
bakkeby
4a156b95f9 Delay redrawals on palette changes
Build on auto-sync and only mark window dirty on palette changes and let
the event handler do the actual draw.

Ref.
   - https://git.suckless.org/st/commit/e823e2308f2a99023032a3966ebb7036a31d305f.html
2022-02-24 13:46:37 +01:00
bakkeby
c02ad97409 fix possible rare crash when Xutf8TextPropertyToTextList fails
from the XmbTextListToTextProperty(3) man page:

"If insufficient memory is available for the new value string, the functions
return XNoMemory.  If the current locale is not supported, the functions return
XLocaleNotSupported.  In both of these error cases, the functions do not set
text_prop_return."

Reported by Steffen Nurpmeso <steffen@sdaoden.eu>, thanks!

Ref. https://git.suckless.org/st/commit/2f6e597ed871cff91c627850d03152cae5f45779.html
2021-08-24 15:02:20 +02:00
bakkeby
271a807111 Adding the CSI 22, 23 patch 2021-08-18 10:07:42 +02:00
bakkeby
eccd7fac9e Adding columns patch ref. #34 2021-07-26 10:16:54 +02:00
bakkeby
286db8098b Add 14th bit to XK_SWITCH_MOD bitmask
The bits of uint signal in an XKeyEvent which concern the key group (keyboard
layout) are bits 13 and 14, as documented here:
https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Groups_and_Shift_Levels
In the older version, only bit 13 was marked as part of XK_SWITCH_MOD, this
causes issues for users who have more than two keymaps. The 14th bit is not
in ignoremod, key sequences are not caught by match(), if they switch to a third
or fourth keyboard.
2021-07-18 18:17:17 +02:00
bakkeby
ee4cdc8d6e Adding openurlonclick patch ref. #32 2021-07-07 10:08:43 +02:00
bakkeby
b0660ecf47 Adding hide terminal cursor patch 2021-06-09 09:54:50 +02:00
bakkeby
ad7e16b38a Adding swapmouse patch ref. #28 2021-05-16 11:40:15 +02:00
bakkeby
5adf4c4c8e Adding default cursor patch 2021-05-11 16:35:30 +02:00
bakkeby
78e025a0e7 Upgrading to latest master, 46b02f, 2021-03-28 2021-05-10 10:43:48 +02:00
bakkeby
896f5a08c8 Upgrading to latest master, 46b02f, 2021-03-28 2021-05-10 09:39:02 +02:00
bakkeby
e039854635 Adding vim browse patch ref. #21 2021-05-09 17:48:28 +02:00
bakkeby
1a1d492cd8 Adding alpha-focus-highlight patch 2021-05-09 14:40:30 +02:00
bakkeby
56e208e0de Adding sync patch ref. #21 2021-05-09 09:25:22 +02:00
bakkeby
a5435903d4 Adding universcroll patch ref. #21 2021-05-08 17:49:04 +02:00
bakkeby
a1303a8811 Adding delkey patch ref. #21 2021-05-08 16:57:59 +02:00
bakkeby
a44ac5937f Adding osc_10_11_12_2 patch ref. #21 2021-05-08 16:50:06 +02:00
bakkeby
8c8bace91c Adding netwmicon patch ref. #21 2021-05-08 14:50:06 +02:00
bakkeby
79278e3d32 Adding undercurl patch ref. #20 2021-05-08 10:53:46 +02:00
bakkeby
ce05a34de1 Adding blinking cursor patch ref. #20 2021-05-08 10:13:20 +02:00
bakkeby
0fade9158a xresources reload: minor style changes ref. #16 2021-05-07 09:27:05 +02:00
bakkeby
08f137a8a0 Adding workaround for Variable Fonts causing too wide letter spacing 2021-04-21 15:54:41 +02:00
bakkeby
f31c43015d Adding sixel support ref. #7 2021-03-25 11:10:57 +01:00
bakkeby
884c62a056 Adding dynamic cursor color patch ref. #10 2021-02-26 14:33:03 +01:00
bakkeby
99903c67d9 Adding alpha gradient patch 2021-02-15 14:37:37 +01:00
bakkeby
a23971fff1 Adding wide glyphs patch 2020-11-14 16:24:07 +01:00
bakkeby
ef994f3e6d Adding monochrome patch and anysize-nobar patch 2020-10-23 10:14:00 +02:00
bakkeby
315c5cbe9f Re-added visualbell patch 2020-08-09 18:09:43 +02:00
bakkeby
c8d69b5d70 Added the single drawable buffer patch as per the FAQ in order to get w3m images to display 2020-06-26 15:01:30 +02:00
bakkeby
93aac7e1a3 bump version to 0.8.4 2020-06-25 12:43:25 +02:00