Commit Graph

40 Commits

Author SHA1 Message Date
bakkeby
99903c67d9 Adding alpha gradient patch 2021-02-15 14:37:37 +01:00
bakkeby
a23971fff1 Adding wide glyphs patch 2020-11-14 16:24:07 +01:00
bakkeby
ef994f3e6d Adding monochrome patch and anysize-nobar patch 2020-10-23 10:14:00 +02:00
bakkeby
315c5cbe9f Re-added visualbell patch 2020-08-09 18:09:43 +02:00
bakkeby
c8d69b5d70 Added the single drawable buffer patch as per the FAQ in order to get w3m images to display 2020-06-26 15:01:30 +02:00
bakkeby
bca86276e7 Adding w3m patch 2020-06-14 20:04:27 +02:00
bakkeby
e0169edec9 Adding ligatures patch as requested in #4 2020-06-05 13:43:14 +02:00
bakkeby
0bb43eff81 Call xsetcursor to set win.cursor in main
In xsetcursor, remove "DEFAULT(cursor, 1)" because 0 is a valid value.
Increase max allowed value of cursor from 6 to 7 (st extension).
2020-05-24 17:19:24 +02:00
bakkeby
7a1259e112 code-style: add fallthrough comment
Patch by Steve Ward, thanks.
2020-05-20 14:26:04 +02:00
bakkeby
338818b2b3 tiny code-style and typo-fix in comment (df79f2) 2020-05-20 14:22:04 +02:00
bakkeby
5c7d8ab1ad auto-sync: draw on idle to avoid flicker/tearing
st could easily tear/flicker with animation or other unattended
output. This commit eliminates most of the tear/flicker.

Before this commit, the display timing had two "modes":

- Interactively, st was waiting fixed `1000/xfps` ms after forwarding
  the kb/mouse event to the application and before drawing.

- Unattended, and specifically with animations, the draw frequency was
  throttled to `actionfps`. Animation at a higher rate would throttle
  and likely tear, and at lower rates it was tearing big frames
  (specifically, when one `read` didn't get a full "frame").

The interactive behavior was decent, but it was impossible to get good
unattended-draw behavior even with carefully chosen configuration.

This commit changes the behavior such that it draws on idle instead of
using fixed latency/frequency. This means that it tries to draw only
when it's very likely that the application has completed its output
(or after some duration without idle), so it mostly succeeds to avoid
tear, flicker, and partial drawing.

The config values minlatency/maxlatency replace xfps/actionfps and
define the range which the algorithm is allowed to wait from the
initial draw-trigger until the actual draw. The range enables the
flexibility to choose when to draw - when least likely to flicker.

It also unifies the interactive and unattended behavior and config
values, which makes the code simpler as well - without sacrificing
latency during interactive use, because typically interactively idle
arrives very quickly, so the wait is typically minlatency.

While it only slighly improves interactive behavior, for animations
and other unattended-drawing it improves greatly, as it effectively
adapts to any [animation] output rate without tearing, throttling,
redundant drawing, or unnecessary delays (sounds impossible, but it
works).
2020-05-20 14:15:57 +02:00
bakkeby
a4d8ea1853 Added the force redraw on keypress patch 2020-04-20 12:14:49 +02:00
bakkeby
f7b0d77a03 make argv0 not static, fixes a warning with tcc (fcd339) 2020-04-10 13:57:14 +02:00
bakkeby
914cee019d [st] mouseshortcuts: fix custom modifier on release (4c84ac4) 2020-04-02 16:30:40 +02:00
bakkeby
7dee587ceb Adding workingdir patch 2020-03-29 16:46:38 +02:00
bakkeby
d26b46ffa7 Adding invert patch 2020-03-29 15:38:16 +02:00
bakkeby
4966f31256 Custom changes to make the altscreen mouse scollback patch working with latest version of st 2020-03-24 20:05:07 +01:00
bakkeby
87b8b9cf48 Remove explicit XNFocusWindow (f618b1) 2020-03-24 15:42:47 +01:00
bakkeby
baf5955e45 x: fix XIM handling (8888e3) 2020-03-24 15:41:43 +01:00
bakkeby
2e2d10eca6 x: check we still have an XIC context before accessing it (ce060a) 2020-03-24 15:37:28 +01:00
bakkeby
e22dab0391 x: do not instantiate a new nested list on each cursor move (b67c9b) 2020-03-24 15:36:22 +01:00
bakkeby
7c7d16b843 x: move IME variables into XWindow ime embedded struct (2f6ef4) 2020-03-24 15:34:12 +01:00
bakkeby
fac82e981c Increase XmbLookupString buffer (f5fd0c) 2020-03-24 14:28:43 +01:00
bakkeby
be0f0d56e5 apply hints before initial mapping (ICCCM) (843cfe) 2020-03-24 14:17:17 +01:00
bakkeby
c90ac5e476 mouse shortcuts: allow using forcemousemod (e.g. shift) (4c7150) 2020-03-24 14:16:02 +01:00
bakkeby
0cdfd86e5e mouse shortcuts: don't hardcode selpaste (ff828c) 2020-03-24 14:14:10 +01:00
bakkeby
ed7837a816 mouse shortcuts: allow override for all shortcuts (7729e7) 2020-03-24 14:08:08 +01:00
bakkeby
584f3928ad mouse shortcuts: allow same functions as kb shortcuts (410651) 2020-03-24 14:02:44 +01:00
bakkeby
e7cfd5ae16 better Input Method Editor (IME) support (35f7db) 2020-03-24 11:25:39 +01:00
bakkeby
9f1a2db7c5 Adding font2 patch as per request #3 2020-03-21 16:41:43 +01:00
bakkeby
352170eec8 Adding st embedder patch 2020-01-07 14:05:53 +01:00
bakkeby
cfecd195ba Adding relativeborder, fix-keyboard-input, iso14755, visualbell, rightclicktoplumb, boxdraw and keyboard-select patches 2019-09-17 15:16:22 +02:00
bakkeby
db32474a7f Adding spoiler, external pipe and themed cursor patches 2019-09-17 01:18:44 +02:00
bakkeby
d52c5e4ce8 Adding scrollback patch 2019-09-16 15:31:58 +02:00
bakkeby
4bd0ed3327 Adding xresources patch 2019-09-16 14:21:09 +02:00
bakkeby
7615c2f0aa Adding fixime, newterm and opencopied patches 2019-09-16 12:40:07 +02:00
bakkeby
35e6403c69 Adding copyurl and disable-fonts patch 2019-09-16 10:40:16 +02:00
bakkeby
ec58f77b6b Adding clipboard patch 2019-09-16 09:51:41 +02:00
bakkeby
9aefe8e4f7 Adding bold-is-not-bright patch 2019-09-16 09:40:40 +02:00
bakkeby
5d336c2796 Initial commit, adding alpha and anysize patches 2019-09-16 09:35:57 +02:00