summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-20vim mouse clicking fixed, fix #344Luke Smith
2022-09-20Merge branch 'master' of https://git.suckless.org/stLuke Smith
2022-09-20libxft-git now recommendedLuke Smith
2022-09-20Merge pull request #342 from AndyGozas/masterLuke Smith
Fix buffer overflow in input handling
2022-09-16FAQ: document the color emojis crash issue which affected some systems is fixedHiltjo Posthuma
It is fixed in libXft 2.3.6: https://gitlab.freedesktop.org/xorg/lib/libxft/-/blob/libXft-2.3.5/NEWS
2022-08-28Fix buffer overflow in input handlingAndy Gozas
kpress function in x.c previously relied on the wrong understanding of XmbLookupString behavior. When the composed string is longer than the available buffer, the buffer is not initialized and the actual length of the data available to read is returned, not the amount of data written. When that amount is later used to process the contents of this buffer, not only will the random contents of the uninitialized buffer be sent directly to the terminal and whichever application is now running in it, but possibly also whatever is in the memory after that buffer, leading to undefined behavior and possible random command execution.
2022-08-18st: use `void' to indicate an empty parameter listTom Schwindl
2022-08-15remove flase upstream manual entriesLuke Smith
2022-08-15Merge branch 'equwal-lukesmith-0.8.5'Luke Smith
2022-08-15chLuke Smith
2022-08-15Merge branch 'lukesmith-0.8.5' of https://github.com/equwal/st into ↵Luke Smith
equwal-lukesmith-0.8.5
2022-08-15colons in urlsLuke Smith
2022-08-15Merge latest suckless build into lukesmith-0.8.5Spenser Truex
Includes the 0.8.5 version bump, which is great since many of the patches have already been updated to here too.
2022-06-28Merge pull request #334 from kronikpillow/default-fontLuke Smith
change default font to a installed one
2022-06-24change default font to a installed oneDejan Kutle
2022-06-20fix #333Luke Smith
2022-05-01Makefile: add manual path for OpenBSDHiltjo Posthuma
2022-04-19code-golfing: cleanup osc color related codeNRK
* 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.
2022-04-18remove problematic and obsolete git linesLuke Smith
2022-03-18base64_digits: reduce scope, implicit zero, +1 sizeNRK
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.
2022-03-18avoid potential UB when using isprint()NRK
all the ctype.h functions' argument must be representable as an unsigned char or as EOF, otherwise the behavior is undefined.
2022-03-13make underlines and strikethroughs respect `chscale`Zacchary Dempsey-Plante
2022-02-18Delay redrawals on palette changesSanttu Lakkala
Build on auto-sync and only mark window dirty on palette changes and let the event handler do the actual draw.
2022-01-21Merge branch 'fakhriaunur-master'Luke Smith
2022-01-12X10/SGR mouse: use alt as meta key instead of super/windows keyHiltjo Posthuma
2022-01-10LICENSE: bump yearHiltjo Posthuma
2022-01-10Fix mousereportrobert
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.
2022-01-07bump version to 0.8.5Hiltjo Posthuma
2022-01-02FAQ: fix a typo, patch -> pathHiltjo Posthuma
2021-12-30Fix overtyping wide characters.jamin
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
2021-12-27Fix null pointer access in strhandleJochen Sprickerhof
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.
2021-12-26follow-up fix for OSC color sequences, returnHiltjo Posthuma
Otherwise the message "erresc: unknown str" is printed.
2021-12-26Add support for OSC color sequencesRaheman Vaiya
2021-09-07Update hb.cfakhriaunur
Change the default state to disabled (uncomment the latter). Clean the unused commented lines.
2021-09-07Add stylistic sets / open type font featurefakhriaunur
Using stylistic set hb_feature code from cog1to's patch. Tested on Fira Code font. Enable/disable the feature within this file, and then sudo make install as usual.
2021-08-24fix possible rare crash when Xutf8TextPropertyToTextList failsHiltjo Posthuma
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!
2021-08-24fix a problem that the standard streams are unexpectedly closedKoichi Murase
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.
2021-08-10prevent losing columns on resizeLuke Smith
2021-07-18Add 14th bit to XK_SWITCH_MOD bitmaskPetar Kapriš
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-06-03Merge pull request #304 from monosans/masterLuke Smith
Remove scroll info from README.md
2021-06-03Remove scroll info from README.mdmonosans
2021-05-21Merge pull request #296 from zMoooooritz/alphaLuke Smith
Add support for additional alpha when the term-window is not focused
2021-05-21fix #301Luke Smith
2021-05-06Mild const-correctness improvements.Markus F.X.J. Oberhumer
Only touch a few things, the main focus is to improve code readability.
2021-05-06Use the additional alpha-value as offset to support a changing alpha properlyMoritz Biering
2021-05-05Add support for additional alpha when the term-window is not focusedMoritz Biering
2021-04-05externalpipe all scrollback historyLuke Smith
2021-04-05scroll removedLuke Smith
2021-04-05Merge branch 'master' of github.com:LukeSmithxyz/stLuke Smith
2021-04-05revert to older, better scrollback patch, fix #284, #289Luke Smith