From 2cfee1d36cd0eeceb05f0ff0fd899f4a7dd93b44 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Sun, 8 Feb 2026 17:01:35 +0900 Subject: [PATCH] fix kouho selection. --- strans.c | 9 +++++++-- win.c | 6 ++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/strans.c b/strans.c index 804b41e..c5bc950 100644 --- a/strans.c +++ b/strans.c @@ -24,7 +24,7 @@ static void clearkouho(void) { im.nkouho = 0; - im.sel = 0; + im.sel = -1; } static void @@ -200,7 +200,7 @@ keystroke(u32int ks, u32int mod, Str *com) return 0; if(ks == Kdown && im.sel < im.nkouho - 1) im.sel++; - if(ks == Kup && im.sel > 0) + if(ks == Kup && im.sel >= 0) im.sel--; show(); return 1; @@ -257,6 +257,11 @@ keystroke(u32int ks, u32int mod, Str *com) return 1; return 0; } + if(ks == '0' && im.nkouho > 0){ + commit(com); + reset(); + return 1; + } if(ks > 0x7f || ks == ' '){ commit(com); sputr(com, ks); diff --git a/win.c b/win.c index b7493e4..fdc6e95 100644 --- a/win.c +++ b/win.c @@ -72,8 +72,10 @@ drawkouho(Drawcmd *dc, int first, int n, int w, int h) memset(img, (uchar)Colbg, w * h * sizeof(u32int)); drawstr(img, 0, 0, dc->pre.r, dc->pre.n, w, h); - sely = Fontsz + (dc->sel - first) * Fontsz; - memset(img + sely * w, (uchar)Colsel, Fontsz * w * sizeof(u32int)); + if(dc->sel >= 0){ + sely = Fontsz + (dc->sel - first) * Fontsz; + memset(img + sely * w, (uchar)Colsel, Fontsz * w * sizeof(u32int)); + } for(i = 0, y = Fontsz; i < n; i++, y += Fontsz){ s = &dc->kouho[first+i]; putfont(img, w, h, 0, y, '1' + i + Asciitofull);