tupdates from andrey - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 08166a45489b3246406ed72071eda245b5b96b0a
 (DIR) parent 8d8865f3d04d53ecb9f65bdd231dfc365e9dc743
 (HTM) Author: rsc <devnull@localhost>
       Date:   Thu, 30 Dec 2004 18:07:18 +0000
       
       updates from andrey
       
       Diffstat:
         M src/cmd/rio/menu.c                  |      22 ++++++++++++++--------
       
       1 file changed, 14 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/rio/menu.c b/src/cmd/rio/menu.c
       t@@ -121,17 +121,17 @@ button(XButtonEvent *e)
                case Button3:
                        break;
                case Button4:
       -                /* scroll down changes to next virtual screen */
       -                if(!c)
       -                        if(numvirtuals > 1 && virt < numvirtuals - 1)
       -                                switch_to(virt + 1);
       -                return;
       -        case Button5:
                        /* scroll up changes to previous virtual screen */
       -                if(!c)
       +                if(!c && e->type == ButtonPress)
                                if(numvirtuals > 1 && virt > 0)
                                        switch_to(virt - 1);
                        return;
       +        case Button5:
       +                /* scroll down changes to next virtual screen */
       +                if(!c && e->type == ButtonPress)
       +                        if(numvirtuals > 1 && virt < numvirtuals - 1)
       +                                switch_to(virt + 1);
       +                return;
                default:
                        return;
                }
       t@@ -193,7 +193,7 @@ spawn(ScreenInfo *s)
                                        fprintf(stderr, "rio: exec %s", shell);
                                        perror(" failed");
                                }
       -                        execlp("9term", "9term", "-w", 0);
       +                        execlp("9term", "9term", scrolling ? "-ws" : "-w", 0);
                                execlp("xterm", "xterm", "-ut", 0);
                                perror("rio: exec 9term/xterm failed");
                                exit(1);
       t@@ -382,6 +382,12 @@ switch_to(int n)
                        return;
                currents[virt] = current;
                virt = n;
       +
       +        /* redundant when called from a menu switch
       +         * but needed for scroll-button switches
       +         */
       +        b2menu.lasthit = n;
       +
                switch_to_c(n, clients);
                current = currents[virt];
        }