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.