Właściwie pracuję nad rozwiązaniem wykorzystującym AutoHotkey, który rozpoznaje kliknięcie na pasku zakładek (według lokalizacji w oknie Chrome), a jeśli tak, to wysyła kliknięcie Ctrl zamiast zwykłego kliknięcia. Jeśli używasz AHK, możesz to przetestować.
Zrobiłem to, przechwytując kliknięcie, sprawdzając, czy kliknięcie było w Chrome, a następnie określając, czy kliknięcie było w polu, które zdefiniowałem jako pasek zakładek. Jeśli wszystkie te warunki są spełnione, wyślij kliknięcie jako kliknięcie z wciśniętym klawiszem Ctrl zamiast kliknięcia, które otworzy zakładkę w nowej karcie.
Powinno to działać skutecznie na pasku zakładek, ale oczywiście ignoruje wszelkie inne kliknięcia zakładek w folderze „Inne zakładki”. Nadal będziemy musieli pamiętać o kliknięciu dowolnego z tych łączy z wciśniętym klawiszem Ctrl (lub środkowym kliknięciem, jeśli jesteś zręczny za pomocą kółka myszy). Ponadto rozmiar i położenie paska zakładek może się różnić w zależności od wielu różnych rzeczy, takich jak motywy i inne paski narzędzi, więc YMMV, upewnij się, że używasz WindowSpy, aby uzyskać lokalizację własnego paska zakładek i zmienić dolną i górną granicę dla współrzędne X i Y.
Być może jedną z rzeczy, które mógłbym ulepszyć, jest wykrycie kliknięcia „Inne zakładki”, a następnie wysłanie następnego kliknięcia jako kliknięcia Ctrl, aby nawigować po drzewie menu, a następnie po znalezieniu i kliknięciu linku, jest to Ctrl -Kliknij.
#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)
}