Skip to content

Commit ca2e17b

Browse files
committed
fix: 修复 符号悬停时隐藏 的闪烁问题
Closes #217
1 parent e1da91d commit ca2e17b

2 files changed

Lines changed: 4 additions & 5 deletions

File tree

src/menu/scheme-symbol.ahk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ fn_scheme_symbol(*) {
114114

115115

116116
tab.UseTab(2)
117-
g.AddEdit("ReadOnly r16 w" bw, "1. 配置 —— 指定符号的类型`n - 如果要显示符号,还必须添加【符号的白名单】`n - 只有在【符号的白名单】中的应用进程,InputTip 才会尝试显示符号`n - 它会先尝试获取输入光标位置,如果获取失败,则不显示符号`n - 可以尝试【在鼠标附近显示符号】作为这种失败情况的折中方案`n`n2. 配置 —— 符号的显示模式`n - 不同的模式,重新加载并显示符号的时机不同,默认使用【实时状态显示】`n - 【实时状态显示】: 切换输入法状态、输入光标位置变化`n - 【切换状态显示】: 切换输入法状态`n - 如果选择了【切换状态显示】,则【符号的延时隐藏】不应该为 0`n`n3. 配置 —— 符号的延时隐藏`n - 它指的是当无键盘或鼠标左键点击操作时,符号在多久后隐藏`n - 单位: 毫秒,默认为 0,表示永不隐藏`n - 当符号隐藏后,下次键盘操作或点击鼠标左键时再次显示`n - 如果【符号的显示模式】为【切换状态显示】,则键盘操作改为切换输入法状态`n`n4. 配置 —— 鼠标悬停时隐藏`n - 它指的是当鼠标悬停在符号上时,符号是否需要隐藏`n - 当符号隐藏后,下次键盘操作或光标位置变化时再次显示`n`n5. 配置 —— 偏移量参考原点`n - 输入光标附近显示的符号的垂直偏移量会基于这个参考原点`n - 如果你希望符号显示在文字的下方时,使用【输入光标下方】会更好`n - 否则,请保持默认的【输入光标上方】`n - 这个配置项对 JAB/JetBrains IDE 程序无效,需使用【特殊偏移量】单独处理`n`n6. 按钮 —— 图片符号/方块符号/文本符号`n - 点击后,打开对应的符号配置菜单")
117+
g.AddEdit("ReadOnly r16 w" bw, "1. 配置 —— 指定符号的类型`n - 如果要显示符号,还必须添加【符号的白名单】`n - 只有在【符号的白名单】中的应用进程,InputTip 才会尝试显示符号`n - 它会先尝试获取输入光标位置,如果获取失败,则不显示符号`n - 可以尝试【在鼠标附近显示符号】作为这种失败情况的折中方案`n`n2. 配置 —— 符号的显示模式`n - 不同的模式,重新加载并显示符号的时机不同,默认使用【实时状态显示】`n - 【实时状态显示】: 切换输入法状态、输入光标位置变化`n - 【切换状态显示】: 切换输入法状态`n - 如果选择了【切换状态显示】,则【符号的延时隐藏】不应该为 0`n`n3. 配置 —— 符号的延时隐藏`n - 它指的是当无键盘或鼠标左键点击操作时,符号在多久后隐藏`n - 单位: 毫秒,默认为 0,表示永不隐藏`n - 当符号隐藏后,下次键盘操作或点击鼠标左键时再次显示`n - 如果【符号的显示模式】为【切换状态显示】,则键盘操作改为切换输入法状态`n`n4. 配置 —— 鼠标悬停时隐藏`n - 它指的是当鼠标悬停在符号上时,符号是否需要隐藏`n - 当符号隐藏后,输入光标位置发生变化时再次显示`n`n5. 配置 —— 偏移量参考原点`n - 输入光标附近显示的符号的垂直偏移量会基于这个参考原点`n - 如果你希望符号显示在文字的下方时,使用【输入光标下方】会更好`n - 否则,请保持默认的【输入光标上方】`n - 这个配置项对 JAB/JetBrains IDE 程序无效,需使用【特殊偏移量】单独处理`n`n6. 按钮 —— 图片符号/方块符号/文本符号`n - 点击后,打开对应的符号配置菜单")
118118
g.AddLink(, '相关链接: <a href="https://github.com/abgox/InputTip/issues/145">Github Issue 145</a>')
119119
return g
120120
}

src/utils/var.ahk

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -503,14 +503,15 @@ loadSymbol(state, left, top, right, bottom, isShowCursorPos := 0) {
503503

504504
if (!isShowCursorPos) {
505505
if (left = old_left && top = old_top) {
506-
; XXX: 如果鼠标一直悬停在符号上,同时有键盘操作,就会出现符号闪烁
507-
if (state = lastSymbol || (isOverSymbol && A_TimeIdleKeyboard > leaveDelay)) {
506+
if (state = lastSymbol || isOverSymbol) {
508507
return
509508
}
510509
} else {
511510
isOverSymbol := 0
512511
}
513512
}
513+
old_top := top
514+
old_left := left
514515

515516
if (!symbolType || !canShowSymbol) {
516517
hideSymbol()
@@ -578,8 +579,6 @@ loadSymbol(state, left, top, right, bottom, isShowCursorPos := 0) {
578579
}
579580

580581
lastSymbol := state
581-
old_top := top
582-
old_left := left
583582
}
584583
; 重载符号
585584
reloadSymbol() {

0 commit comments

Comments
 (0)