Google Chromeでマウスホイールを使用してタブを切り替えるにはどうすればよいですか?


25

自宅でFedora 17を実行していますが、タブバーの上をホバーしながらマウスホイールを使用して、開いているタブをすばやくスキャンすることに慣れてきました。今では私にとって非常に自然なジェスチャーです。

少なくとも週に1回は職場(通常は月曜日)で、MacBook Proで実行しているchromeで同じ手法を使用しようとしますが、タブは動きません。これは私を夢中にさせ始めています。

誰かがスクロールホイールを使用してOSX用のGoogle Chromeのタブを変更できるソリューションを持っていますか?

(次のgoogleコードスレッドを見つけましたが、提案された修正は、私が知る限り問題に対処していません-http://code.google.com/p/chrome-convenience-extension/issues/detail ? id= 31


1
解決策を見つけましたか?
いくつかのガイ14

1
Ubuntu上のChromeでは、この動作はデフォルトで有効になっています。スクロールしたときにマウスがタブバー上にあると、タブが切り替わります。この動作をオフにする方法がとても欲しいです。
キーストンプソン

回答:


8

Chrome Toolboxの拡張機能はあなたの興味を引くかもしれません:

Chromeツールボックスオプション

OSXではテストしていませんが、Windows 7で動作しており、互換性の問題はないはずです。


2
これらのオプションは、Chrome Toolbox拡張機能のインストールから欠落しているようです。OSに依存しているようです。まだ解決策を探しています
...-user636685

ほとんどのタブオプション(スクロールマウスオプションを含む)はOS Xでは使用できません。
namuol13年

7
拡張機能は現在のChromeバージョンでは壊れており、拡張機能ストアから削除されています。
シーフマスター

6

Googleグループスレッドで解決策を見つけました。次のスクリプトでAutoHotKeyを使用します。

;; 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

注:それが私のChrome_WidgetWin_1ために働いたので、私はそれをに変更しました。それでもうまくいかない場合は、変更してみてくださいChrome_WidgetWin_0

ソース


2

Chrome 32以降を使用している場合は、AutoHotKey(コンパイル済みスクリプト)でこのソリューションを確認してください。Chrome Toolboxは31を超えるChromeでは動作しません。

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

または、直接使用します:

; 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

この回答には1つの欠陥があります。それはWindows固有の実装に関するものであり、他のプラットフォームで利用可能なスクリプト環境に移植できるようにコードがどのように機能するかを説明していません。
LiveWireBT

1

UbuntuでChrome / Chromiumを使用しても問題はありません。あなたが説明する機能は私にとってはうまく機能します。ただし、現在この機能が不足しているWindowsでChromeを使用する必要があります¹。

既に述べたように、Windows専用のAutoHotKeyなどのスクリプト言語²の実装がいくつかあり、Linux / OSXでAutoHotKey、AutoItまたは同様のソフトウェアを実行する必要性を感じたことはありません。しかし、私が理解しているように、AutoKeyAutomatorは同等のソフトウェアでなければなりません。そのため、特定のプラットフォーム用にこれらの言語で基本的なキーストロークの送信を再実装することが可能になります。

現在私のために働いているソリューションは次のとおりです:AutoHotKey Community-tab_switcher-任意のタブ付きウィンドウでマウスホイールでタブを切り替える

こんにちは、

マウスホイールでタブを切り替えるための別のスクリプトを次に示します-このサンプルスクリプトは、Chrome、Firefox、Internet Explorer用ですが、他のプログラムでも使用できます。

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%
        }
    }
}

クロムの使用例:

#SingleInstance, force

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

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

パラメーターの説明:

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

    この「水平反応ストライプ」についてはどうですか?

    これは、ウィンドウのこのストライプでのみタブが切り替えられることを意味します。ウィンドウの他の部分は、たとえばWebページを上下にスクロールするなど、マウスホイールで正常に反応します。

使用法:はい、AutoHotKeyをインストールし、新しい.ahkファイルを作成し、両方のコードブロックを貼り付け、スクリプトを実行するだけで機能が提供されます。(私が追加した追加のマークアップ。)

理解を助けるために:{Control Down}{Shift Down}{Tab Down}および{Tab Up}{Shift Up}{Control Up}キーストロークは、1つはCrtl+ Shift+ を押したままにするためのシーケンスであり、もう1つはTabそれらを解放するためのシーケンスです。以下に、Chromeのキーボードショートカットのリストを示します。


  1. 私は個人的にすべてのデバイスでChromium / ChromeよりもFirefoxを好んでいますが、特定のソフトウェアメーカーは特定の製品の重要なブラウザー拡張機能を署名付きFirefox拡張機能(およびMS Edge)として公開できません。Googleデスクトップソフトウェアに関しては、執筆時点では、私の視点から見ると、Chromebookのユースケースを使用してWebブラウザーで端末を操作している20人のテクブロよりも劣っています。
  2. この(基本的な)機能のために別のスクリプトを実行するのは間違っており、やり過ぎです。私はその意見について全員に同意します。


0
  1. X-Mouse Button Controlをダウンロードしてインストールします。
  2. トレイメニューから[セットアップ]を開きます。
  3. Chromeの新しいプロファイルを追加します。以下の画像を参照してください。コピーする文字列:chrome.exeIntermediate D3D WindowChrome_WidgetWin_1Google Chrome Tab Scrollここに画像の説明を入力してください
  4. 以下を選択Simulated KeysWheel Upます。 ここに画像の説明を入力してください
  5. Enter {CTRL}{PGUP}、「プロファイルのプロセスがアクティブな場合のみ送信する」オプションにチェックを入れて、OKを押します。 ここに画像の説明を入力してください
  6. について4を繰り返しWheel Downます。
  7. で5を繰り返し{CTRL}{PGDN}ます。
  8. 適用をクリックします。

Aaaand完了しました🎉

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.