]> mj.ucw.cz Git - vs.git/commitdiff
...
authorMartin Mares <mj@ucw.cz>
Sun, 19 Jan 2003 19:32:10 +0000 (19:32 +0000)
committerMartin Mares <mj@ucw.cz>
Sun, 19 Jan 2003 19:32:10 +0000 (19:32 +0000)
vs.pl

diff --git a/vs.pl b/vs.pl
index 006339119e08b1789942bd4f2117be69a1a1b09c..0ac0fb580170a156e6cfe38034b53169df095cb7 100755 (executable)
--- a/vs.pl
+++ b/vs.pl
@@ -121,6 +121,14 @@ for(;;) {
        } elsif ($key eq ">" && $file_window_width > 1) {
                $file_window_width--;
                recalc_windows;
+       } elsif ($key eq "j") {
+               $file_window->key(KEY_DOWN);
+       } elsif ($key eq "k") {
+               $file_window->key(KEY_UP);
+       } elsif ($key eq "h") {
+               $file_window->key(KEY_LEFT);
+       } elsif ($key eq "l") {
+               $file_window->key(KEY_RIGHT);
        } else {
                $focused_window->key($key);
        }
@@ -347,11 +355,15 @@ sub redraw_line($$) {
 
 sub redraw($) {
        my $w = shift @_;
-       $w->{"win"}->idlok(1);
+       my $win = $w->{"win"};
+       # Window size might have changed...
+       if ($w->{"1st"} + $w->{"h"} > $w->{"n"}) { $w->{"1st"} = $w->{"n"} - $w->{"h"}; }
+       if ($w->{"1st"} < 0) { $w->{"1st"} = 0; }
+       $win->idlok(1);
        for (my $i=0; $i<$w->{"h"}; $i++) {
                $w->redraw_line($w->{"1st"} + $i);
        }
-       $w->{"win"}->noutrefresh;
+       $win->noutrefresh;
 }
 
 sub go($$) {
@@ -402,9 +414,7 @@ sub select($) {
                                for (my $i=0; $i<$w->{"n"}; $i++) {
                                        if ($w->{"flist"}->[$i] eq $back) {
                                                $w->{"i"} = $i;
-                                               if ($i > $w->{"h"}/2) { $w->{"1st"} = $i - int($w->{"h"}/2); }
-                                               if ($w->{"1st"} + $w->{"h"} > $w->{"n"}) { $w->{"1st"} = $w->{"n"} - $w->{"h"}; }
-                                               if ($w->{"1st"} < 0) { $w->{"1st"} = 0; }
+                                               $w->{"1st"} = $i - int($w->{"h"}/2);
                                                last;
                                        }
                                }