Commit Graph

1394 Commits

Author SHA1 Message Date
927621f6da config.def.h: tweak extra worddelimiters
This changes the selection more like xterm.
To test try: "find /" and select a path.
2019-03-15 12:31:54 +01:00
add0211522 use iswspace()/iswpunct() to find word delimiters
this inverts the configuration logic: you no longer provide a list of
delimiters -- all space and punctuation characters are considered
delimiters, unless listed in extrawordchars.
2019-03-15 12:25:13 +01:00
d5efd256aa replace utf8strchr with wcschr 2019-03-15 12:24:13 +01:00
75b4ba4b4b be silent about explicitly unhandled mouse modes 2019-03-13 17:51:58 +01:00
ed68fe7dce simplify (greedy) font caching allocating a bit
POSIX says:
"If ptr is a null pointer, realloc() shall be equivalent to malloc() for the
 specified size."
2019-03-03 11:29:43 +01:00
4e0135afec style: remove double empty newlines 2019-03-03 11:23:54 +01:00
a8cb8e9454 fix use after free in font caching algorithm
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-03-03 11:18:31 +01:00
e85b6b6466 better Input Method Editor (IME) support
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
2019-02-12 18:45:15 +01:00
75f92eb348 bump version to 0.8.2 2019-02-09 12:48:39 +01:00
cd4a194063 readme updates 2019-02-02 11:10:43 -05:00
99c9031b89 Merge pull request #43 from codingCoffee/ignore
chore: 🤖 added built files in .gitignore
2019-01-13 14:12:22 -05:00
5b039bacce chore: 🤖 added built files in .gitignore 2019-01-14 00:37:03 +05:30
3be4cf11d7 config: add Shift+Insert as selpaste() again
This was changed before in:
commit 20f713548d on Wed Jan 25 19:17:38 2017
2019-01-10 18:16:17 +01:00
16d98738e7 Let the user specify CPPFLAGS
This complements the work done in d4928ed, allowing the user to specify
the preprocessor flags with the CPPFLAGS environment variable. This is
useful for example to specify preprocessor macros with -D.

CFLAGS could be used instead, but CPPFLAGS is more correct and is expected
to be honored in some cases. For example, the helper scripts to build
Debian packages make use of CPPFLAGS, but the variable is currently
being ignored unless manually appended to CFLAGS.
2019-01-10 18:13:13 +01:00
661e82f937 Merge pull request #40 from iamdiogo/patch-1
Fixed typo in README.md
2019-01-08 20:22:14 -05:00
a839a90485 Fixed typo in README.md 2019-01-08 22:50:19 +00:00
e23acb9188 Set the path of pkg-config in a variable instead of hardcoding it
In this way the path of pkg-config can be overridden from the command
line. This is useful for example when cross-compiling.
2019-01-04 16:00:54 +01:00
7e19e11676 Makefile: fix dependencies on config.h
patch by Younes Khoudli (changed slightly). Thanks
2019-01-04 12:33:01 +01:00
c5107954b2 cursorColor removed 2018-12-18 20:29:38 -05:00
6863c0608a just use xdg-open 2018-12-18 09:29:09 -05:00
b8f48f3176 Merge pull request #33 from hexinal/patch-1
Updated shortcut for zoomreset
2018-12-18 07:47:58 -05:00
93ea70adb2 Updated shortcut for zoomreset 2018-12-18 11:15:39 +00:00
f9c152ab79 remove adjacent identical links from url picker 2018-12-16 22:50:23 -05:00
edbc788d20 Merge pull request #31 from terriblephrases/master
Upstream updates
2018-12-16 20:10:20 -05:00
7a1a92ff3f small code-style fix 2018-12-16 02:20:16 +01:00
e651f31642 output child WEXITSTATUS/WTERMSIG on abnormal termination 2018-12-16 02:19:10 +01:00
3061ebd7e1 st: small typofix in comment 2018-12-16 02:18:36 +01:00
539e145e65 fix memory leak in xloadcols()
reported by Avi Halachmi (:avih)" <avihpit@yahoo.com>

patch slightly changed by me.
2018-12-16 02:18:16 +01:00
62371f0b21 Fix crash on resize
Prevent to realloc xw.specbuc with a negative number of col.
Add proper hints for the minimal size, for one character.
2018-12-16 02:10:06 +01:00
ee16dfb8f3 revert to normal size now just alt-home 2018-12-13 17:54:26 -05:00
a2b1dfe1ba ctrl-l chooses urls with xurls and dmenu 2018-12-13 17:23:38 -05:00
096b125db7 output child WEXITSTATUS/WTERMSIG on abnormal termination 2018-12-11 18:36:02 +01:00
6c93dd4520 Merge pull request #25 from terriblephrases/master
corrects color and font size info
2018-12-03 17:01:05 -05:00
3fb4962375 corrects color and font size info 2018-12-03 20:53:04 +01:00
7699e6d67c Merge pull request #24 from terriblephrases/master
Correct gruvbox defaultfg and cursor colors
2018-12-03 12:58:50 -05:00
313ecfec81 sets correct gruvbox defaultfg and cursor colors, restores poss. to use 257+ colors 2018-12-03 17:38:57 +01:00
15c6321d87 gruvbox 2018-12-01 18:23:52 -05:00
ec8887f0f2 openbsd compilation note 2018-11-24 09:17:12 -05:00
1210133b4b alpha/transparency read from xresources 2018-11-14 10:31:03 -05:00
d7bf023b2f fix memory leak in xloadcols()
reported by Avi Halachmi (:avih)" <avihpit@yahoo.com>

patch slightly changed by me.
2018-11-04 14:35:07 +01:00
b4d68d4daa st: small typofix in comment 2018-11-04 14:30:56 +01:00
7186ee2ddd mouse bindings and documentation 2018-10-16 15:21:02 -04:00
07bfca3009 default font larger 2018-10-16 14:41:35 -04:00
2e89d5f575 man fixes 2018-10-16 14:41:14 -04:00
523d83e6ab copy/paste fixes 2018-10-04 16:53:12 -04:00
53b4c270aa bgcolor to 0 2018-10-04 16:18:07 -04:00
a8137b4541 readme color update 2018-09-14 07:57:35 -04:00
30ec9a3dc3 small code-style fix 2018-09-11 19:06:35 +02:00
67d0cb65d0 Remove the ISO 14755 feature
And move it to the patches section.
Keeping it would force to add an exec pledge on OpenBSD, and some
people think it's bloated, so bye!
2018-09-11 19:05:55 +02:00
059106186b Revert "Update LICENSE"
This reverts commit 85d8621d8c.
2018-09-01 00:16:58 -04:00