디스플레이 전환 단축키


12

내 PC에 2 개의 디스플레이가 있습니다. IDE는 한 디스플레이에서 전체 화면으로 열리고 Firefox는 다른 디스플레이에서 전체 화면으로 열립니다.

나는 주로 키보드를 사용하기 때문에 마우스를 잡고 포커스를 Firefox로 전환하고 항상 IDE로 돌아와야한다는 것은 성가신 일입니다.

포커스가 디스플레이 1 어딘가에 있고 그 반대 인 경우 디스플레이 2에서 포커스를 "가장 큰 창"으로 전환하는 데 사용할 수있는 바로 가기가 있습니까?

답변:


11

오늘 나는이 질문에 대한 공감대를 얻었으므로 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 단계 : 바로 가기를 사용하여 보스처럼 디스플레이 전환


이것은 많은 도움이되지만 마우스가 다른 화면으로 이동하지 않으면 큰 도움이됩니다.
samarth

2
@samarth mousemove restore"eval`xdotool mousemove $ 1 $ 2 getmouselocation --shell`"이되도록 eval에서 e를 제거함으로써이를 달성 할 수 있습니다.
Fluffy

1 단계를 시도한 다음 실행 중이고 sh swap.sh오류 메시지가 표시됩니다. swap.sh : 17 : swap.sh : 288 : 찾을 수 없음 swap.sh : 20 : swap.sh : 구문 오류 : "("예기치 않은 , 텍스트 작성 파일 제목 = 없음, 아무 생각 없나요? 감사합니다!
Matifou

@Matifou trybash swap.sh
Fluffy

도움이됩니다. 디스플레이 회전 시점을 감지하는 방법이 있습니까? 왼쪽 모니터를 (로 xrandr --rotate) 회전 했지만 xdotool은 회전을 사용하지 않으며 감지 방법을 모릅니다. 초점이 회전 된 디스플레이에있는 경우 키 스트로크를 한 번이 아니라 두 번 사용해야합니다.
GTK

0

AltTab창 사이를 전환 하는 데 사용할 수 있습니다 .

AltTab또한 마지막으로 전환 한 두 개의 창을 기억합니다. 하나의 창으로 전환 한 경우 (화살표 키를 사용하여 탐색) 다시 전환 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.