Я фактично працюю над рішенням, використовуючи функцію 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)
}