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)