Skip to content

Commit

Permalink
feat: 更新版本 2.30.0
Browse files Browse the repository at this point in the history
  • Loading branch information
abgox committed Jan 12, 2025
1 parent 8e79044 commit 897887d
Show file tree
Hide file tree
Showing 20 changed files with 468 additions and 315 deletions.
14 changes: 12 additions & 2 deletions src/v2/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
# v2 版本更新日志

- 注意: 如果你的网络环境无法访问 [官网](https://inputtip.pages.dev)`InputTip.exe` 也将无法检测到版本更新,你可能需要额外关注项目仓库中是否有版本更新

- 没有特别说明的版本都是修复问题

## 2.30.0

-`更改配置` 中的 `其他杂项` 中添加了 `实时显示当前激活的窗口进程信息`
- 为各个列表添加了个数统计
- 移除了软件内部的禁用名单
- 禁用名单中的应用进程不是所有系统环境都有问题的,统一禁用不合理
- 如果你仍继续使用黑名单,也应该由你自行添加
- 当选择 `使用「黑」名单` 时,会弹出警告窗口提醒
- 修复了 `设置光标获取模式` 中的一些问题
- 优化了许多菜单的显示和操作逻辑
- 其他的修复和优化

## 2.29.0

- 添加了 `设置光标获取模式`
Expand Down
Binary file modified src/v2/InputTip.JAB.JetBrains.exe
Binary file not shown.
360 changes: 188 additions & 172 deletions src/v2/InputTip.ahk

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion src/v2/menu/JAB.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ fn_JAB(item, *) {
ideGui.SetFont(fz, "微软雅黑")
ideGui.AddText(, "已经成功启用了 JAB/JetBrains IDE 支持,你还需要进行以下步骤:")

ideGui.AddEdit("xs -VScroll ReadOnly w" Gui_width, "1. 开启 Java Access Bridge`n2. 点击托盘菜单中的「设置光标获取模式」`n3. 将 JetBrains IDE 或其他 JAB 程序添加到其中的「JAB」列表中`n4. 如果未生效,请重启正在使用的 JetBrains IDE 或其他 JAB 程序`n5. 如果仍未生效,请重启 InputTip 或重启系统`n6. 有多块屏幕时,副屏幕上可能有坐标偏差,需要通过「设置特殊偏移量」调整")
ideGui.AddEdit("xs -VScroll ReadOnly w" Gui_width, "1. 开启 Java Access Bridge`n2. 点击下方的或托盘菜单中的「设置光标获取模式」`n3. 将 JetBrains IDE 或其他 JAB 应用进程添加到其中的「JAB」列表中`n4. 如果未生效,请重启正在使用的 JetBrains IDE 或其他 JAB 应用`n5. 如果仍未生效,请重启 InputTip 或重启系统`n6. 有多块屏幕时,副屏幕上可能有坐标偏差,需要通过「设置特殊偏移量」调整")
ideGui.AddLink(, '详细操作步骤,请查看: <a href="https://inputtip.pages.dev/FAQ/use-inputtip-in-jetbrains">InputTip 官网</a> <a href="https://github.com/abgox/InputTip#如何在-jetbrains-系列-ide-中使用-inputtip">Github</a> <a href="https://gitee.com/abgox/InputTip#如何在-jetbrains-系列-ide-中使用-inputtip">Gitee</a>')
ideGui.AddButton("xs w" Gui_width, "「设置光标获取模式」").OnEvent("Click", fn_cursor_mode)
y := ideGui.AddButton("xs w" Gui_width, "我知道了")
y.OnEvent("Click", yes)
y.Focus()
Expand Down
21 changes: 16 additions & 5 deletions src/v2/menu/app-offset.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ fn_app_offset(*) {
fn_common({
gui: "appOffsetGui",
config: "app_offset",
tab: ["管理特殊偏移量", "关于"],
tip: "你首先应该点击上方的「关于」查看具体的操作说明",
tab: ["设置特殊偏移量", "关于"],
tip: "你首先应该点击上方的「关于」查看具体的操作说明 ",
list: "特殊偏移量列表",
color: "cRed",
about: '1. 如何使用这个管理面板?`n - 最上方的列表页显示的是当前系统正在运行的应用进程(仅前台窗口)`n - 双击列表中任意应用进程,就可以将其添加到「特殊偏移量列表」中`n - 如果需要更多的进程,请点击右下角的「显示更多进程」以显示后台和隐藏进程`n - 也可以点击右下角的「通过输入进程名称手动添加」直接添加进程名称`n`n - 下方是「特殊偏移量列表」,可以设置指定应用在不同屏幕下的符号显示偏移量`n - 双击列表中任意应用进程,会弹出偏移量设置窗口,或者点击窗口底部按钮移除它`n`n2. 如何设置偏移量?`n - 当双击任意应用进程后,会弹出偏移量设置窗口`n - 通过屏幕标识和坐标信息,判断是哪一块屏幕,然后设置对应的偏移量`n - 偏移量的修改实时生效,你可以立即在对应窗口中看到效果`n - 如何通过屏幕坐标判断屏幕?`n - 假设你有两块屏幕,主屏幕在左侧,另一块屏幕在右侧`n - 那么另一块屏幕的左上角 X 坐标一定大于或等于主屏幕的右下角 X 坐标',
link: '',
addConfirm: "",
addConfirm2: "",
addConfirm3: "",
Expand All @@ -15,8 +16,14 @@ fn_app_offset(*) {
rmConfirm2: "",
rmConfirm3: "",
},
"", addClickFn, rmClickFn, addFn
handleFn, addClickFn, rmClickFn, addFn
)
handleFn(*) {
gc.appOffsetGui_LV_rm_title.Text := "特殊偏移量列表 ( " gc.appOffsetGui_LV_rm.GetCount() " 个 )"
writeIni("app_offset", "")
global app_offset := {}
restartJetBrains()
}

addClickFn(LV, RowNumber, tipList) {
handleClick(LV, RowNumber, tipList, "add")
Expand Down Expand Up @@ -139,8 +146,11 @@ fn_app_offset(*) {
for v in screenList {
app_offset.%app%.%v.num% := { x: 0, y: 0 }
}
fn_write_offset()
updateWhiteList(app)
SetTimer(timer, -1)
timer(*) {
fn_write_offset()
updateWhiteList(app)
}
}
offsetGui := Gui("AlwaysOnTop", "InputTip - 设置 " app " 的特殊偏移量")
offsetGui.SetFont(fz, "微软雅黑")
Expand Down Expand Up @@ -219,6 +229,7 @@ fn_app_offset(*) {
offsetGui.Show()

fn_write_offset() {
gc.appOffsetGui_LV_rm_title.Text := "特殊偏移量列表 ( " gc.appOffsetGui_LV_rm.GetCount() " 个 )"
_app_offset := ""
for v in app_offset.OwnProps() {
_info := v "|"
Expand Down
53 changes: 43 additions & 10 deletions src/v2/menu/bw-list.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,43 @@ fn_bw_list(*) {
g.AddText(, "-------------------------------------------------------------------------------------")

g.AddText(, "选择显示符号的名单机制: ")
g.AddDropDownList("yp AltSubmit vuseWhiteList Choose" useWhiteList + 1, ["使用「黑」名单", "使用「白」名单"]).OnEvent("Change", fn_change_list)
gc._bw_list := g.AddDropDownList("yp AltSubmit vuseWhiteList Choose" useWhiteList + 1, ["使用「黑」名单", "使用「白」名单"])
gc._bw_list.OnEvent("Change", fn_change_list)
fn_change_list(item, *) {
value := item.Value - 1
writeIni("useWhiteList", value)
global useWhiteList := value
restartJetBrains()
if (useWhiteList = item.Value) {
createGui(fn).Show()
fn(x, y, w, h) {
if (gc.w.subGui) {
gc.w.subGui.Destroy()
gc.w.subGui := ""
}
gc._bw_list.Value := useWhiteList + 1
g := Gui("AlwaysOnTop")
g.SetFont(fz, "微软雅黑")
bw := w - g.MarginX * 2
g.AddText("cRed", "确定要使用「黑」名单吗?")
g.AddText("cRed", "这是不建议的,使用它,你需要承担未知的可能存在的窗口兼容性代价")
g.AddButton("w" bw, "【是】我确定要使用「黑」名单").OnEvent("Click", yes)
g.AddButton("w" bw, "【否】不,我只是不小心点到了").OnEvent("Click", no)
g.OnEvent("Close", no)
yes(*) {
g.Destroy()
gc._bw_list.Value := 1
writeIni("useWhiteList", 0)
global useWhiteList := 0
}
no(*) {
g.Destroy()
}
gc.w.subGui := g
return g
}
} else {
value := item.Value - 1
writeIni("useWhiteList", value)
global useWhiteList := value
restartJetBrains()
}
}
g.AddEdit("xs Disabled", "如果使用「黑」名单,你需要承担未知的可能存在的窗口兼容性代价")
_c := g.AddButton("xs w" bw, "设置「白」名单")
Expand All @@ -35,23 +66,25 @@ fn_bw_list(*) {
fn_common({
gui: "blackListGui",
config: "app_hide_state",
tab: ["管理黑名单", "关于"],
tip: "你首先应该点击上方的「关于」查看具体的操作说明",
tab: ["设置黑名单", "关于"],
tip: "你首先应该点击上方的「关于」查看具体的操作说明 ",
list: "符号显示黑名单",
color: "cRed",
about: '1. 如何使用这个管理面板?`n - 最上方的列表页显示的是当前系统正在运行的应用进程(仅前台窗口)`n - 双击列表中任意应用进程,就可以将其添加到「符号显示黑名单」中`n - 如果需要更多的进程,请点击右下角的「显示更多进程」以显示后台和隐藏进程`n - 也可以点击右下角的「通过输入进程名称手动添加」直接添加进程名称`n - 下方是「符号显示黑名单」应用进程列表,如果使用黑名单机制,它将生效`n - 双击列表中任意应用进程,就可以将它移除`n`n - 黑名单机制: 只有不在黑名单中的应用进程窗口才会显示符号`n - 使用黑名单,可能会有一些特殊窗口的兼容性问题`n - 建议使用 <a href="https://inputtip.pages.dev/FAQ/about-white-list">白名单机制</a>,最好少用黑名单机制`n`n2. 如何快速添加应用进程?`n - 每次双击应用进程后,会弹出操作窗口,需要选择添加/移除或取消`n - 如果你确定当前操作不需要取消,可以在操作窗口弹出后,按下空格键快速确认',
about: '1. 如何使用这个管理面板?`n - 最上方的列表页显示的是当前系统正在运行的应用进程(仅前台窗口)`n - 双击列表中任意应用进程,就可以将其添加到「符号显示黑名单」中`n - 如果需要更多的进程,请点击右下角的「显示更多进程」以显示后台和隐藏进程`n - 也可以点击右下角的「通过输入进程名称手动添加」直接添加进程名称`n - 下方是「符号显示黑名单」应用进程列表,如果使用黑名单机制,它将生效`n - 双击列表中任意应用进程,就可以将它移除`n`n - 黑名单机制: 只有不在黑名单中的应用进程窗口才会显示符号`n - 使用黑名单,可能会有一些特殊窗口的兼容性问题`n - 建议使用白名单机制,最好少用黑名单机制`n`n2. 如何快速添加应用进程?`n - 每次双击应用进程后,会弹出操作窗口,需要选择添加/移除或取消`n - 如果你确定当前操作不需要取消,可以在操作窗口弹出后,按下空格键快速确认',
link: '相关链接: <a href="https://inputtip.pages.dev/FAQ/about-white-list">白名单机制</a>',
addConfirm: "是否要将",
addConfirm2: "添加到「符号显示黑名单」中?",
addConfirm3: "添加后,黑名单机制下,在此应用窗口中时,不会显示符号(图片/方块/文本符号)",
addConfirm3: "添加后,黑名单机制下,在此应用窗口中时,不会显示符号",
addConfirm4: "",
rmConfirm: "是否要将",
rmConfirm2: "从「符号显示黑名单」中移除?",
rmConfirm3: "移除后,黑名单机制下,在此应用窗口中时,会显示符号(图片/方块/文本符号)",
rmConfirm3: "移除后,黑名单机制下,在此应用窗口中时,会显示符号",
},
fn
)
fn(value) {
global app_hide_state := ":" value ":"
gc.blackListGui_LV_rm_title.Text := "符号显示黑名单 ( " gc.blackListGui_LV_rm.GetCount() " 个 )"
restartJetBrains()
}
}
Expand Down
7 changes: 4 additions & 3 deletions src/v2/menu/check-update.ahk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
fn_check_update(item, *) {
fn_check_update(*) {
createGui(fn).Show()
fn(x, y, w, h) {
if (gc.w.checkUpdateGui) {
Expand All @@ -8,11 +8,12 @@ fn_check_update(item, *) {
gc.checkUpdateDelay := checkUpdateDelay
g := Gui("AlwaysOnTop", "InputTip - 设置更新检测")
g.SetFont(fz, "微软雅黑")
g.AddText("cRed", "- 单位: 分钟,默认 1440 分钟(1 天)`n- 避免程序错误,可以设置的最大范围是 0-50000 分钟`n- 如果为 0,则表示不检测版本更新`n- 如果不为 0,在 InputTip 启动后,会立即检测一次`n- 如果大于 50000,则会直接使用 50000`n")
g.AddText("xs", "每隔多少分钟检测一次更新: ")
g.AddEdit("ReadOnly cRed -VScroll w" w - g.MarginX * 2, "- 单位: 分钟,默认 1440 分钟(1 天)`n- 避免程序错误,可以设置的最大范围是 0-50000 分钟`n- 如果为 0,则表示不检测版本更新`n- 如果不为 0,在 InputTip 启动后,会立即检测一次`n- 如果大于 50000,则会直接使用 50000`n")
g.AddText(, "每隔多少分钟检测一次更新: ")
_c := g.AddEdit("yp Number Limit5 vcheckUpdateDelay")
_c.Value := readIni("checkUpdateDelay", 1440)
_c.OnEvent("Change", fn_change_delay)
_c.Focus()
g.AddText()
fn_change_delay(item, *) {
value := item.Value
Expand Down
71 changes: 67 additions & 4 deletions src/v2/menu/config.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ fn_config(*) {
tab.UseTab(1)

configGui.AddText("Section cRed", "在更改配置前,你应该首先阅读一下相关的说明文档")
configGui.AddLink("xs", '<a href="https://inputtip.pages.dev/v2/">文档官网</a>')
configGui.AddLink("xs", '<a href="https://inputtip.pages.dev/v2/">官网</a>')
configGui.AddLink("yp", '<a href="https://github.com/abgox/InputTip">Github</a>')
configGui.AddLink("yp", '<a href="https://gitee.com/abgox/InputTip">Gitee</a>')
configGui.AddLink("yp", '<a href="https://inputtip.pages.dev/FAQ/">一些常见的使用问题</a>')
Expand Down Expand Up @@ -105,7 +105,7 @@ fn_config(*) {
updateDelay()
restartJetBrains()
}
configGui.AddEdit("xs Disabled -VScroll w" Gui_width, "单位: 毫秒,默认为 0 毫秒,表示不隐藏符号。`n当不为 0 时,此值不能小于 150,若小于 150,则使用 150。建议 500 以上。`n符号隐藏后,下次键盘操作或点击鼠标左键会再次显示符号")
configGui.AddEdit("xs ReadOnly cGray -VScroll w" Gui_width, "单位: 毫秒,默认为 0 毫秒,表示不隐藏符号。`n当不为 0 时,此值不能小于 150,若小于 150,则使用 150。建议 500 以上。`n符号隐藏后,下次键盘操作或点击鼠标左键会再次显示符号")
configGui.AddText("xs", "4. 每多少")
configGui.AddText("yp cRed", "毫秒")
configGui.AddText("yp", "后更新符号的显示位置和状态:")
Expand All @@ -124,7 +124,7 @@ fn_config(*) {
restartJetBrains()
}
; configGui.AddUpDown("Range1-500", delay)
configGui.AddEdit("xs Disabled -VScroll w" Gui_width, "单位:毫秒,默认为 50 毫秒。一般使用 1-100 之间的值。`n此值的范围是 1-500,如果超出范围则无效,会取最近的可用值。`n值越小,响应越快,性能消耗越大,根据电脑性能适当调整")
configGui.AddEdit("xs ReadOnly cGray -VScroll w" Gui_width, "单位:毫秒,默认为 50 毫秒。一般使用 1-100 之间的值。`n此值的范围是 1-500,如果超出范围则无效,会取最近的可用值。`n值越小,响应越快,性能消耗越大,根据电脑性能适当调整")

tab.UseTab(2)
configGui.AddText(, "你可以点击以下任意网址获取设置鼠标样式文件夹的相关说明:")
Expand Down Expand Up @@ -539,7 +539,69 @@ fn_config(*) {
writeIni("gui_font_size", item.Value)
global fz := "s" item.Value
}
configGui.AddEdit("xs Disabled -VScroll w" Gui_width, "取值范围: 5-30,超出范围的值无效,建议 12-20。`n如果觉得配置菜单的字体太大或太小,可以适当调整这个值,重新打开配置菜单即可。")
configGui.AddEdit("xs ReadOnly cGray -VScroll w" Gui_width, "取值范围: 5-30,超出范围的值无效,建议 12-20。`n如果觉得配置菜单的字体太大或太小,可以适当调整这个值,重新打开配置菜单即可。")

configGui.AddText("Section", "2. 点击下方按钮,实时显示当前激活的窗口进程信息")
gc._window_info := configGui.AddButton("w" Gui_width, "获取窗口进程信息")
gc._window_info.OnEvent("Click", fn_window_info)
configGui.AddText("xs", " - 窗口进程")
configGui.AddText("yp cRed", "名称")
configGui.AddText("yp", ": ")
gc.app_name := configGui.AddEdit("yp ReadOnly -VScroll w" Gui_width / 5 * 4)
configGui.AddText("xs", " - 窗口进程")
configGui.AddText("yp cRed", "标题")
configGui.AddText("yp", ": ")
gc.app_title := configGui.AddEdit("yp ReadOnly -VScroll w" Gui_width / 5 * 4)
configGui.AddText("xs", " - 窗口进程")
configGui.AddText("yp cRed", "路径")
configGui.AddText("yp", ": ")
gc.app_path := configGui.AddEdit("yp ReadOnly -VScroll w" Gui_width / 5 * 4)
fn_window_info(*) {
if (gc.timer) {
gc.timer := 0
gc._window_info.Text := "获取窗口进程信息"
return
}

gc.timer := 1
gc._window_info.Text := "停止获取"

SetTimer(statusTimer, 25)
statusTimer() {
static first := "", last := ""

if (!gc.timer) {
SetTimer(, 0)
first := ""
last := ""
return
}

try {
if (!first) {
name := WinGetProcessName("A")
title := WinGetTitle("A")
path := WinGetProcessPath("A")
gc.app_name.Value := name
gc.app_title.Value := title
gc.app_path.Value := path
first := name title path
}

name := WinGetProcessName("A")
title := WinGetTitle("A")
path := WinGetProcessPath("A")
info := name title path
if (info = last || info = first) {
return
}
gc.app_name.Value := name
gc.app_title.Value := title
gc.app_path.Value := path
last := info
}
}
}
tab.UseTab(7)
configGui.AddText(, "1. 对于颜色相关的配置,建议使用 16 进制的颜色值`n2. 不过由于没有调色板,可能并不好设置`n3. 建议使用以下配色网站(也可以自己去找),找到喜欢的颜色,复制 16 进制值`n4. 显示的颜色以最终渲染的颜色效果为准")
configGui.AddLink(, '<a href="https://colorhunt.co">https://colorhunt.co</a>')
Expand All @@ -550,6 +612,7 @@ fn_config(*) {
configGui.OnEvent("Close", fn_close)
fn_close(*) {
configGui.Destroy()
gc.timer := 0
}
gc.w.configGui := configGui
configGui.Show()
Expand Down
Loading

0 comments on commit 897887d

Please sign in to comment.