web-dev-qa-db-fra.com

Raccourci pour changer d'affichage

J'ai 2 écrans sur mon PC - un IDE est ouvert en plein écran sur un écran et Firefox est ouvert en plein écran sur un autre écran.

Comme j'utilise principalement le clavier, il est agaçant d'avoir à saisir la souris pour passer au centre de l'attention, puis revenir à la IDE à tout moment.

Existe-t-il un raccourci que je pourrais utiliser pour basculer le focus sur "Fenêtre la plus grande" sur l'écran 2 si le focus est quelque part sur l'écran 1 et vice versa?

9
Fluffy

Aujourd'hui, j'ai un vote positif pour cette question. Je publie donc la solution que j'utilise depuis plus d'un an et dont je suis assez satisfait.

Étape 1: créez le script bash (par exemple, écrivez-le dans ~/swap.sh et rendez-le exécutable) pour définir le focus sur une fenêtre située au milieu de l'autre écran:

#!/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

Étape 2: ajoutez un raccourci clavier pour appeler ce script, je mets le mien à Super-Tab

Étape 3: utilisez un raccourci pour changer d'affichage comme un patron

5
Fluffy

ce référentiel peut vous aider

https://github.com/Eitol/screen_focus_changer

Vous placez le script gauche focus_changer.py à un endroit fixe (/ opt par exemple), puis ajoutez le raccourci clavier/raccourci/raccourci clavier dans vos paramètres.

python3 /opt/focus_changer.py left # Se concentrer sur la gauche

python3 /opt/focus_changer.py right # Se concentrer sur la droite

0
Hector Oliveros

Vous pouvez utiliser AltTab pour basculer entre les fenêtres.

AltTab rappelle également les deux fenêtres dans lesquelles vous avez basculé pour la dernière fois. Si vous passez à une fenêtre (naviguez avec les touches fléchées), puis revenez en arrière en appuyant simplement sur AltTab vous permettra de sauter entre eux, sans autre navigation.

0
Aaron Hill