Use ALT para mover ventanas en Windows como en Linux


14

En la mayoría de los administradores de ventanas de Linux, uno puede usar la Alttecla mientras hace clic y arrastra para reorganizar las ventanas. Esta es una de mis características favoritas de los gestores de ventanas de Linux.

¿Hay alguna manera de hacer esto en Windows 7?


"Una de mis características favoritas de algunos gestores de ventanas de Linux". FTFY. Y es posible que desee nombrar uno o dos que lo hacen para que las personas que no son conscientes del comportamiento puedan probarlo ...
dmckee --- ex gatito moderador

Actualice a Windows 7 y su clave de Windows lo hará feliz
Ivo Flipse

AFAIK Gnome, KDE, Xfce y varias variantes de cajas * admiten esto de forma predeterminada o con una configuración fácil.
Corey D


El duplicado debe ser al revés.
Fixer1234

Respuestas:



1

Utilice este script de autohotkey :

  • funciona PERFECTAMENTE en Windows 10
  • fácil de instalar
  • se puede compilar en una aplicación independiente

fuente: https://autohotkey.com/docs/scripts/EasyWindowDrag_(KDE).htm

; Easy Window Dragging -- KDE style (requires XP/2k/NT) -- by Jonny
; http://www.autohotkey.com
; This script makes it much easier to move or resize a window: 1) Hold down
; the ALT key and LEFT-click anywhere inside a window to drag it to a new
; location; 2) Hold down ALT and RIGHT-click-drag anywhere inside a window
; to easily resize it; 3) Press ALT twice, but before releasing it the second
; time, left-click to minimize the window under the mouse cursor, right-click
; to maximize it, or middle-click to close it.

; This script was inspired by and built on many like it
; in the forum. Thanks go out to ck, thinkstorm, Chris,
; and aurelian for a job well done.

; Change history:
; November 07, 2006: Optimized resizing code in !RButton, courtesy of bluedawn.
; February 05, 2006: Fixed double-alt (the ~Alt hotkey) to work with latest versions of AHK.

; The Double-Alt modifier is activated by pressing
; Alt twice, much like a double-click. Hold the second
; press down until you click.
;
; The shortcuts:
;  Alt + Left Button  : Drag to move a window.
;  Alt + Right Button : Drag to resize a window.
;  Double-Alt + Left Button   : Minimize a window.
;  Double-Alt + Right Button  : Maximize/Restore a window.
;  Double-Alt + Middle Button : Close a window.
;
; You can optionally release Alt after the first
; click rather than holding it down the whole time.

If (A_AhkVersion < "1.0.39.00")
{
    MsgBox,20,,This script may not work properly with your version of AutoHotkey. Continue?
    IfMsgBox,No
    ExitApp
}


; This is the setting that runs smoothest on my
; system. Depending on your video card and cpu
; power, you may want to raise or lower this value.
SetWinDelay,2

CoordMode,Mouse
return

!LButton::
If DoubleAlt
{
    MouseGetPos,,,KDE_id
    ; This message is mostly equivalent to WinMinimize,
    ; but it avoids a bug with PSPad.
    PostMessage,0x112,0xf020,,,ahk_id %KDE_id%
    DoubleAlt := false
    return
}
; Get the initial mouse position and window id, and
; abort if the window is maximized.
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
    return
; Get the initial window position.
WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id%
Loop
{
    GetKeyState,KDE_Button,LButton,P ; Break if button has been released.
    If KDE_Button = U
        break
    MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
    KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
    KDE_Y2 -= KDE_Y1
    KDE_WinX2 := (KDE_WinX1 + KDE_X2) ; Apply this offset to the window position.
    KDE_WinY2 := (KDE_WinY1 + KDE_Y2)
    WinMove,ahk_id %KDE_id%,,%KDE_WinX2%,%KDE_WinY2% ; Move the window to the new position.
}
return

!RButton::
If DoubleAlt
{
    MouseGetPos,,,KDE_id
    ; Toggle between maximized and restored state.
    WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
    If KDE_Win
        WinRestore,ahk_id %KDE_id%
    Else
        WinMaximize,ahk_id %KDE_id%
    DoubleAlt := false
    return
}
; Get the initial mouse position and window id, and
; abort if the window is maximized.
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
    return
; Get the initial window position and size.
WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
; Define the window region the mouse is currently in.
; The four regions are Up and Left, Up and Right, Down and Left, Down and Right.
If (KDE_X1 < KDE_WinX1 + KDE_WinW / 2)
    KDE_WinLeft := 1
Else
    KDE_WinLeft := -1
If (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2)
    KDE_WinUp := 1
Else
    KDE_WinUp := -1
Loop
{
    GetKeyState,KDE_Button,RButton,P ; Break if button has been released.
    If KDE_Button = U
        break
    MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
    ; Get the current window position and size.
    WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
    KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
    KDE_Y2 -= KDE_Y1
    ; Then, act according to the defined region.
    WinMove,ahk_id %KDE_id%,, KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2  ; X of resized window
                            , KDE_WinY1 +   (KDE_WinUp+1)/2*KDE_Y2  ; Y of resized window
                            , KDE_WinW  -     KDE_WinLeft  *KDE_X2  ; W of resized window
                            , KDE_WinH  -       KDE_WinUp  *KDE_Y2  ; H of resized window
    KDE_X1 := (KDE_X2 + KDE_X1) ; Reset the initial position for the next iteration.
    KDE_Y1 := (KDE_Y2 + KDE_Y1)
}
return

; "Alt + MButton" may be simpler, but I
; like an extra measure of security for
; an operation like this.
!MButton::
If DoubleAlt
{
    MouseGetPos,,,KDE_id
    WinClose,ahk_id %KDE_id%
    DoubleAlt := false
    return
}
return

; This detects "double-clicks" of the alt key.
~Alt::
DoubleAlt := A_PriorHotkey = "~Alt" AND A_TimeSincePriorHotkey < 400
Sleep 0
KeyWait Alt  ; This prevents the keyboard's auto-repeat feature from interfering.
return

El script tiene grandes problemas con dos pantallas que usan una escala diferente. Una una sola pantalla o probablemente dos pantallas con la misma escala que podría funcionar perfectamente, por desgracia no tengo ese lujo :)
krizajb

¿Qué quieres decir con escala? ¿Resolución? DPI? Windows-Font-Scaling?
Ярослав Рахматуллин

Escala de resolución, por ejemplo, tener una pantalla con una escala del 250% y otra con una escala del 175%.
krizajb

Tiene un problema al usar alt-tab. No puede seleccionar un programa cuando la ventana de pestaña alternativa está visible haciendo clic en él, lo que funciona sin el script. AltDrag mencionado en otra respuesta hace ambas cosas juntas.
JaKu

1

Win-X-Move

Este programa hace que la manipulación de ventanas (movimiento / cambio de tamaño) en MS-Windows sea mucho más fácil. Ahora puede mover y cambiar el tamaño arrastrando alt en cualquier punto de la ventana con el botón izquierdo y derecho del mouse respectivamente, como se hace en la mayoría de los administradores de ventanas X11.

http://winxmove.sourceforge.net/

Con la aplicación en ejecución, puede mover ventanas simplemente haciendo clic izquierdo en cualquier lugar dentro de ellas mientras mantiene presionada la tecla Alt en su teclado. Para cambiar el tamaño de las ventanas, mantenga presionada la tecla Alt y Ctrl mientras hace clic con el botón derecho en cualquier parte de la ventana y mueve el puntero del mouse en la dirección en la que desea cambiar el tamaño de la ventana.

Win-X-Move: mueva o cambie el tamaño de la aplicación Windows haciendo clic en cualquier lugar dentro de ellas


AltDrag

AltDrag le brinda la capacidad de mover y cambiar el tamaño de las ventanas de una manera nueva. Después de iniciar AltDrag, simplemente puede mantener presionada la tecla Alt y luego hacer clic y arrastrar cualquier ventana.

Este comportamiento ya existe en Linux y otros sistemas operativos, y AltDrag se hizo con la misión de copiar ese comportamiento a la plataforma Windows y luego expandirlo aún más con una nueva funcionalidad intuitiva.

https://stefansundin.github.io/altdrag/

Es mucho más configurable y tiene más funciones que la anterior: abrir ventanas, cambiar la transparencia, cambiar el volumen, compatibilidad con monitores múltiples ...


Ambas aplicaciones anteriores son portátiles y solo necesitan descargar, extraer y luego ejecutar


+1 para AltDrag.
JaKu

0

Una versión mejorada del script mencionado en otra respuesta aquí está disponible como una aplicación empaquetada: KDE Mover-Sizer . Como es un script de Autohotkey, tengo mi propia versión muy personalizada.


respuestas-Link sólo no son buenas , ya que va a ser válidas cuando el enlace se pudre
phuclv

Me gusta cómo mi enlace no se ha podrido, pero la respuesta de @Kelbizzle sí. : encogimiento de hombros:
forivall

Además, la fuente completa del software vinculado supera el límite de publicación: "El cuerpo está limitado a 30000 caracteres; ingresó 91131". No se puede incluir.
Forivall

incluso si es demasiado grande, aún debe publicar un resumen (y la parte de procesamiento principal si es posible). ¿Cómo puedo vincularme a un recurso externo de manera amigable para la comunidad? , meta.stackexchange.com/a/143996/230282 . A partir de ahora no tengo idea de qué "guión antes mencionado" es
phuclv

debe publicar la parte de procesamiento principal del código fuente de las aplicaciones que ha vinculado. las respuestas de solo enlace no son buenas, ya sabes. Además, tiene el representante para sugerir ediciones. eres un niño grande, puedes hacer el trabajo
forivall
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.