Repository navigation
v2.1.9
v2.1.9
淡入「只碰浮层自己那几格」;气泡换行重播一次;设置页左栏选中行常态带底色、划过的行也亮,名字一律同列。
| # | 内容 |
|---|---|
| 气泡不再挡旁边 | 用户:「气泡淡入把旁边不该挡的地方挡住了」。v2.1.8 的淡入是按行取增益的(anim_gain(row, …),作用域 anim_row_active 也只比行号),于是气泡框那一行的整行都被混向页面底色:框左边的侧栏正文、框右边的 [↑][↓][改][删] 尾巴一起变淡,看起来就像被框盖住。现在浮层登记自己的列窗口(气泡记 left … left+bw-1,toast 记 tcol … tcol+box_w-1),anim_fade 解析行定位时把列号也读出来,窗口外的 chunk 一律增益 1000(一格不动)。 |
| 换行要重播一次淡入 | 用户:「悬停提示没有淡入」。上一版为了「不一路闪」刻意让指针扫过多行不重播,结果是只有第一次出现看得见动画 —— 已经停在一行上再挪过去就一帧都不淡。现在状态键里带上气泡锚定的那一行(bit 12..16):从无到有、或换到别的行,都重起一段 110ms 淡入;同一行里鼠标再动不改键 ⇒ 不会一个事件闪一次。 |
| 侧栏选中行平时就有底色 | 用户:「设置面板左边要 hover 有颜色」。v2.1.6 曾把侧栏的 hover 底色整条撤掉(「不要一条一个颜色、不要 hover 背景」),做完之后侧栏连一点鼠标反馈都没有。现在按现在的要求改回来:当前页那一行常态用 TH_ACCENT→TH_BG1 45%(022;062;128,右表选中行同款),鼠标划过的行用 TH_BG1(022;027;034),两者同时命中时保留常态色(不让 hover 把「你在哪一页」冲掉)。底色铺满整行到分隔线前一格,分隔线那一列不碰。字色仍是「六个入口同色」—— v2.1.6 这一半保留。两处底色都是已登记的主题字面量,没有新增用色 ⇒ 改 [theme] 的人会跟着变。 |
| 「▶ 启动」的名字与别条同列 | 侧栏选中别的页时写成 " ▶" + label+2,▶ 直接和 [A] 挤在一格后面;而启动行拿 1 格的 %s 去顶别人 3 格的 [X] ⇒ 名字比其余条目靠左两格。现在六个入口一律「两格缩进 + 四格记号位 + 名字」,名字都从第 7 列起。 |
| 回归判据 | R17(淡入不得碰气泡列范围外的格子)、R13c(toast 同一条款,按横条实际宽度量列窗口)、R12c 判据反转成「换到别的行必须重播」、R18(一次触发一段:一次 / 同行再动 / 换行 三种鼠标序列的「混合帧数」必须分别是 一段 / 仍一段 / 两段)、R19a–e(六个入口名字同列;选中行不 hover 也有底色且铺到分隔线前一格;其余入口平时仍不涂底;划过的行才亮底、且不冲掉选中行底色、分隔线那列仍是 │;hover 的列范围与命中范围一致)。列窗口与宽度全部从字节流量出来(┌───┐ 的起止、行尾复位序列之前的可见宽度),不照抄 C 里的公式;宽度一律按显示列量 —— CJK 占两格,拿字符下标当列号会差一格(本机就是这么错过一次)。O 组「侧栏那一段只许是侧栏自己的串」原先是手写白名单 + startswith,文案一改就整组假红 ⇒ 改成从 src/render.c 的 sb_label[] 现抽现比,并把「被 sidebar_clip 裁过的每个前缀」都算合法(窄终端必然要裁),外来串照旧拦得住。整套判据拿去跑 v2.1.8 的二进制 ⇒ 恰好且只有 R12c / R13c / R17 / R18 / R19a / R19b / R19d / R19e 八条红,与本轮四件事一一对应(R17 越界 chunk 42 个、R13c 越界 7 个、R18 三种序列都是 21 帧、R19a 实测 [5, 7] 两列不齐);R19c「其余入口平时不涂底」在两版上都绿 —— 它是防止改过头的那一条。两条判据自身的毛病也一并记在这儿:① 新增的静态判据在 rA_ck 之外直接索引了屏幕行数据(side0[...]),没装 libvterm 的机器上那份数据是空的 ⇒ CI 的 macOS runner 上 KeyError 把整个作业带崩(本该打 SKIP),现在屏幕量取不到就走 ok_side 空值分支、五条 R19 一律 [SKIP],TERMUX_NO_VTERM=1 在本机复跑确认;② rA_span_cols 的切片起点带进了一个从 main() 漏出来的循环变量,本机不报错却把 toast 横条量成 35 列(真实 27)—— 修完才是第 37~63 列 ⇒ 「判据打出的数必须和另一侧几何对得上」,不然绿也没意义。 |