In Windows 7, so che puoi fare Windows+ Leftper mettere una finestra nella metà sinistra dello schermo. C'è una funzione che farà in alto e in basso?
In Windows 7, so che puoi fare Windows+ Leftper mettere una finestra nella metà sinistra dello schermo. C'è una funzione che farà in alto e in basso?
Risposte:
No. Le uniche opzioni di snap disponibili sono:
Modifica: altre fantastiche combinazioni che ti potrebbero piacere:
up
o down
, ad esempio, per scattare in alto a sinistra . Non quello che l'OP voleva, ma forse utile per gli altri.
Uso i seguenti passaggi per eseguire ciò:
Nota: è necessario ridurre a icona le finestre che non si desidera impilare. Questo è ciò che il passaggio 1 è destinato a fare.
Ho scritto un piccolo script di AutoHotKey per bloccare le finestre in alto e in basso perché ero frustrato anche per questo. Puoi scaricarlo dal mio sito Web: http://www.pixelchef.net/how-snap-windows-horizontally-windows-7
; Move window up (Windows + Shift + UP ... NOTE must maximize window first)
+#Up::
WinGetPos,X,Y,W,H,A,,,
WinMaximize
WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
; if this is greater than 1, we're on the secondary (right) monitor. This
; means the center of the active window is a positive X coordinate
if ( X + W/2 > 0 ) {
SysGet, MonitorWorkArea, MonitorWorkArea, 1
WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
}
else {
SysGet, MonitorWorkArea, MonitorWorkArea, 2
WinMove,A,,X,0 , , (MonitorWorkAreaBottom/2)
}
return
; Move window down (Windows + Shift + DOWN ... NOTE must maximize window first)
+#Down::
WinGetPos,X,Y,W,H,A,,,
WinMaximize
WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
; if this is greater than 1, we're on the secondary (right) monitor. This
; means the center of the active window is a positive X coordinate
if ( X + W/2 > 0 ) {
SysGet, MonitorWorkArea, MonitorWorkArea, 1
WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
}
else {
SysGet, MonitorWorkArea, MonitorWorkArea, 2
WinMove,A,,X,MonitorWorkAreaBottom/2 , , (MonitorWorkAreaBottom/2)
}
return
WindowSpace fornisce questa funzionalità. Per fare quello che stai chiedendo:
Settings
Immagine dello schermo:
Al momento non ho una macchina Windows 7 davanti a me, ma sin da Windows 95 (o anche prima forse), c'è stata la possibilità di affiancare Windows in orizzontale. Riduci a icona tutto tranne due finestre che desideri visualizzare in alto e in basso, fai clic con il pulsante destro del mouse sulla barra delle attività e seleziona Affianca finestre orizzontalmente. Dimensionerà ogni finestra per occupare metà dell'area verticale dello schermo. Questo non è utile da fare per una singola finestra e, come ha affermato un'altra risposta, non esiste una scorciatoia da tastiera, ma lo trovo utile a volte.
Correzione: su Windows 7, questo si chiama "Mostra finestre sovrapposte"
Simile a Northben, ho anche scritto uno script AutoHotKey, anche se in modo leggermente diverso, quindi ho pensato che meritasse una sua risposta. Questo script dovrebbe funzionare con qualsiasi numero di monitor o orientamenti del monitor.
I comandi sono associati a Windows+ Ctrl+ Upe Downinvece di Shiftnon interferire con il Windows+ Shift+ esistente Up.
Funziona in modo simile allo snap altezza schermo intero ( Windows+ Shift+ Up) in quanto la finestra mantiene la sua posizione orizzontale e larghezza. Questo può essere facilmente modificato per funzionare in modo simile alla metà sinistra o alla metà destra ( Windows+ Lefto Right) decommentando la ; WinMaximize, A
linea. Se si desidera mantenere il comportamento predefinito, ma a volte utilizzare il comportamento a metà scatto, è sufficiente ingrandire la finestra prima di scattare.
Funziona con Windows 7 a 64 bit e AutoHotKey v1.1.14.03.
;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
r := params[1]
for index, param in params
if (param < r)
r := param
return r
}
Max(params*)
{
r := params[1]
for index, param in params
if (param > r)
r := param
return r
}
;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width. To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
; WinMaximize, A
WinGetPos, x, y, w, h, a, , ,
SysGet , Count, MonitorCount
refArea := 0
Loop, %count%
{
SysGet, m, MonitorWorkArea, %A_Index%
xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
area := xo * yo
if (area > refArea)
{
monTop := mTop
monBottom := mBottom
refArea := area
}
}
; If the refArea is still equal to 0, the window does
; not overlap with any monitors. Wat?
if (refArea > 0)
{
if (direction = 1)
newY := monTop
Else
newY := (monBottom - monTop) / 2 + monTop
WinMove , a, , x, newY, w, (monBottom - monTop) / 2
}
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)
The following variable name contains an illegal character: "params*"
. Per ora sto usando la sceneggiatura di @ Northben
Il miglior programma che abbia mai usato per realizzare esattamente questo + altro è WinSplit Revolution: http://winsplit-revolution.com/
Lo consiglio vivamente, poiché è estremamente semplice da usare e funziona bene anche con più monitor.
Video dimostrativo: http://winsplit-revolution.com/screenshots/videos-demos
Questa applicazione è freeware e rilasciata con licenza Creative Commons Attribution-Non Commercial-No Derivative Works 3.0.
MODIFICARE:
Sembra che WinSplit non sia più disponibile, il sito Web è stato acquisito da Digital Creations AS, che ha la propria versione di questo tipo di software e non è più gratuito
Come Rain ha suggerito qui , PowerResizer funziona bene. Non molto personalizzabile: non è possibile modificare le scorciatoie da tastiera, ma è almeno open source. Come osserva JoeB, puoi premere questi mentre trascini una finestra: W per spostarti verso l'alto e Z per spostarti verso il basso. A è per spostarsi a sinistra, S per spostarsi a destra. O semplicemente trascina la finestra sul bordo. Premendo 1,2,3 e 4 durante il trascinamento verrà eseguito un quarto di scatto in un angolo. Sono contento, provalo.
Se hai una scheda grafica AMD, puoi usare "Hydravision".
(1) Apri Catalyst Control Center (2) In "Desktop e display" fai clic su "Altro ..." (3) In "Hydravision" fai clic su "HydraGrid" (4) Seleziona "Abilita HydraGrid" (5) Fai clic su "Modifica HydraGrid "e posiziona le linee della griglia dove desideri, ad esempio a metà del monitor verticale (6) Applica
Ora, quando lavori con Windows, puoi fare clic con il tasto destro sulla barra del titolo e selezionare "Allega alla griglia", quindi trascinarlo da un posto all'altro e si aggancerà alla griglia.
Corro 3x1 monitor da 24 "in modalità verticale con questa configurazione ed è il modo più veloce che ho trovato per far scattare le finestre nella metà superiore e inferiore di ciascun monitor.
Dai un'occhiata ad AquaSnap . Puoi trascinare il mouse come previsto, usare Ctrl + Mouse per ridimensionare due finestre piastrellate contemporaneamente, oltre a una serie di altre funzionalità.
È inoltre possibile utilizzare un'ampia varietà di tasti di scelta rapida. Questo programma ignora alcune impostazioni predefinite di Windows che sei già abituato a utilizzare, oltre a cambiare Win + Up e Win + Down per il dock in alto / in basso.
WindowSpace funziona, ma non è altrettanto bello, e può riattaccare per un po 'quando premi applica. In confronto, la versione gratuita / di prova di Aquasnap Pro è un'esperienza molto fluida.
Esistono molte opzioni fornite da Windows, tra cui STACKING, SIDE BY SIDE e CASCADING. Queste vengono eseguite facendo clic con il pulsante destro del mouse su un'area vuota della barra delle attività (in genere nella parte inferiore dello schermo) e selezionando. Sì, non è una scorciatoia da tastiera, ma è abbastanza vicina.
Non fidarti di me, prendilo direttamente dalla bocca del cavallo, Microsoft qui .
Anche il sito web ha molte altre curiosità, molte delle quali conosci, alcune potrebbero essere nuove. Spero che sia di aiuto.
Esiste un modo gratuito di terze parti per ottenere questa funzionalità, ma AFAIK:
La ricetta è:
Win+Down
per fare in modo che una delle finestre occupi un quarto dello schermoWin+Up
per fare in modo che l'altra finestra prenda il quarto opposto dello schermoRisolto un bug nella soluzione di Jason Clement. Quando la finestra scatta in verticale, in precedenza non occupava anche la larghezza del monitor. Rimarrebbe solo alla larghezza della finestra corrente, ma si aggancerebbe a 1/2 monitor in verticale. Con questa correzione, si aggancia all'altezza verticale del 50% su o giù e alla larghezza orizzontale del 100% del monitor.
Inoltre, per coloro che potrebbero non conoscere AHK ...
Spero che sia d'aiuto, e grazie Jason!
;-------------------------------------------------------------------;
; Returns the maximum or minimum value for any number of inputs
; i.e. Max(5,4,7,10) will return 10
;-------------------------------------------------------------------;
Min(params*)
{
r := params[1]
for index, param in params
if (param < r)
r := param
return r
}
Max(params*)
{
r := params[1]
for index, param in params
if (param > r)
r := param
return r
}
;-------------------------------------------------------------------;
; WindowsKey+Ctrl+Up / WindowsKey+Ctrl+Down
; Resizes window to half the screen height and moves it to the top
; or bottom of whichever screen has the largest overlap.
; By default, the window retains its horizontal (x) position and
; width. To change this, uncomment the WinMaximize line.
;-------------------------------------------------------------------;
UpDownSnap(Direction)
{
; WinMaximize, A
WinGetPos, x, y, w, h, a, , ,
SysGet , Count, MonitorCount
refArea := 0
Loop, %count%
{
SysGet, m, MonitorWorkArea, %A_Index%
xo := Max(0, Min(x + w, mRight) - Max(x, mLeft))
yo := Max(0, Min(y + h, mBottom) - Max(y, mTop))
area := xo * yo
if (area > refArea)
{
monTop := mTop
monBottom := mBottom
monLeft := mLeft
monRight := mRight
refArea := area
}
}
; If the refArea is still equal to 0, the window does
; not overlap with any monitors. Wat?
if (refArea > 0)
{
if (direction = 1)
newY := monTop
Else
newY := (monBottom - monTop) / 2 + monTop
WinMove , a, , monLeft, newY, (monRight - monLeft), (monBottom - monTop) / 2
}
}
^#Up::UpDownSnap(1)
^#Down::UpDownSnap(0)
Un'opzione che ho trovato utile è quella di suddividere i monitor in metà virtuali utilizzando DisplayFusion . Puoi impostarlo nel modo seguente:
Monitor Configuration
.vertical split
a al monitor. (Potresti giocare con questo e dividere ulteriormente i tuoi monitor.)Con questa opzione abilitata, dovresti essere in grado di utilizzare i tasti Windows+ Arrowper spostarti nella finestra e ingrandirla in quella nuova area divisa verticalmente del monitor. Sto per far funzionare i miei due monitor 1920x1200 in modalità verticale una volta che il mio 30 "entra e le finestre a scatto verticale saranno una necessità.
Avevo bisogno di dividere ripetutamente i due browser Windows in alto e in basso in Windows 10 con un'impostazione multi-monitor con molte altre finestre già aperte. Poteva farlo manualmente ma voleva una soluzione migliore.
Ho trovato l'estensione "Ridimensionamento scheda - Layout schermo diviso" dell'estensione di Chrome che mi ha reso semplicissimo.
Basta aprire una nuova finestra di Chrome, fare clic sull'icona di estensione Ridimensiona scheda, selezionare l'opzione 2x1. Bello e facile adesso.
Se si utilizza un monitor Dell, è possibile installare Dell Display Manager, che dispone di opzioni per dividere il display in una griglia.
Quindi puoi trascinare la finestra in una cella tenendo premuto il tasto Maiusc.