Commits
- Commit:
68d1ad9b54e952e3079356aeab8ab37e44c56c2c- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
bump version to 0.9
- Commit:
00085199039ee63acc7b1ecb7e3774a9c3552b2a- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
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
- Commit:
72fd32736a612edec43596c14148322122a5544d- From:
- Tom Schwindl <schwindl@posteo.de>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
st: use `void' to indicate an empty parameter list
- Commit:
baa9357e96d2478baa52a3301e70ac80a229b726- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Makefile: add manual path for OpenBSD
- Commit:
8629d9a1da72cc18568a8f146307b0e939b77ebf- From:
- NRK <nrk@disroot.org>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
code-golfing: cleanup osc color related code
* adds missing function prototype
* move xgetcolor() prototype to win.h (that's where all the other x.c
func prototype seems to be declared at)
* check for snprintf error/truncation
* reduces code duplication for osc 10/11/12
* unify osc_color_response() and osc4_color_response() into a single function
the latter two was suggested by Quentin Rameau in his patch review on
the hackers list.
- Commit:
ef0551932fb162f907b40185d2f48c3b497708ee- From:
- NRK <nrk@disroot.org>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
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.
- Commit:
af3bb68add1c40d19d0dee382009e21b0870a38f- From:
- NRK <nrk@disroot.org>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
avoid potential UB when using isprint()
all the ctype.h functions' argument must be representable as an unsigned
char or as EOF, otherwise the behavior is undefined.
- Commit:
2aefa348baf4b702fdce98eb105bcba175d8283f- From:
- Zacchary Dempsey-Plante <zacc@ztdp.ca>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
make underlines and strikethroughs respect `chscale`
- Commit:
e823e2308f2a99023032a3966ebb7036a31d305f- From:
- Santtu Lakkala <inz@inz.fi>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
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.
- Commit:
2c5edf28ec851907305d73c6218ce75d39f1767f- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
X10/SGR mouse: use alt as meta key instead of super/windows key
- Commit:
b1d97fec47b0d6633addb848131388ec40154ebc- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
LICENSE: bump year
- Commit:
ea7cd7b62fdfa6a1fbd882d1565d557577f2cf32- From:
- robert <robertrussell.72001@gmail.com>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Fix mousereport
This patch replaces the previous one I sent.
The following changes are made in this patch:
- Fix tracking of pressed buttons. Previously, pressing two buttons and
then releasing one would make st think no buttons are pressed, which
in particular broke MODE_MOUSEMOTION.
- Always send the lowest-numbered pressed button on motion events; when
no button is pressed for a motion event in MODE_MOUSEMANY, then send
a release. This matches the behaviour of xterm. (Previously, st sent
the most recently pressed button in the motion report.)
- Remove UB (?) access to potentially inactive struct member
e->xbutton.button of XEvent union.
- Fix (unlikely) possibility of overflow for large button numbers.
The one discrepancy I found between st and xterm is that xterm sometimes
encodes buttons with large numbers (>5) strangely. E.g., xterm reports
presses of buttons 8 and 9 as releases, whereas st properly (?) encodes
them as presses.
- Commit:
7fb0c0cc681f36be2ad12091ef93a41671f32738- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
bump version to 0.8.5
- Commit:
7e1c68f25d9f08687a94eeef8d7f8ffd0d14b911- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
FAQ: fix a typo, patch -> path
- Commit:
65f1dc428315ae9d7f362e10c668557c1379e7af- From:
- jamin <acdimalev@gmail.com>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Fix overtyping wide characters.
Overtyping the first half of a wide character with the
second half of a wide character results in display garbage.
This is because the trailing dummy is not cleaned up.
i.e. ATTR_WIDE, ATTR_WDUMMY, ATTR_WDUMMY
Here is a short script for demonstrating the behavior:
#!/bin/sh
alias printf=/usr/bin/printf
printf こんにちは!; sleep 2
printf '\x1b[5D'; sleep 2
printf へ; sleep 2
printf ' '; sleep 2
echo
- Commit:
a0467c802d4f86ed162486e3453dd61181423902- From:
- Jochen Sprickerhof <git@jochen.sprickerhof.de>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Fix null pointer access in strhandle
According to the spec the argument is optional for 104, so p can be
NULL as can be tested with printf '\x1b]104\x07'. This is a regression
of 8e31030.
- Commit:
273db5ceaf392e68c2faf8f7dec14ea2e25e980d- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
follow-up fix for OSC color sequences, return
Otherwise the message "erresc: unknown str" is printed.
- Commit:
8e310303903792c010d03c046ba75f8b18f7d3a7- From:
- Raheman Vaiya <r.vaiya@gmail.com>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Add support for OSC color sequences
- Commit:
2f6e597ed871cff91c627850d03152cae5f45779- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
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!
- Commit:
1d3142da968da7f6f61f1c1708f39ca233eda150- From:
- Koichi Murase <myoga.murase@gmail.com>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
fix a problem that the standard streams are unexpectedly closed
In the current implementation, the slave PTY (assigned to the variable
`s') is always closed after duplicating it to file descriptors of
standard streams (0, 1, and 2). However, when the allocated slave PTY
`s' is already one of 0, 1, or 2, this causes unexpected closing of a
standard stream. The same problem occurs when the file descriptor of
the master PTY (the variable `m') is one of 0, 1, or 2.
In this patch, the original master PTY (m) is closed before it would
be overwritten by duplicated slave PTYs. The original slave PTY (s)
is closed only when it is not one of the stanrad streams.
- Commit:
2ec571a30c0c3b1a17f6b3631c80d573582f59a1- From:
- Petar Kapriš <petarkapris@firemail.cc>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
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.
- Commit:
4536f46cfff50c66a115755def0155d8e246b02f- From:
- Markus F.X.J. Oberhumer <markus@oberhumer.com>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
Mild const-correctness improvements.
Only touch a few things, the main focus is to
improve code readability.
- Commit:
9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
fix: correctly encode mouse buttons >= 8 in X10 and SGR mode
These are typically mapped in X11 to the side-buttons (backward/forwards) on
the mouse. A comparison of the button numbers in SGR mode (first field):
st old:
0 1 2 64 65 66 67 68 69 70
st new (it is the same as xterm now):
0 1 2 64 65 66 67 128 129 130
A script to test and reproduce it, first argument is "h" (on) or "l" (off):
#!/bin/sh
printf '\x1b[?1000%s\x1b[?1006%s' "$1" "$1"
for n in 1 2 3 4 5 6 7 8 9 10; do
printf 'button %d\n' "$n"
xdotool click "$n"
printf '\n\n'
done
- Commit:
4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf- From:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
remove unused variable from previous patch
- Commit:
28b4c822c5c0acec300fdf15c6e3ede9f5e2335d- From:
- John Collis <john.collis@alliedtelesis.co.nz>
- Via:
- Hiltjo Posthuma <hiltjo@codemadness.org>
- Date:
ST: Add WM_ICON_NAME property support
Also added _NET_WM_ICON_NAME.
