index.md - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
index.md (4784B)
---
1 scrollback
2 ==========
3
4 Description
5 -----------
6 Scroll back through terminal output using Shift+{PageUp, PageDown}.
7
8 Download
9 --------
10 * [st-scrollback-0.8.4.diff](st-scrollback-0.8.4.diff)
11 * [st-scrollback-20201205-4ef0cbd.diff](st-scrollback-20201205-4ef0cbd.diff)
12 * [st-scrollback-20210507-4536f46.diff](st-scrollback-20210507-4536f46.diff)
13 * [st-scrollback-0.8.5.diff](st-scrollback-0.8.5.diff)
14 * [st-scrollback-0.9.2.diff](st-scrollback-0.9.2.diff)
15
16 Alternative implementation that uses a ring buffer for more
17 efficient scrolling:
18
19 * [st-scrollback-ringbuffer-0.8.5.diff](st-scrollback-ringbuffer-0.8.5.diff)
20 * [st-scrollback-ringbuffer-0.9.2.diff](st-scrollback-ringbuffer-0.9.2.diff)
21
22 Apply the following patch on top of the previous to use float argument in
23 kscrollup/kscrolldown.
24
25 * [st-scrollback-float-0.9.2.diff](st-scrollback-float-0.9.2.diff)
26
27 Apply the following patch on top of the previous to allow column and row reflow.
28
29 * [st-scrollback-reflow-0.8.5.diff](st-scrollback-reflow-0.8.5.diff)
30 * [st-scrollback-reflow-0.9.diff](st-scrollback-reflow-0.9.diff)
31 * [st-scrollback-reflow-20230607-211964d.diff](st-scrollback-reflow-20230607-211964d.diff)
32 * [st-scrollback-reflow-0.9.2.diff](st-scrollback-reflow-0.9.2.diff)
33
34 Apply the following patch on top of the previous to allow scrolling
35 using `Shift+MouseWheel`.
36
37 * [st-scrollback-mouse-20170427-5a10aca.diff](st-scrollback-mouse-20170427-5a10aca.diff)
38 * [st-scrollback-mouse-0.8.diff](st-scrollback-mouse-0.8.diff)
39 * [st-scrollback-mouse-0.8.2.diff](st-scrollback-mouse-0.8.2.diff)
40 * [st-scrollback-mouse-20191024-a2c479c.diff](st-scrollback-mouse-20191024-a2c479c.diff)
41 * [st-scrollback-mouse-20220127-2c5edf2.diff](st-scrollback-mouse-20220127-2c5edf2.diff)
42 * [st-scrollback-mouse-0.9.2.diff](st-scrollback-mouse-0.9.2.diff)
43
44 Apply the following patch on top of the previous two to allow scrollback using
45 mouse wheel only when not in `MODE_ALTSCREEN`. For example the content is being
46 scrolled instead of the scrollback buffer in `less`. Consequently the Shift
47 modifier for scrolling is not needed anymore. **Note: patches before
48 `20191024-a2c479c` might break mkeys other than scrolling functions.**
49
50 * [st-scrollback-mouse-altscreen-20170427-5a10aca.diff](st-scrollback-mouse-altscreen-20170427-5a10aca.diff)
51 * [st-scrollback-mouse-altscreen-0.8.diff](st-scrollback-mouse-altscreen-0.8.diff)
52 * [st-scrollback-mouse-altscreen-20190131-e23acb9.diff](st-scrollback-mouse-altscreen-20190131-e23acb9.diff)
53 * [st-scrollback-mouse-altscreen-20200416-5703aa0.diff](st-scrollback-mouse-altscreen-20200416-5703aa0.diff)
54 * [st-scrollback-mouse-altscreen-20220127-2c5edf2.diff](st-scrollback-mouse-altscreen-20220127-2c5edf2.diff)
55
56 Apply the following patch on top of the first two to allow changing how fast the mouse scrolls.
57
58 * [st-scrollback-mouse-increment-0.8.2.diff](st-scrollback-mouse-increment-0.8.2.diff)
59 * [st-scrollback-mouse-increment-0.9.2.diff](st-scrollback-mouse-increment-0.9.2.diff)
60
61 Apply the following patch on top of the first two to allow a `\e[ m` escape,
62 marking the line to quickly scroll to with Control+{PageUp, PageDown}.
63 * [st-scrollback-mark-0.9.2.diff](st-scrollback-mark-0.9.2.diff)
64
65 Notes
66 -----
67 * Patches modify config.def.h, you need to add mkeys to your own config.h
68 * With patches before `20191024-a2c479c`: you can not have a mshortcut for the
69 same mkey so remove Button4 and Button5 from mshortcuts in config.h
70 * The mouse and altscreen patches `20191024-a2c479c` (and later) are simpler and
71 more robust because st gained better support for customized mouse shortcuts.
72 As a result, the altscreen patch doesn't really need the mouse patch. However
73 to keep it simple the instructions stay the same: the alrscreen patch still
74 applies on top of the (now very minimal) mouse patch.
75
76 Authors
77 -------
78 * Jochen Sprickerhof - <st@jochen.sprickerhof.de>
79 * M Farkas-Dyck - <strake888@gmail.com>
80 * Ivan Tham - <pickfire@riseup.net> (mouse scrolling)
81 * Ori Bernstein - <ori@eigenstate.org> (fix memory bug)
82 * Matthias Schoth - <mschoth@gmail.com> (auto altscreen scrolling)
83 * Laslo Hunhold - <dev@frign.de> (unscrambling, git port)
84 * Paride Legovini - <pl@ninthfloor.org> (don't require the Shift modifier
85 when using the auto altscreen scrolling)
86 * Lorenzo Bracco - <devtry@riseup.net> (update base patch, use static
87 variable for config)
88 * Kamil Kleban - <funmaker95@gmail.com> (fix altscreen detection)
89 * Avi Halachmi - <avihpit@yahoo.com> (mouse + altscreen rewrite after `a2c479c`)
90 * Jacob Prosser - <geriatricjacob@cumallover.me>
91 * Timo Röhling - <timo@gaussglocke.de> (ring buffer implementation)
92 * [Alexander Arkhipov](gopher://mineeyes.cyou/) - <scm_2022@mineeyes.cyou> (0.8.5 update)
93 * Ashish Kumar Yadav - <ashishkumar.yadav@students.iiserpune.ac.in> (reflow implementation)