Utilizzare ALT per spostare Windows in Windows come in Linux


14

Nella maggior parte dei gestori di finestre Linux, è possibile utilizzare il Alttasto mentre si fa clic e si trascina per riorganizzare le finestre. Questa è una delle mie funzionalità preferite dei gestori di finestre Linux.

C'è un modo per farlo in Windows 7?


"una delle mie funzionalità preferite di alcuni gestori di finestre Linux". FTFY. E potresti voler nominarne uno o due che lo fanno in modo che le persone che non sono a conoscenza del comportamento possano provarlo ...
dmckee --- ex gattino moderatore

Esegui l'upgrade a Windows 7 e il tuo tasto Windows ti renderà felice
Ivo Flipse,

AFAIK Gnome, KDE, Xfce e diverse varianti di box * supportano questa impostazione di default o con una facile configurazione.
Corey D


Il duplicato dovrebbe essere il contrario.
fixer1234,

Risposte:



1

Usa questo script autohotkey :

  • funziona PERFETTAMENTE su Windows 10
  • facile da installare
  • può essere compilato in un'app standalone

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

Lo script ha enormi problemi con due schermate che utilizzano una scala diversa. Uno schermo singolo o probabilmente due schermi con la stessa scala potrebbe funzionare perfettamente, sfortunatamente non ho quel lusso :)
krizajb

Cosa intendi per scala? Risoluzione? DPI? finestre-font-scaling?
Ярослав Рахматуллин,

Scala di risoluzione, ad esempio con uno schermo con scala del 250% e un altro con scala del 175%.
Krizajb,

Ha dei problemi quando si usa alt-tab. Non è possibile selezionare un programma quando è visibile la finestra alt-tab facendo clic su di esso, che funziona senza lo script. AltDrag menzionato in un'altra risposta fa entrambe le cose insieme.
JaKu,

1

Win-X-Move

Questo programma semplifica notevolmente la manipolazione delle finestre (spostamento / ridimensionamento) in MS-Windows. Ora puoi spostare e ridimensionare trascinando il mouse su qualsiasi punto della finestra con il tasto sinistro e destro rispettivamente, come nella maggior parte dei gestori di finestre X11.

http://winxmove.sourceforge.net/

Con l'app in esecuzione, puoi spostare le finestre semplicemente facendo clic con il pulsante sinistro del mouse in un punto qualsiasi, tenendo premuto il tasto Alt sulla tastiera. Per ridimensionare le finestre, tieni premuti i tasti Alt e Ctrl mentre fai clic con il pulsante destro del mouse in un punto qualsiasi della finestra e muovi il puntatore del mouse nella direzione in cui desideri ridimensionare la finestra.

Win-X-Move: sposta o ridimensiona le finestre delle app facendo clic ovunque


AltDrag

AltDrag ti dà la possibilità di spostare e ridimensionare le finestre in un modo nuovo. Dopo aver avviato AltDrag, puoi semplicemente tenere premuto il tasto Alt, quindi fare clic e trascinare qualsiasi finestra.

Questo comportamento esiste già in Linux e in altri sistemi operativi e AltDrag è stato creato con l'obiettivo di copiarlo sulla piattaforma Windows e di espanderlo ulteriormente con nuove funzionalità intuitive.

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

È molto più configurabile e ha più funzionalità della precedente: scatta finestre, cambia trasparenza, cambia volume, supporto multi-monitor ...


Entrambe le applicazioni di cui sopra sono portatili e devono solo scaricare, estrarre ed eseguire


+1 per AltDrag.
JaKu,

0

Una versione migliorata dello script menzionata in un'altra risposta qui è disponibile come applicazione in pacchetto: KDE Mover-Sizer . Essendo uno script di Autohotkey, ho la mia versione fortemente personalizzata.


le risposte solo link non sono buone , poiché diventeranno non valide quando il link marcisce
phuclv,

Mi piace come il mio link non è marcito, ma la risposta di @Kelbizzle ha. : scrollata di spalle:
forivall

Inoltre, la fonte completa del software collegato supera il limite di posta: "Il corpo è limitato a 30000 caratteri; hai inserito 91131". non può essere incluso.
forivall

anche se è troppo grande, dovresti comunque pubblicare un riepilogo (e la parte di elaborazione principale, se possibile). Come posso collegarmi a una risorsa esterna in modo favorevole alla comunità? , meta.stackexchange.com/a/143996/230282 . A partire da ora non ho idea di quale "sceneggiatura di cui sopra" sia
phuclv

dovresti pubblicare la parte principale di elaborazione del codice sorgente delle applicazioni che hai collegato. le risposte solo link non sono buone, lo sai. inoltre, hai il rappresentante per suggerire modifiche. sei un ragazzo grande, puoi fare il lavoro
esempio il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.