web-dev-qa-db-ja.com

ディスプレイを切り替えるショートカット

PCに2つのディスプレイがあります。1つのディスプレイでIDEが全画面表示され、Firefoxが別のディスプレイで全画面表示されます。

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

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

9
Fluffy

今日、私はこの質問に賛成票を投じたので、1年以上使用してきたソリューションを投稿し、非常に満足しています。

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

#!/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:ショートカットを使用して、ボスのような表示を切り替える

5
Fluffy

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

https://github.com/Eitol/screen_focus_changer

Focus_changer.pyの左側のスクリプトを固定場所に配置し(たとえば、/ opt)、設定にキーバインド/ショートカット/ホットキーを追加します

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

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

0
Hector Oliveros

使用できます AltTab ウィンドウを切り替える。

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

0
Aaron Hill