На самом деле я работаю над решением, использующим AutoHotkey, которое распознает, что щелчок был помещен на панель закладок (по местоположению в окне Chrome), и, если это так, отправлял щелчок Ctrl вместо обычного щелчка. Если вы используете AHK, не стесняйтесь проверить это.
Я сделал это, перехватив щелчок, определив, был ли щелчок в Chrome, а затем определив, был ли щелчок внутри поля, которое я определил как панель закладок. Если все эти условия выполнены, отправьте щелчок как нажатие Ctrl вместо щелчка, который откроет закладку на новой вкладке.
Это должно работать эффективно для панели закладок, но, конечно, она игнорирует любые другие нажатия на закладки в папке "Другие закладки". Нам все еще нужно помнить, чтобы щелкнуть по любой из этих ссылок, удерживая нажатой клавишу Ctrl (или щелчок средней кнопкой мыши, если вы так ловко управляете колесом мыши). Кроме того, размер и расположение панели закладок могут отличаться в зависимости от множества разных вещей, таких как темы и другие панели инструментов, поэтому YMMV не забудьте использовать WindowSpy, чтобы получить местоположение собственной панели закладок и изменить нижнюю и верхнюю границы для координаты X и Y.
Возможно, одна вещь, которую я мог бы улучшить, - это определять, когда нажимается "Другие закладки", а затем отправлять следующий щелчок как нажатие Ctrl, чтобы вы перемещались по дереву меню, а затем, когда вы находите и нажимаете на свою ссылку, это Ctrl -Щелкните.
#SingleInstance force
#Persistent
LButton::
{
If MouseIsOver("ahk_class Chrome_WidgetWin_1")
{
MouseGetPos, LocationX, LocationY
If LocationX between 6 and 965
{
If LocationY between 75 and 95
{
; If we are here, the mouse has been clicked in Chrome in the
; bookmarks bar. Send a Ctrl-click instead of a click.
Send, {Control down}
Click
Send, {Control up}
}
Else
Click
}
Else
Click
}
Else
Click
}
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}