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 (1985B)
---
1 universcroll
2 ============
3
4 Description
5 -----------
6 With *scroll*(1) and default binds (as of 0.8.4), how to scroll?
7 - Inside alt screen? Mouse{4,5} to scroll {Up,Down}. :)
8 - Outside alt screen? Shift+Mouse{4,5} to scroll {Up,Down}. :(
9
10 With universcroll patch, always use Mouse{4,5} to scroll {Up,Down}.
11 Doesn't matter alt screen or not. No more `^Y^Y^Y^Y^Y^E^E^E^E^E`!
12
13 `universcroll-example` on top of `universcroll` makes some extra
14 changes:
15 - Set scroll program = "scroll"
16 - Mouse wheel scroll enabled only with NO_MOD.
17 - Mouse wheel zoom enabled with ShiftMask/ANY_MOD.
18
19 Download
20 --------
21 - [st-universcroll-0.8.4.diff](st-universcroll-0.8.4.diff)
22 - [st-universcroll-example-0.8.4.diff](st-universcroll-example-0.8.4.diff)
23
24 Notes
25 -----
26 In the provided config, both Mouse{4,5} and Shift+{Page_Up,Page_Down}
27 emit {`\033[5;2~`,`\033[6;2~`}. In default *scroll*(1) config, those
28 sequences scroll {Up,Down} by full page each time (like TTY). This is
29 maybe not desired behavior.
30
31 You can change *st*(1) config to use different sequences and define how
32 *scroll*(1) responds to sequences in *scroll(1)*'s config.
33
34 In *st*(1) config, some keys are defined to send certain sequences in
35 `key[]`. Inside `mshortcuts[]` and `shortcuts[]`, use function `ttysend`
36 with argument `{.s = ""}` to send sequences.
37
38 My settings:
39 //st
40 { XK_NO_MOD, Button4, ttysend, {.s = "\033[1;3A"}, 0, -1 },
41 { XK_NO_MOD, Button5, ttysend, {.s = "\033[1;3B"}, 0, -1 },
42 //scroll
43 {"\033[1;3A", SCROLL_UP, 3}, /* Mod1+Up */
44 {"\033[1;3B", SCROLL_DOWN, 3}, /* Mod1+Down */
45
46 Bugs
47 ----
48 Non-readline shell (zsh, fish) can have prompt issues with *scroll*(1)
49 (Scrolling down by line after scrolling up, among other things). More
50 problems with non-PS1 prompt.
51
52 Author
53 ------
54 - [Dennis Lee](mailto:dennis@dennislee.xyz)
55
56 `universcroll` was made possible by
57 [scrollback-mouse-altscreen](../scrollback). All alt screen detection
58 code is from that patch.