Logiciel Windows pour déplacer n’importe quelle fenêtre entre plusieurs moniteurs (écrans) en utilisant les touches MAIS sans redimensionner la fenêtre déplacée

Sopalajo de Arrierez

Logiciel Windows pour déplacer n’importe quelle fenêtre entre plusieurs moniteurs (écrans) en utilisant les touches MAIS sans redimensionner la fenêtre déplacée


J’ai un ordinateur multi-écrans:

entrez la description de l'image ici

et j’utilise WindowPad pour déplacer (organiser) n’importe quelle fenêtre sur l’écran, et ce programme est trop capable de les déplacer entre les moniteurs en appuyant sur WinKey + Entrée .

Le problème est le suivant: la fenêtre déplacée est redimensionnée (redimensionnée) à la taille correspondante du nouveau moniteur, comme vous pouvez le voir dans les deux images ci-dessous. À partir d’un écran 1280×1024:

entrez la description de l'image ici

sur un écran 1920×1200:

entrez la description de l'image ici

Notez la fenêtre de la console Putty SSH redimensionnée . Ce n’est pas ce que je veux.

Déplacer des fenêtres sans utiliser la souris est extrêmement utile pour moi, mais je n’ai pas été en mesure de trouver un moyen pratique de le faire sans redimensionner cette fenêtre.
Le menu contextuel de la plupart des fenêtres n’est pas valide, car, même lorsque je peux déplacer les fenêtres, ce déplacement est trop lent (je préfère utiliser la souris dans ce cas):

entrez la description de l'image ici

WinKey + Maj + flèche ne fonctionnent pas sur mon Windows 7 SP1, je ne sais pas pourquoi.

Les idées sont les bienvenues.

Tymric

Sans redimensionnement, comment une fenêtre agrandie sur l’écran 1 s’adapterait-elle lorsque vous la déplacez vers l’écran 6, ou voulez-vous que la fenêtre couvre plusieurs moniteurs?

Sopalajo de Arrierez

Tu as raison, @Timmy, je n’y ai pas pensé. Heureusement, j’ai trouvé la solution: j’ai réussi à modifier le code source de WindowPad, et maintenant il déplace n’importe quelle fenêtre sans la redimensionner; et les fenêtres maximisées restent maximisées entre les moniteurs. Je fais des recherches pour savoir si ma solution doit être publiée ici sur SuperUser, ou sur tout autre forum comme StackOverFlow (tant qu’il s’agit d’une réponse de programmation). Donnez-moi juste quelques jours et je posterai ici ma méthode.

Sopalajo de Arrierez

Timmy, j’ai ajouté ma réponse ici. Il est basé sur la modification de la source. J’ajouterai .exe précompilé aux référentiels des forums AutoHotKey tant que je saurai comment le faire. Je suppose que SuperUser n’a pas de stockage pour les fichiers, donc je ne peux pas penser à une autre façon.

Tymric

Bon travail! Je pense que laisser un code ici est très bien, tant qu’il y a des instructions claires sur la façon de l’exécuter. Vous pouvez également le stocker sur Github

Réponses


 Jan Doggen

Vous n’avez pas besoin d’un logiciel spécial

Win + Maj + Flèche gauche: déplacer la fenêtre vers le moniteur à gauche
Win + Maj + Flèche droite: déplacer la fenêtre vers le moniteur à droite

De plus, Windows-P ouvre le sélecteur d’affichage:

entrez la description de l'image ici

L’ordinateur uniquement est l’option par défaut – et le nom dit tout.
Dupliquez en clonant votre écran vers un écran, un moniteur ou un projecteur secondaire connecté.
Étendre étend le bureau pour que vous puissiez faire de la place pour des fenêtres supplémentaires.
Le projecteur éteint uniquement l’écran LCD de votre ordinateur portable et transforme le projecteur en moniteur

Sopalajo de Arrierez

Win + Maj + Flèche gauche / droite ne fonctionnent pas sur mon ordinateur. Et Windows + P n’est pas valide, car j’ai 6 écrans. Ajout d’informations au message d’origine.


 Sopalajo de Arrierez

J’ai modifié le code source de WindowPad d’ origine pour ne pas redimensionner les fenêtres lors du déplacement ou du changement de moniteur.

Ce sont les étapes:

  • Téléchargez à partir du lien ci-dessus et décompressez.

  • Pour désactiver le redimensionnement des fenêtres lorsque vous déplacez edit sourceWindowPad.ahk pour le modifier (le Bloc-notes Windows est OK):

     ; Move and resize. WinMove,,, newx, newy, neww, newh 

à (noter les commentaires avec ; caractère):

  ; Move and resize. ; WinMove,,, newx, newy, neww, newh WinMove,,, newx, newy, w, h 

et changer:

 wp_CalcNewSizeAndPosition: ; Calculate desired size. neww := restore_w != "" ? restore_w : Round(monWidth * widthFactor) newh := restore_h != "" ? restore_h : Round(monHeight * heightFactor) 

à (nous gardons également quelques lignes en utilisant des commentaires):

 wp_CalcNewSizeAndPosition: ; Calculate desired size. ; neww := restore_w != "" ? restore_w : Round(monWidth * widthFactor) ; newh := restore_h != "" ? restore_h : Round(monHeight * heightFactor) neww := w newh := h 
  • Pour désactiver le redimensionnement des fenêtres lors du changement d’écran, modifiez sourceWindowPad.ahk pour changer:

; Calculate new size. if (wp_IsResizable()) { w := Round(w*(mdw/msw)) h := Round(h*(mdh/msh)) }

à:

  ; Calculate new size. if (wp_IsResizable()) { ; w := Round(w*(mdw/msw)) ; h := Round(h*(mdh/msh)) w := w h := h } 

(un changement assez ridicule celui-ci, mais cela aide à comprendre le sens de la modification)

  • Vous avez maintenant votre fichier .ahk que vous pouvez exécuter si vous avez installé AutoHotKey . Ou compilez-le en .exe en utilisant le même programme ( Convert .ahk to .exe ).

  • Et une amélioration mineure: ces lignes ici empêchent de mettre votre propre icône dans la barre d’état (vous pouvez la choisir lors de la compilation du fichier .ahk , mais elle n’y apparaîtra pas):

.

 if A_IsCompiled ; Load icons from my custom WindowPad.exe. { ; Default icon is 32x32, so doesn't look good in the tray. Menu, Tray, Icon, %A_ScriptFullPath%, 2 } else if (A_LineFile = A_ScriptFullPath) { ; Set the tray icon, but only if not included in some other script. wp_SetTrayIcon(true) ; Use OnMessage to catch "Suspend Hotkeys" or "Pause Script" ; so the "disabled" icon can be used. OnMessage(0x111, "WM_COMMAND") } 

alors commentez-les tous:

 ; if A_IsCompiled ; Load icons from my custom WindowPad.exe. ; { ; ; Default icon is 32x32, so doesn't look good in the tray. ; Menu, Tray, Icon, %A_ScriptFullPath%, 2 ; } ; else if (A_LineFile = A_ScriptFullPath) ; { ; Set the tray icon, but only if not included in some other script. ; wp_SetTrayIcon(true) ; ; Use OnMessage to catch "Suspend Hotkeys" or "Pause Script" ; ; so the "disabled" icon can be used. ; OnMessage(0x111, "WM_COMMAND") ; } 

et maintenant vous pouvez compiler votre .ahk en un .exe qui aura votre icône préférée pour le fichier et pour l’icône de la barre d’état (chaque icône AutoHotKey dans la barre d’état a le même H vert si non spécifié).

Ma compilation en .exe fonctionne à merveille. Maintenant, WindowPad est le meilleur programme que j’ai jamais vu pour déplacer et organiser des fenêtres, même avec plusieurs écrans.

Veuillez signaler les bogues si vous les trouvez.


 Franck Dernoncourt

Vous pouvez également utiliser UltraMon (non libre, Windows, GUI) pour configurer un raccourci clavier pour déplacer une fenêtre vers le moniteur suivant ou précédent.

entrez la description de l'image ici

Comme Jan l’a dit, Windows 7 a des raccourcis natifs que je n’utilise pas car je lie Win au clic gauche de la souris:

  • Gagner + Maj + Flèche gauche pour déplacer une fenêtre vers le moniteur gauche
  • Win + Shift + Arrow Right pour déplacer une fenêtre vers le moniteur de droite

Comme vous, j’ai 6 moniteurs, je dois donc déplacer une fenêtre vers le bas / haut dans mon cas entre les moniteurs 3 et 4 et entre les moniteurs 5 et 6:

entrez la description de l'image ici

J’ai vu que AHK pouvait avoir certaines fonctions, par exemple WindowPad et WindowPadX , mais je ne sais pas comment définir un tel raccourci clavier, j’ai donc posé la question ici il y a quelque temps: déplacer une fenêtre vers le moniteur inférieur / supérieur avec un raccourci sur Windows

 

#(sans, #en, #la, #pour, déplacée, déplacer, écrans, entre, fenêtre, Les, Logiciel, mais, moniteurs, n’importe, plusieurs, quelle, Redimensionner, touchés, utilisant, Windows?

 

elle.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *