表示を切り替えるショートカット


12

私のPCには2つのディスプレイがあります。あるディスプレイでIDEがフルスクリーンで開かれ、Firefoxが別のディスプレイでフルスクリーンで開かれます。

私は主にキーボードを使用するため、フォーカスをFirefoxに切り替えて常にIDEに戻すためにマウスをつかむ必要があるのは面倒です。

フォーカスがディスプレイ1のどこかにあり、その逆の場合に、ディスプレイ2でフォーカスを「最大ウィンドウ」に切り替えるために使用できるショートカットはありますか?

回答:


11

今日、私はこの質問に賛成票を得たので、1年以上ずっと使用してきた自分の解決策を投稿し、非常に満足しています。

ステップ1:~/swap.sh他のディスプレイの真ん中にあるウィンドウにフォーカスを設定するようにbashスクリプトを作成します(たとえば、書き込みを行い、実行可能にします)。

#!/bin/bash

getwindowat() {
    # move mouse to coordinates provided, get window id beneath it, move mouse back
    eval `xdotool mousemove $1 $2 getmouselocation --shell mousemove restore`
    echo $WINDOW
}

# get active app
active=`xdotool getactivewindow`
# get coordinates of an active app
eval `xdotool getwindowgeometry --shell $active`

# if left border of an app is less than display width
# (e.g. one display is 1920px wide, app has x = 200 - means it's 200px to the right from the left border of left monitor
# if it has x = 1920 or more, it's on the right window), it's on screen 0, and we need to focus to screen 1, otherwise to screen 0
(( $X >= $WIDTH )) && focustoscreen=0 || focustoscreen=1;

# get coordinates of the middle of the screen we want to switch
searchx=$[ ($WIDTH / 2) + $focustoscreen * $WIDTH ]
searchy=$[ $HEIGHT / 2 ]

# get window in that position
window=`getwindowat $searchx $searchy`
# activate it
xdotool windowactivate $window

ステップ2:このスクリプトを呼び出すキーボードショートカットを追加します。 Super-Tab

手順3:ショートカットを使用して上司のように表示を切り替える


これは大いに役立ちますが、マウスが他の画面に移動されない場合は、そうすれば素晴らしいでしょう。
サマース2017年

2
@samarth mousemove restoreevalからを削除して「eval `xdotool mousemove $ 1 $ 2 getmouselocation --shell`」
Fluffy

ステップ1を試してから実行するとsh swap.sh、次のエラーメッセージが表示されます:swap.sh:17:swap.sh:288:not found swap.sh:20:swap.sh:構文エラー: "("予期しない、テキストを作成タイトルが=で何もないファイル何かアイデアはありますか?ありがとう!
Matifou 2017

@Matifou trybash swap.sh
Fluffy

これは役に立ちます。ディスプレイが回転したことを検出する方法はありますか?左側のモニターを(でxrandr --rotate)回転させましたが、xdotoolは回転を使用せず、検出方法がわかりません。フォーカスが回転表示にある場合、キーストロークを1回ではなく2回使用する必要があります。
GTK

0

を使用AltTabしてウィンドウを切り替えることができます。

AltTabまた、最後に切り替えた2つのウィンドウを覚えています。1つのウィンドウに切り替える(矢印キーで移動する)場合は、元に戻しAltTabます。押すだけで、それ以上ナビゲーションすることなく、ウィンドウ間をジャンプできます。


2
ウィンドウではなく、デュアルモニター設定でディスプレイを切り替えたいのですが。複数のアプリケーションを開いており、他のディスプレイのアプリケーションに到達するまでAlt-Tabを何度も押したくありません。
Fluffy

0

このリポジトリはあなたを助けるかもしれません

https://github.com/Eitol/screen_focus_changer

あなたはfocus_changer.pyの左のスクリプトを固定された場所に配置し(/ optなど)そして、キーバインド/ショートカット/ホットキーを設定に追加します

python3 /opt/focus_changer.py left#左にフォーカス

python3 /opt/focus_changer.py right#右にフォーカス

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