Verwenden Sie ALT, um Windows in Windows wie in Linux zu verschieben


10

In den meisten Linux-Fenstermanagern können Sie die AltTaste beim Klicken und Ziehen verwenden, um die Fenster neu anzuordnen. Dies ist eine meiner Lieblingsfunktionen von Linux-Fenstermanagern.

Gibt es eine Möglichkeit, dies in Windows 7 zu tun?


"Eines meiner Lieblingsfeatures einiger Linux - Fenstermanager". FTFY. Und vielleicht möchten Sie einen oder zwei nennen, die das tun, damit Leute, die sich des Verhaltens nicht bewusst sind, es ausprobieren können ...
dmckee

Aktualisieren Sie auf Windows 7 und Sie Windows-Schlüssel werden Sie glücklich machen
Ivo Flipse

AFAIK Gnome, KDE, Xfce und verschiedene * Box-Varianten unterstützen dies entweder standardmäßig oder mit einfacher Konfiguration.
Corey D


Das Duplikat sollte umgekehrt sein.
Fixer1234

Antworten:



0

Verwenden Sie dieses Autohotkey- Skript:

  • funktioniert perfekt auf Windows 10
  • einfach zu installieren
  • kann in eine eigenständige App kompiliert werden

Quelle: 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

0

Win-X-Move

Dieses Programm vereinfacht die Fensterbearbeitung (Verschieben / Ändern der Größe) unter MS-Windows erheblich. Sie können jetzt die Größe ändern und verschieben, indem Sie mit der linken bzw. rechten Maustaste an einer beliebigen Stelle des Fensters ziehen, wie dies bei den meisten X11-Fenstermanagern der Fall ist.

http://winxmove.sourceforge.net/

Während die App ausgeführt wird, können Sie Fenster einfach verschieben, indem Sie mit der linken Maustaste auf eine beliebige Stelle klicken und dabei die Alt-Taste auf Ihrer Tastatur gedrückt halten. Um die Fenstergröße zu ändern, halten Sie die Alt- und Strg-Taste gedrückt, während Sie mit der rechten Maustaste auf eine beliebige Stelle im Fenster klicken und den Mauszeiger in die Richtung bewegen, in der die Fenstergröße geändert werden soll.

Win-X-Move: Verschieben Sie App-Fenster oder ändern Sie deren Größe, indem Sie auf eine beliebige Stelle in ihnen klicken


AltDrag

Mit AltDrag können Sie Fenster auf neue Weise verschieben und in der Größe ändern. Nach dem Start von AltDrag können Sie einfach die Alt-Taste gedrückt halten und dann auf ein beliebiges Fenster klicken und es ziehen.

Dieses Verhalten ist bereits in Linux und anderen Betriebssystemen vorhanden. AltDrag wurde mit dem Auftrag erstellt, dieses Verhalten auf die Windows-Plattform zu kopieren und es dann mit neuen intuitiven Funktionen weiter zu erweitern.

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

Es ist viel konfigurierbarer und bietet mehr Funktionen als das vorherige: Fenster ausrichten, Transparenz ändern, Lautstärke ändern, Unterstützung für mehrere Monitore ...


Beide oben genannten Anwendungen sind portabel und müssen nur heruntergeladen, extrahiert und ausgeführt werden


0

Eine verbesserte Version des Skripts, das in einer anderen Antwort hier erwähnt wird, ist als Paketanwendung verfügbar: KDE Mover-Sizer . Da es sich um ein Autohotkey-Skript handelt, habe ich meine eigene stark angepasste Version.


Link nur für Antworten sind nicht gut , da sie ungültig werden , wenn der Link verrottet
phuclv

Ich mag, wie mein Link nicht verrottet ist, aber die Antwort von @ Kelbizzle hat. : achselzucken:
Forivall

Darüber hinaus überschreitet die vollständige Quelle der verknüpften Software das Post-Limit: "Body ist auf 30000 Zeichen begrenzt; Sie haben 91131 eingegeben." es kann nicht aufgenommen werden.
Forivall

auch wenn es zu groß ist, solltest du trotzdem eine Zusammenfassung posten (und wenn möglich den Hauptverarbeitungsteil). Wie kann ich Community-freundlich auf eine externe Ressource verlinken? , Meta.stackexchange.com/a/143996/230282 . Bis jetzt habe ich keine Ahnung, welches "vorgenannte Drehbuch" es ist
phuclv

Sie sollten den Hauptverarbeitungsteil des Quellcodes der von Ihnen verknüpften Anwendungen veröffentlichen. Nur-Link-Antworten sind nicht gut, wissen Sie. Außerdem haben Sie den Repräsentanten, der Änderungen vorschlägt. du bist ein großer Junge, du kannst die Arbeit machen
forivall
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.