Commits


0.7 release


Change who's expanding tabs.


Add some hint to have the pseudo terminal in the right mode. If you don't make sure that the terminal does not expand tabs to spaces, of course such a setting won't work.


Add comment about tabspaces. st.info needs to be changed too, when tabspaces are changed.


Consistent Alt+BackSpace behavior The default config specifies BackSpace as "\177". The default behavior should persist across modifier keys, commonly Mod1 (Alt or Meta) which is widely used to delete a word on readline and text editors, notably Emacs. This will make Alt+BackSpace behaves as expected, i.e. sends "\033\177" instead of "\033\010" as previous default behavior. Signed-off-by: Christoph Lohmann <20h@r-36.net>


Use XftFontMatch in place of FcFontMatch. git am -s didn't like your patch: From: Mark Edgar <medgar123@gmail.com> XftFontMatch calls XftDefaultSubstitute which configures various match properties according to the user's configured Xft defaults (xrdb) as well as according to the current display and screen. Most importantly, the screen DPI is computed [1]. Without this, st uses a "default" DPI of 75 [2]. [1]: https://cgit.freedesktop.org/xorg/lib/libXft/tree/src/xftdpy.c?id=libXft-2.3.2#n535 [2]: https://cgit.freedesktop.org/fontconfig/tree/src/fcdefault.c?id=2.11.1#n255


delete clipboard properties after pasting them https://tronche.com/gui/x/icccm/sec-2.html#s-2.4 specifies: > Once all the data in the selection has been retrieved, > the requestor should delete the property in the SelectionNotify request Most Clipboard-Owners ignore whether or not the property is already set, so this is mostly a cosmetic change to keep the windows property list clean. However, at least synergy decides to wait for the requestor to delete the properties if they are already set by a previous paste (from synergy). Signed-off-by: Christoph Lohmann <20h@r-36.net>


Remove stupid assignation in memcpy()


st: Fix off-by-one error when calculating character width. LEN(str) is one larger than strlen(str) because it also counts the zero terminator. The original code would include the .notdef glyph (since it'll try to encode character 0, which gets encoded to the .notdef glyph) when measuring the average dimensions of printable ascii characters. This causes problems with fonts like GNU Unifont where the .notdef glyph is not the same width as the usual half-width characters. Signed-off-by: Christoph Lohmann <20h@r-36.net>


Fix vertical character alignment in some cases The y-position of a character found by asking fontconfig for a matching font does not take the border pixels into account, resulting in a slightly misaligned vertical position. Signed-off-by: Ton van den Heuvel <tonvandenheuvel@gmail.com> Signed-off-by: Christoph Lohmann <20h@r-36.net>


I like empty lines.


Measure the single advance width with a heuristic method This fix is needed to use dual-width fonts, which have double-width glyphs (e.g. CJK unified ideographs). Signed-off-by: Ryusei Yamaguchi <mandel59@gmail.com> Signed-off-by: Christoph Lohmann <20h@r-36.net>


xtermclear() is now done by xdrawglyphfontspecs() Thanks Ton van den Heuvel for the proposal!


arg.h: fixed argv checks order This prevents accessing to a potentially out-of-bounds memory section. Signed-off-by: Lucas Gabriel Vuotto <l.vuotto92@gmail.com> Signed-off-by: Christoph Lohmann <20h@r-36.net>


Fix forgotten bracket and duplicate option in usage() Scratch the preceding patch, this one is more correct (don't forget to 'git am --scissors' ;)) -- >8 -- Also reformat the strings in a saner layout Signed-off-by: Christoph Lohmann <20h@r-36.net>


Extract ttyresize() out of cresize() This way we can call cresize() to set the terminal size before creating a tty or spawning a process, which will start with the correct size. Signed-off-by: Christoph Lohmann <20h@r-36.net>


Ok, no need for a separate version function. This is just redundant metadata. Please add Java comment meta classes too.


Add -n option for setting WM_CLASS instance name Signed-off-by: Christoph Lohmann <20h@r-36.net>


Reformat usage and separate version from it Signed-off-by: Christoph Lohmann <20h@r-36.net>


Enforce a terminal size to reduce race conditions in too efficient apps. dvtm is too fast in starting up. It will then have a race condition in finding the right. terminal size.


Height is height.


Bump year.


Fixing the XClassHint setting in st.


Avoid recursive call to ttywrite from ttyread Ttyread() calls to ttywrite, so if we check for reading before that for writing in ttywrite we can get a circular call sequence.


arg.h: remove unused macros ARGUM isn't used and ARGNUMF uses estrtol() that isn't defined anywhere. Those were probably copied from sbase arg.h. Signed-off-by: Christoph Lohmann <20h@r-36.net>