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.