Mungkinkah "snap" atas / bawah, bukan hanya kiri / kanan di Windows 7?

125

Di Windows 7, saya tahu Anda dapat melakukan Windows+ Leftuntuk meletakkan jendela di bagian kiri layar. Apakah ada fitur yang akan melakukan atas dan bawah?

Abe Miessler
sumber
@RockPaperLizard Anda juga harus ingat bahwa Windows 7 benar-benar tua dan merupakan satu-satunya OS yang memiliki fitur snap asli, hingga saat ini. Saya harus menemukan skrip jenis "ekstensi" pihak ketiga untuk melakukan ini di Mac, misalnya. Juga, Windows 10 memiliki Snap untuk setiap arah, termasuk sudut! Dengan kata lain, saya pikir tim Windows benar-benar mencoba di sisi UX. UI terkadang merupakan tes kepribadian, tetapi UX adalah sesuatu yang secara historis cukup baik dimiliki Windows.
Joseph Hansen
@ Joseph Saya sebenarnya setuju bahwa MS telah memiliki banyak keberhasilan di arena UX. Mereka bahkan bersedia untuk menjelajahi wilayah baru, meskipun tidak berhasil secara komersial, dengan Microsoft Bob . Sayangnya, keberhasilan mereka dirusak oleh banyak kegagalan, yang paling terkenal adalah Windows 8 . Saya tidak tahu apakah kegagalan proyek itu adalah tim UX mereka atau penolakan manajemen untuk mendengarkan mereka.
RockPaperLizard

Jawaban:

73

Tidak. Satu-satunya pilihan snap yang tersedia adalah:

  • setengah jepret kiri ( Windows+ left)
  • setengah jepret kanan ( Windows+ right)
  • jepretan ketinggian layar penuh ( Windows+ shift+ up)
  • jepretan dimaksimalkan ( Windows+ up)
  • "un-snap" ( Windows+ down)
  • jepret ke monitor / tampilan berikutnya ( Windows+ shift+ ( leftatau right))

Sunting: kombinasi luar biasa lainnya yang mungkin Anda sukai:

  • perkecil semua ( Windows+ m)
  • perkecil semua kecuali jendela aktif ( Windows+ Home)
  • Mengintip Aero (lihat Desktop, semua Windows menjadi transparan) ( Windows+ space)
Joseph Hansen
sumber
Rapi, saya mencoba mencari cara untuk menjaga posisi vertikal tetap tetapi memungkinkan gerakan horizontal tanpa menggunakan snap layar kiri / kanan dan harus menyesuaikan kembali lebar jendela, dan snap tinggi layar penuh melakukan apa yang saya inginkan.
JAB
4
Oh, baru saja menemukan bahwa mengklik dua kali tepi atas bilah judul (yaitu ketika panah berujung ganda vertikal ditampilkan) juga tidak mengubah ketinggian layar.
JAB
7
Di Windows 10 sekarang ada opsi lain: Setelah menjentikkan ke kiri atau kanan, Anda dapat menekan upatau down, misalnya untuk snap ke kiri atas . Bukan yang diinginkan OP, tapi mungkin bermanfaat untuk orang lain.
Andre
tidak ada "snap lebar layar penuh?" -_-
Shayan
Untuk downvoter, ini adalah jawaban yang benar untuk Windows 7. Windows 10 memiliki pilihan snap baru ...
Joseph Hansen
58

Saya menggunakan langkah-langkah berikut untuk mencapai ini:

  1. Windows+ D(untuk meminimalkan semua jendela)
  2. kemudian gunakan mouse saya untuk meletakkan jendela yang ingin saya susun di penempatan umum pada setiap monitor (jangan ubah ukurannya)
  3. kemudian klik kanan pada taskbar dan pilih "Show windows stacked" dari menu konteks lalu kembalikan semua windows yang saya inginkan

Catatan: Anda harus meminimalkan jendela yang tidak ingin Anda susun. Inilah yang harus dilakukan langkah 1.

Nathaniel
sumber
1
Ini sangat berguna. Saya tahu ini sejak win 98 tapi saya belum pernah menggunakannya di win 7, karena di win XP dan versi sebelumnya Anda dapat memilih tombol taskbar untuk memilih windows mana yang akan ditumpuk tetapi itu tidak berfungsi lagi di Windows 7 jadi ketika saya memilih opsi itu akan menumpuk semua jendela di layar. Blog technet: tahukah Anda: show windows stacked, cascaded or berdampingan
phuclv
Ini berguna, tetapi akan menumpuk semua jendela di semua monitor.
Leo
Ini masih berfungsi untuk Windows 10 juga.
snickers10m
@ Leo - dan di semua Desktop juga. Menarik :)
J Bryan Harga
23

Saya menulis sedikit script Autohotkey untuk mengambil jendela atas dan bawah karena saya juga frustrasi tentang hal ini. Anda dapat mengunduhnya dari situs web saya: 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
northben
sumber
Ini berfungsi, tetapi juga membuka layar mulai di Windows 8.1. Bagaimana cara mengatasi masalah ini?
Gabriel Hautclocq
2
Ini persis apa yang saya harapkan. Terima kasih! Saya perhatikan perintah tidak mengubah lebar jendela. Adakah cara untuk secara otomatis menjadi lebar layar penuh ketika terkunci naik / turun?
Alex P. Miller
1
Ini tidak berfungsi untuk saya di Windows 10. Saya punya 3 monitor, yang 2 di antaranya dalam mode vertikal. Anda secara eksplisit berbicara tentang 2 area kerja, tidak yakin apakah ini penyebabnya. Anda juga harus menyebutkan kombo kunci apa yang seharusnya Anda tekan dalam jawaban ini untuk orang-orang yang tidak tahu sintaks AHK
Joakim Söderberg
1
Ini hanya berfungsi sebagian pada Windows 7 saya dengan satu monitor horizontal dan satu vertikal. Sempurna pada monitor horizontal, tetapi pada vertikal sepertinya mengambil ketinggian dari yang horisontal.
hardmooth
21

WindowSpace menyediakan fungsionalitas ini. Untuk melakukan apa yang Anda minta:

  • Buka tab "Memindahkan dan Mengubah Ukuran" di Settings
  • Untuk "Tepi atas:", pilih "Pindah ke sisi atas"
  • Untuk "Tepi bawah:", pilih "Pindah ke sisi bawah"

Tangkapan layar:

tangkapan layar

Russell Davis
sumber
9
Apakah kunci lisensi $ 25 diperlukan di beberapa titik?
ruffin
2
Saya lebih suka AquaSnap (gratis atau biaya 9 dolar untuk multi monitor): youtube.com/watch?v=bOVOEebpiWc Tetapi karena Windows 10 tidak perlu lagi karena fitur yang paling penting adalah bagian dari OS, sekarang.
mgutt
1
AquaSnap sekarang $ 18 (jika Anda menggunakan beberapa monitor), dan ia melakukan banyak hal yang tidak Win10, seperti snap atas / bawah dan ubin. Sangat keren.
isherwood
9

Saya tidak memiliki mesin windows 7 di depan saya saat ini, tetapi sejak Windows 95 (atau bahkan sebelum mungkin), telah ada opsi untuk memasang windows secara horizontal. Perkecil semuanya kecuali dua jendela yang ingin Anda lihat bagian atas dan bawah, klik kanan bilah tugas, dan pilih Ubin Windows secara horizontal. Ini akan ukuran setiap jendela untuk mengambil setengah area layar vertikal. Ini tidak berguna untuk dilakukan pada satu jendela, dan seperti jawaban lain menyatakan, tidak ada pintasan keyboard untuknya, tapi kadang-kadang saya merasa berguna.

Koreksi: pada Windows 7, ini disebut "Show windows stacked"

rmart
sumber
8

Mirip dengan northben, saya juga menulis skrip Autohotkey, meskipun agak berbeda jadi saya pikir itu layak untuk jawabannya sendiri. Skrip ini harus bekerja dengan sejumlah monitor atau orientasi monitor.

Perintah terikat ke Windows+ Ctrl+ Updan Downbukannya Shiftagar tidak mengganggu Windows+ Shift+ yang ada Up.

Ini bekerja sama dengan snap ketinggian layar penuh ( Windows+ Shift+ Up) di mana jendela mempertahankan posisi horizontal dan lebarnya. Ini dapat dengan mudah diubah untuk bekerja sama dengan setengah kiri atau snap setengah kanan ( Windows+ Leftatau Right) dengan menghapus komentar ; WinMaximize, Abaris. Jika Anda ingin mempertahankan perilaku default, tetapi terkadang menggunakan perilaku setengah jepret, cukup maksimalkan jendela sebelum memotret.

Bekerja dengan Windows 7 64-bit dan 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)
Jason Clement
sumber
1
Saya berharap ini akan berhasil. Saya mendapatkan The following variable name contains an illegal character: "params*". Untuk saat ini saya menggunakan skrip @ northben
bit
Terima kasih untuk skrip ini. Sangat berguna. Saya menemukan bahwa itu tidak akan memuat sampai saya menghapus ruang antara nama fungsi UpDownSnap dan tanda kurung.
Jason Dufair
Mungkin itu juga masalah bit di atas. Menariknya, skrip saya sendiri tidak memiliki ruang; Saya tidak yakin bagaimana sampai di sana. Saya telah menghapusnya, terima kasih.
Jason Clement
Berfungsi dengan baik di Windows 8.1 :-)
Gabriel Hautclocq
Terima kasih @JasonClement atas solusi Anda. Saya memperbaiki bug dalam solusi Anda dan memposting sebagai jawaban lain.
Zee
7

Program terbaik yang pernah saya gunakan yang menyelesaikan ini + lebih tepatnya adalah WinSplit Revolution: http://winsplit-revolution.com/

Saya sangat merekomendasikannya, karena sangat mudah digunakan dan bahkan berfungsi baik dengan beberapa monitor.

Demo video: http://winsplit-revolution.com/screenshots/videos-demos

Aplikasi ini adalah freeware dan dirilis di bawah Creative Commons Attribution-Non Commercial-No Derivative Works 3.0.

SUNTING:

Tampaknya WinSplit tidak lagi tersedia, situs web telah diambil alih oleh Digital Creations AS, yang memiliki versi sendiri dari perangkat lunak jenis ini, dan tidak lagi gratis

Marcin
sumber
Perangkat lunak ini masih tersedia dari softonic dan masih berfungsi dengan baik di Windows 10 pada Update 1809. en.softonic.com/download/winsplit-revolution/windows
JoeB
5

tempatkan windows Anda seperti yang Anda inginkan -> klik kanan pada taskbar -> "show windows stacked" -> profit!

clevboy
sumber
4

Seperti yang disarankan Rain di sini , PowerResizer berfungsi dengan baik. Tidak terlalu dapat dikustomisasi - Anda tidak dapat mengubah pintasan keyboard, tetapi setidaknya open source. Seperti yang dicatat oleh JoeB, Anda dapat menekan ini sambil menyeret jendela: W untuk naik, dan Z untuk turun. A adalah untuk bergerak ke kiri, S untuk bergerak ke kanan. Atau cukup seret jendela ke tepi. Menekan 1,2,3, dan 4 sambil menyeret akan melakukan seperempat jepret ke sudut. Saya senang dengan itu, cobalah.

leetNightshade
sumber
Saya baru saja mencoba WindowSpace; jika Anda tidak keberatan membayar $ 25, ini adalah solusi yang jauh lebih baik.
leetNightshade
1
Ada dokumentasi! readme.txt di folder instalasi file program. Belum lagi itu tidak persis apa yang saya inginkan, yang vertikal setengah jepret. 1/4 snaps adalah bonus tambahan!
scaryman
3

Jika Anda memiliki kartu grafis AMD, Anda dapat menggunakan "Hydravision."

(1) Buka Catalyst Control Center (2) Di bawah "Desktop and Display" klik "More ..." (3) Di bawah "Hydravision" klik "HydraGrid" (4) Periksa "Enable HydraGrid" (5) Klik "Edit HydraGrid "dan letakkan garis kisi di tempat yang Anda inginkan, misalnya setengah jalan ke atas monitor potret (6) Terapkan

Sekarang ketika Anda bekerja dengan windows, Anda dapat mengklik kanan pada judul bar dan pilih "Lampirkan ke Grid," lalu seret dari satu tempat ke tempat lain dan itu akan snap ke grid.

Saya menjalankan monitor 3x1 24 "dalam mode potret dengan pengaturan ini dan ini adalah cara tercepat yang saya temukan untuk memasang jendela ke bagian atas dan bawah setiap monitor.

Mat
sumber
1
Saya membuat kesalahan dengan menginstal Catalyst Control Center untuk mencoba Hydravision. Program itu adalah babi dan saya mencari solusi lain.
dana
2

Lihat AquaSnap . Anda dapat menarik mouse seperti yang diharapkan, gunakan Ctrl + Mouse untuk mengubah ukuran dua jendela ubin secara bersamaan, di samping sejumlah fitur lainnya.

Lihat fitur docking yang mengagumkan

Anda juga dapat menggunakan berbagai tombol cepat. Program ini menimpa beberapa standar Windows yang sudah biasa Anda gunakan, selain mengubah Win + Up dan Win + Down untuk dock ke atas / bawah.

Contoh hotkey

WindowSpace berfungsi, tetapi tidak sebagus ini, dan dapat ditutup untuk sementara waktu ketika Anda menekan berlaku. Relatif, versi gratis / percobaan dari Aquasnap Pro adalah pengalaman yang sangat lancar.

leetNightshade
sumber
1

Ada banyak opsi yang disediakan oleh Windows, termasuk STACKING, SIDE BY SIDE, dan CASCADING. Ini dilakukan dengan mengklik kanan area kosong pada bilah tugas (biasanya di bagian bawah layar) dan memilih. Ya, ini bukan jalan pintas keyboard, tapi cukup dekat.

Jangan percaya padaku, luruskan dari mulut kuda, Microsoft di sini .

Juga situs web memiliki banyak informasi menarik lainnya - banyak yang Anda tahu, beberapa mungkin baru. Semoga ini membantu.

Scott Biggs
sumber
1

Ada cara pihak ketiga gratis untuk mencapai fungsi ini, tetapi AFAIK:

  • Ini membutuhkan beberapa penggunaan mouse
  • Ini hanya berfungsi untuk dua jendela.

Resepnya adalah:

  1. Pasang jendela berdampingan dengan cara biasa.
  2. Tekan Win+Downuntuk membuat salah satu jendela mengambil seperempat layar
  3. Pilih jendela lain dan tekan Win+Upuntuk membuat jendela lain mengambil seperempat layar yang berlawanan
  4. Gunakan mouse untuk meraih tepi jendela dan mengubah ukurannya ke tepi layar, sehingga memaksimalkan lebar setiap jendela tanpa mengubah ketinggiannya.
Leo
sumber
Tip yang bagus, tapi masih banyak pekerjaan yang harus dilakukan dengan benar setiap kali.
11101101b
1

Memperbaiki bug dalam solusi Jason Clement. Ketika jendela terkunci secara vertikal, sebelumnya tidak akan mengambil lebar monitor. Itu hanya akan tetap pada lebar jendela saat ini, tetapi akan snap ke 1/2 monitor secara vertikal. Dengan perbaikan ini, terpasang dengan ketinggian vertikal 50% ke atas atau ke bawah dan lebar horizontal monitor 100%.

Juga, bagi mereka yang mungkin tidak tahu AHK ...

  1. Unduh AutoHotKey
  2. Buat file teks di notepad. Rekatkan kode ke dalamnya. Simpan dengan ekstensi yang benar untuk AutoHotKey, mis. "VerticalSnap.ahk"
  3. Klik kanan pada file dari Explorer, pilih "Kompilasi skrip"
  4. Kompilasi harus membuat file "VerticalSnap.exe" di direktori itu.
  5. Buka run.exe, ketik "shell: startup" dan tekan Enter.
  6. Jendela Explorer baru akan terbuka ke folder Startup.
  7. Salin / tempel file .exe ke folder Startup ini.
  8. Pada boot berikutnya, skrip ini harus dijalankan. Anda dapat menggunakan CRTL + WINDOWS + UPARROW atau + DOWNARROW untuk masuk ke bagian atas setengah bagian bawah monitor Anda. Perhatikan bahwa jendela tidak boleh dimaksimalkan agar ini berfungsi.

Semoga itu bisa membantu, dan terima kasih 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)
Zee
sumber
0

Opsi yang menurut saya bermanfaat adalah membagi monitor Anda menjadi virtual menggunakan DisplayFusion . Anda mengatur ini dengan melakukan hal berikut:

  • Klik kanan ikon DisplayFusion yang terletak di area notifikasi Anda dan pergi ke Monitor Configuration.
  • Pilih monitor yang ingin Anda konfigurasi.
  • Tambahkan vertical splitke monitor. (Anda bisa bermain-main dengan ini dan membagi monitor Anda lebih jauh lagi.)

Dengan ini diaktifkan, Anda harus dapat menggunakan tombol Windows+ Anda Arrowuntuk menavigasi jendela Anda untuk memaksimalkan ke area baru yang terbagi secara vertikal dari monitor Anda. Saya akan menjalankan dua monitor 1920x1200 saya dalam mode potret begitu 30 "saya masuk dan menjentikkan jendela secara vertikal menjadi keharusan.

Jmac
sumber
0

Saya perlu berulang kali membagi dua Browser Windows bagian atas dan bawah di Windows 10 dengan pengaturan multi-monitor dengan banyak jendela lain yang sudah terbuka. Bisa melakukannya secara manual tetapi menginginkan solusi yang lebih baik.

Saya menemukan ekstensi Chrome "Ubah Ukuran Tab - Perpecahan Layout Layar" ekstensi membuat ini sangat mudah bagi saya.

Cukup buka Jendela Chrome baru, klik ikon ekstensi Ubah Ukuran Tab, pilih opsi 2x1. Bagus dan mudah sekarang.

Jeff
sumber
1
Sepertinya orang yang mengajukan pertanyaan menginginkan solusi yang berfungsi untuk semua program, bukan hanya Chrome. Apakah Anda memiliki sesuatu yang melakukan itu?
Ben N
0

Jika Anda menggunakan monitor Dell, Anda dapat menginstal Dell Display Manager, yang memiliki opsi untuk membagi tampilan menjadi kisi-kisi.

Kemudian Anda dapat menyeret jendela ke dalam sel sambil menahan tombol Shift.

Michael Zheng
sumber