summaryrefslogtreecommitdiff
path: root/x.c
AgeCommit message (Collapse)Author
2024-04-07Reset title when an empty title string is givenDOGMAN
With this patch, st will reset its window title when an empty string is given as the terminal title. For example: printf "\033]0;\007" Some applications, like termdown, expect this functionality. xterm implements it, but it seems that most other terminal emulators don't. In any case, I don't see why there should ever be a case where the st window doesn't have a title property.
2023-10-08Fix bounds checks of dc.colPeter Hofmann
dc.collen is the length of dc.col, not the maximum index, hence if x is equal to dc.collen, then it's an error. With config.def.h, the last valid index is 259, so this correctly reports "black": $ printf '\033]4;259;?\e\\' 260 is an invalid index and this reports garbage instead of printing an error: $ printf '\033]4;260;?\e\\'
2022-11-21Alpha patchRafael Marçalo
2022-10-25fix buffer overflow when handling long composed inputHiltjo Posthuma
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.
2022-07-06Revert "Added Alpha Patch"rafa_99
This reverts commit 5a92580ea0fe459a040f62303a0a140402c12882.
2022-03-15make underlines and strikethroughs respect `chscale`Zacchary Dempsey-Plante
2022-01-12X10/SGR mouse: use alt as meta key instead of super/windows keyHiltjo Posthuma
2022-01-12Fix 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-07Added Alpha Patchrafa_99
2022-01-01Add support for OSC color sequencesRaheman Vaiya
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-07-19Add 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-04-13Font2 Patchrafa_99
2021-04-13Boxdraw Patchrafa_99
2021-04-13Stocked Out strafa_99
2020-07-03Ligatures Patchrafa_99
2020-07-03Font2 Patchrafa_99
2020-07-03Blinking Cursor Patchrafa_99
2020-07-03Alpha Patchrafa_99
2020-07-03Updated Source to Bumped Versionrafa_99
2020-05-26Ligatures Patchrafa_99
2020-05-26Font2 Patchrafa_99
2020-05-26Alpha Patchrafa_99
2020-05-26Bump to version 0.8.3rafa_99
2020-03-15Font2 Patchrafa_99
2020-01-15Added Transparencyrafa_99
2019-11-24Vertical Center Patchrafa_99
2019-11-24Boxdraw Patchrafa_99
2019-03-03simplify (greedy) font caching allocating a bitHiltjo Posthuma
POSIX says: "If ptr is a null pointer, realloc() shall be equivalent to malloc() for the specified size."
2019-03-03style: remove double empty newlinesHiltjo Posthuma
2019-03-03fix use after free in font caching algorithmmagras
Current font caching algorithm contains a use after free error. A font removed from `frc` might be still listed in `wx.specbuf`. It will lead to a crash inside `XftDrawGlyphFontSpec()`. Steps to reproduce: $ st -f 'Misc Tamsyn:scalable=false' $ curl https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt Of course, result depends on fonts installed on a system and fontconfig. In my case, I'm getting consistent segfaults with different fonts. I replaced a fixed array with a simple unbounded buffer with a constant growth rate. Cache starts with a capacity of 0, gets increments by 16, and never shrinks. On my machine after `cat UTF-8-demo.txt` buffer reaches a capacity of 192. During casual use capacity stays at 0.
2019-02-12better Input Method Editor (IME) supportIvan Tham
Features: - Allow input methods swap with hotkey (E.g. left ctrl + left shift). - Over-the-spot pre-editing style, pre-edit data placed over insertion point. - Restart IME without segmentation fault. TODO: - Automatically pickup IME if st started before IME
2018-11-04fix memory leak in xloadcols()Hiltjo Posthuma
reported by Avi Halachmi (:avih)" <avihpit@yahoo.com> patch slightly changed by me.
2018-07-17Revert "Simplify cursor color handling"Hiltjo Posthuma
This reverts commit 1911c9274d9b03f3d7999c6ce26e2d5169642d26.
2018-07-17Revert "Make cursor follow text color"Hiltjo Posthuma
This reverts commit b51bcd5553af3db394014efbd78acf7828fa48ff.
2018-07-17Revert "Fix crash when cursor color is truecolor"Hiltjo Posthuma
This reverts commit 5535c1f04c665c05faff2a65d5558246b7748d49.
2018-07-15Fix crash when cursor color is truecolorJules Maselbas
Reported-by: Ivan Tham <pickfire@riseup.net>
2018-07-14Make cursor follow text colorJules Maselbas
2018-07-14Simplify cursor color handlingJules Maselbas
2018-06-30Fix crash on resizeJules Maselbas
Prevent to realloc xw.specbuc with a negative number of col. Add proper hints for the minimal size, for one character.
2018-03-29error message style and use strerror in a few placesHiltjo Posthuma
2018-03-29st -v: remove years and copyright textHiltjo Posthuma
2018-03-20fix regression by selecting clipboard textHiltjo Posthuma
"restore the old behaviour that the primary doesn't get deleted by a simple left click" Patch by Daniel Tameling <tamelingdaniel@gmail.com>, thanks!
2018-03-17clipcopy: no need to check for free(NULL), set to NULL after freeHiltjo Posthuma
2018-03-16Fix title initializationQuentin Rameau
2018-03-16Fix regression from 69e32a6 when setting title.Quentin Rameau
2018-03-09use math.h for ceilfHiltjo Posthuma
2018-03-09xhints: no need to initialize sizehHiltjo Posthuma
2018-02-25General cleanupDevin J. Pohly
Simplifies logic in a couple places and removes a redundant function call. Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
2018-02-25Clean up #includesDevin J. Pohly
Signed-off-by: Devin J. Pohly <djpohly@gmail.com>