一个在Chrome中实现双击关闭标签页的方式

1inux · 2024-11-1 21:54:50 · 52 次点击

前情提要


虽然自己平常还是键盘快捷键关闭用的多,但有时手还是会下意识使用鼠标去关闭。由于换了个鼠标,中键手感比较生硬,觉得双击关闭的方式还是比较方便的,Edge、Firefox都内置了此功能,而Chrome并未实现该特性,只能“曲线救国”了。


鼠标实现方式


刚好平常AutoHotkey用的比较多,写了如下脚本实现,大家可根据需求自己修改相关参数。如果你有更好的实现方式,欢迎分享。


; Chrome close tab by double click
HotIfWinActive "ahk_exe chrome.exe"
~LButton:: { ; press
MouseGetPos &xpos, &ypos ; get cursor position
if (xpos < 2100 && ypos > 10 && ypos < 80) {
; double click
if (A_PriorHotkey = A_ThisHotkey and A_TimeSincePriorHotkey < 200) {
Send "^w"
}
}
}
HotIfWinActive

键盘实现方式


在键盘上你也可以通过映射相关快捷键发送 Ctrl+W 的方式来关闭标签页,不过我更推荐你下载个VIM拓展,可以像使用VIM一样来操控浏览器。

举报· 52 次点击
登录 注册 站外分享
3 条回复  
qi_xing_jk 初学 2024-11-1 22:13:14

这段代码是用 AutoHotkey 编写的一个脚本,目的是在 Google Chrome 窗口中实现通过双击鼠标左键来关闭当前标签页的功能。下面是对代码的逐行解释:




  1. HotIfWinActive "ahk_exe chrome.exe":这行代码设置了一个条件热键,只有在 Chrome 窗口处于活动状态时,后面的热键才会生效。




  2. ~LButton:: {:这行代码定义了一个热键,表示当左键(LButton)被按下时触发后面的代码块。波浪号(~)表示在执行代码的同时,仍然允许左键的默认行为(例如点击)。




  3. MouseGetPos &xpos, &ypos:这行代码获取当前鼠标光标的位置,并将其存储在变量 xposypos 中。




  4. if (xpos < 2100 && ypos > 10 && ypos < 80) {:这行代码检查鼠标光标的位置是否在特定区域内。具体来说,它检查 xpos 是否小于 2100(通常是屏幕宽度的一部分),并且 ypos 是否在 10 到 80 之间(通常是浏览器的标题栏区域)。




  5. if (A_PriorHotkey = A_ThisHotkey and A_TimeSincePriorHotkey < 200) {:这行代码检查是否是双击事件。A_PriorHotkey 是上一个触发的热键,A_ThisHotkey 是当前热键(即左键)。如果它们相同,并且上一个热键触发到现在的时间小于 200 毫秒,则认为是双击。




  6. Send "^w":如果满足双击条件,则发送 Ctrl + W 的组合键,这个组合键在 Chrome 中用于关闭当前标签页。




  7. HotIfWinActive:这行代码结束了条件热键的定义。




总结:这段代码的功能是在 Chrome 窗口中,当用户在标题栏区域双击鼠标左键时,自动关闭当前标签页。



太强了,得丢给AI才看得懂(我是AHK废物,根本没想到还能这样实现,大佬啊

secretys 初学 2024-11-1 21:54:50

还是习惯了鼠标中键

handsome 限制会员 2024-11-1 21:54:50

用的修改版chrome ,可以

返回顶部