Jak mogę uzyskać Google Chrome do przełączania kart za pomocą kółka myszy?

25

W domu korzystam z Fedory 17 i przyzwyczaiłem się do szybkiego skanowania otwartych kart za pomocą kółka myszy podczas najechania na pasek kart. To dla mnie bardzo naturalny gest.

Przynajmniej raz w tygodniu w pracy (zwykle w poniedziałki) próbuję użyć tej samej techniki na Chrome działającym na MacBooku Pro, ale zakładki się nie poruszają. To zaczyna mnie wariować.

Czy ktoś ma rozwiązanie, które pozwoli mi używać kółka przewijania do zmiany kart w Google Chrome na OSX?

(Znalazłem następujący wątek kodu Google, ale sugerowana poprawka nie rozwiązuje problemu tak dalece, jak potrafię - http://code.google.com/p/chrome-convenience-extension/issues/detail?id= 31 )

użytkownik636685
źródło
1
Czy kiedykolwiek znalazłeś rozwiązanie?
Some Guy
1
W Chrome na Ubuntu takie zachowanie jest domyślnie włączone; jeśli podczas przewijania myszka znajduje się na pasku kart, przełącza karty. Ja bym bardzo podobny sposób, aby włączyć to zachowanie wyłączyć .
Keith Thompson

Odpowiedzi:

8

Rozszerzenie Chrome Toolbox może Cię zainteresować:

Opcje Zestawu narzędzi Chrome

Nie testowałem go na OSX, ale działa na Windows 7 i nie powinno być problemów z kompatybilnością.

fierflash
źródło
2
Wydaje się, że tych opcji brakuje w mojej instalacji rozszerzenia Chrome Toolbox. Wygląda na to, że zależy od systemu operacyjnego. Wciąż szukam rozwiązania ...
user636685 18.01.13
Większość opcji kart (w tym opcja myszy przewijania) nie jest dostępna w systemie OS X.
namuol 16.09.13
7
Rozszerzenie jest zepsute w obecnych wersjach Chrome i zostało usunięte z magazynu rozszerzeń.
ThiefMaster
6

Znaleziono rozwiązanie w wątku Grup dyskusyjnych Google. Użyj AutoHotKey z następującym skryptem:

;; Wheel Scroll Tabs for Google Chrome 

#IfWinActive ahk_class Chrome_WidgetWin_1 
 ~$WheelDown:: 
 ~$WheelUp:: 
    MouseGetPos,, yaxis 
    IfGreater,yaxis,23, Return 
    IfEqual,A_ThisHotkey,~$WheelDown, Send ^{PgDn} 
                                 Else Send ^{PgUp} 
Return 
#IfWinActive

Uwaga: zmieniłem to na, Chrome_WidgetWin_1ponieważ to działało dla mnie. Jeśli to nie działa, spróbuj zmienić naChrome_WidgetWin_0

Źródło

Jakiś facet
źródło
2

Jeśli używasz Chrome 32+, sprawdź to rozwiązanie za pomocą AutoHotKey (skompilowany skrypt). Chrome Toolbox nie działa w Chrome powyżej 31.

https://plus.google.com/115670442023408995787/posts/WYPqqk2j9UB

Lub użyj bezpośrednio:

; Mouse Wheel Tab Scroll 4 Chrome
; -------------------------------
; Scroll though Chrome tabs with your mouse wheel when hovering over the tab bar.
; If the Chrome window is inactive when starting to scroll, it will be activated.

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn   ; Enable warnings to assist with detecting common errors.
#SingleInstance force   ; Determines whether a script is allowed to run again when it is already running.
#UseHook Off    ; Using the keyboard hook is usually preferred for hotkeys - but here we only need the mouse hook.
#InstallMouseHook
#MaxHotkeysPerInterval 1000 ; Avoids warning messages for high speed wheel users.

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
Menu, Tray, Tip, Mousewheel tab scroll for Chrome (1.0.3)

WheelUp::
WheelDown::
    MouseGetPos,, ypos, id
    WinGetClass, class, ahk_id %id%
    If (ypos < 45 and InStr(class,"Chrome_WidgetWin"))
    {
        IfWinNotActive ahk_id %id%
            WinActivate ahk_id %id%
        If A_ThisHotkey = WheelUp
            Send ^{PgUp}
        Else
            Send ^{PgDn}
    }
    Else
    {
        If A_ThisHotkey = WheelUp
            Send {WheelUp}
        Else
            Send {WheelDown}
    }
    Return
Xsoft
źródło
Odpowiedź jest jedna wada: dotyczy implementacji specyficznej dla systemu Windows i nie wyjaśnia, jak działa kod, aby można go było przenieść do środowisk skryptowych dostępnych na innych platformach.
LiveWireBT
1

Nie mam problemów z Chrome / Chromium na Ubuntu, opisywana funkcjonalność po prostu działa dla mnie. Jednak obecnie muszę używać Chrome w systemie Windows, w którym tęsknię za tą funkcją.

Jak niektórzy wspominali, istnieją pewne implementacje w językach skryptowych², takie jak AutoHotKey, który jest tylko dla Windows i nigdy nie czułem potrzeby uruchamiania AutoHotKey, AutoIt lub jakiegokolwiek podobnego oprogramowania w systemie Linux / OSX; ale jak rozumiem, AutoKey i Automator powinny być równoważnymi programami. Dlatego powinna istnieć możliwość ponownego wdrożenia wysyłania podstawowych naciśnięć klawiszy w tych językach dla określonej platformy.

Oto rozwiązanie, które obecnie działa dla mnie: Społeczność AutoHotKey - tab_switcher - przełączaj karty kółkiem myszy w dowolnym oknie z kartami

Witaj,

oto kolejny skrypt do przełączania kart za pomocą kółka myszy - ten przykładowy skrypt jest przeznaczony dla Chrome, Firefox i Internet Explorer, ale można go również używać w każdym innym programie.

TabJumper(psWindowClass, piStripeYStart, piStripeYEnd)
{
    WinGet, idSearchWindow, ID, ahk_class %psWindowClass%
    MouseGetPos, iMouseX, iMouseY, idHoverWindow
    if (idSearchWindow=idHoverWindow
        && iMouseY>=piStripeYStart
        && iMouseY<=piStripeYEnd ) {

        ControlFocus,, ahk_id %idHoverWindow%
        if RegExMatch(A_ThisHotkey, "i).*wheelup.*")
        {
            ControlSend, ahk_parent, {Control Down}{Shift Down}{Tab Down}, ahk_id %idHoverWindow%
            Sleep, 60
            ControlSend, ahk_parent, {Tab Up}{Shift Up}{Control Up}, ahk_id %idHoverWindow%
        }
        else if RegExMatch(A_ThisHotkey, "i).*wheeldown.*")
        {
            ControlSend, ahk_parent, {Control Down}{Tab Down}, ahk_id %idHoverWindow%
            Sleep, 60
            ControlSend, ahk_parent, {Tab Up}{Control Up}, ahk_id %idHoverWindow%
        }
    }
}

Przykład użycia dla chrome:

#SingleInstance, force

~WheelUp::
    TabJumper("Chrome_WidgetWin_1", 8, 88)
return

~WheelDown::
    TabJumper("Chrome_WidgetWin_1", 8, 88)
return

Parametry wyjaśnione:

  • TabJumper([Window class], [horizontal reaction stripe y axis start], [[horizontal reaction y axis end]])

    Co z tym „poziomym paskiem reakcyjnym”?

    Oznacza to, że tylko w tym pasku zakładek okna są przełączane, druga część okna reaguje normalnie za pomocą kółka myszy, np. Przewijanie strony internetowej w górę i w dół.

Sposób użycia: Tak, wystarczy zainstalować AutoHotKey, utworzyć nowy .ahkplik, wkleić oba bloki kodu i wykonać skrypt, aby uzyskać tę funkcjonalność. (Dodane przeze mnie dodatkowe znaczniki).

Aby pomóc w zrozumieniu: {Control Down}{Shift Down}{Tab Down}i {Tab Up}{Shift Up}{Control Up}są to naciśnięcia klawiszy, jedna to sekwencja naciśnięcia i przytrzymania Crtl+ Shift+ Tab, a druga do ich zwolnienia. Oto lista ze skrótami klawiaturowymi z Chrome.


  1. Osobiście wolę Firefoksa niż Chromium / Chrome na wszystkich moich urządzeniach, ale w pracy pewien producent oprogramowania nie jest w stanie opublikować niezbędnego rozszerzenia przeglądarki jako podpisanego rozszerzenia Firefoksa (i MS Edge) dla określonego produktu. Jeśli chodzi o oprogramowanie komputerowe Google, w chwili pisania tego tekstu większość z nich jest gorsza poza dwudziestoma techbro robiącymi terminalami w przeglądarce internetowej z mojego punktu widzenia z Chromebooka .
  2. Uruchomienie osobnego skryptu dla tej (podstawowej) funkcjonalności jest niepoprawne i przesada. Całkowicie zgadzam się ze wszystkimi w tej opinii.
LiveWireBT
źródło
0
  1. Pobierz i zainstaluj X-Mouse Button Control .
  2. Otwórz „Ustawienia” z menu zasobnika.
  3. Dodaj nowy profil dla Chrome. Zobacz zdjęcie poniżej. Struny do kopiowania: chrome.exe, Intermediate D3D Window, Chrome_WidgetWin_1, Google Chrome Tab Scroll.wprowadź opis zdjęcia tutaj
  4. Wybierz Simulated Keysdla Wheel Up: wprowadź opis zdjęcia tutaj
  5. Wejdź {CTRL}{PGUP}, zaznacz opcję „Wyślij tylko, jeśli proces profilu jest aktywny” i naciśnij OK. wprowadź opis zdjęcia tutaj
  6. Powtórz 4 dla Wheel Down.
  7. Powtórz 5 z {CTRL}{PGDN}.
  8. Kliknij Zastosuj.

Aaa i gotowe done

Paweł
źródło