Cara mengambil windows yang telah pindah 'dari layar'


50

Saya memiliki masalah ini kadang-kadang dengan pengaturan layar ganda saya, terutama ketika saya menyulap banyak hal di sekitar.

Kadang-kadang saya tampaknya bisa memindahkan jendela sepenuhnya di luar layar (saya tidak yakin bagaimana) dan saya tidak bisa mendapatkannya kembali. Jika saya melakukan 'sembunyikan semua' di menu aplikasi (biasanya itu Mail.app, jadi mari kita berpegang pada contoh itu), semuanya menghilang dan Mail tampaknya berpikir itu punya jendela 'inbox' di menu Windows, tetapi tidak ada yang terlihat. Menutup dan memulai ulang aplikasi sepertinya tidak membantu (karena aplikasi ini membantu mengingat di mana letak jendela saya sebelumnya) dan yang akhirnya saya lakukan adalah mematikan Mac, mencabut monitor kedua dan menyalakannya kembali, membuka aplikasi lagi dan ini tampaknya membujuk Mac untuk memikirkan kembali posisi jendela utama, dan semuanya baik-baik saja. Saya kemudian dapat me-restart monitor kedua, dll.

Apakah ada cara yang lebih baik? Apakah ada cara untuk mengembalikan windows ke monitor tertentu, atau utilitas untuk memindahkan jendela 'terbuka' / berjalan? Apakah saya benar-benar melakukan sesuatu yang salah ? :-)

Ngomong-ngomong, saya tidak menggunakan Spaces - jadi saya cukup yakin ini bukan masalah Spaces yang aneh. :-)

Jawaban:


44

Chealion menjawab ini di SuperUser .

Saya tidak akan menyalin dan menempelkan jawabannya di sini, karena dia mendapat pujian, bukan saya.

Tetapi pada dasarnya, yang dapat Anda lakukan adalah (dikutip dari jawaban Chealion):

Metode kedua mengatur Windows sehingga Anda dapat melihatnya (jika karena alasan tertentu mereka tidak tampil di layar) adalah mengubah aplikasi yang memiliki jendela tersebut, tahan tombol Option dan pilih "Atur di Depan" dari menu Window. Kemudian akan mengatur semua jendela aplikasi itu dalam riam dari kiri atas layar.


Oh, brilian - terima kasih! Saya telah mengangkat jawabannya di sana, dan memberi Anda kredit di sini karena mengarahkan saya ke tempat yang tepat. Ada beberapa saran bagus di sana, dan saya hampir tidak sabar menunggu masalah terjadi lagi sekarang. :-)
robsoft

3
Solusi ini tidak berfungsi di Yosemite, Anda hanya dapat mengakses menu Window dari tampilan yang ada di Yosemite.
ShemSeger

5
Opsi menu tidak muncul untuk XQuartz
Mead

1
Apple tampaknya telah menghapus fitur ini pada MacOS 10.13.5. Ini hampir seperti mendapatkan jendela yang telah dipindahkan dari layar dianggap sebagai bug, bukannya fakta bahwa mereka dapat dipindahkan dari layar.
Membuang Akun

Tidak ada item menu seperti itu di macOS Catalina
clearlight

15

Untuk kelengkapan:

Dari jawaban saya awalnya di Server Fault Question 7237 :

Ketika monitor dicabut dari stopkontak (termasuk adaptor juga jika berlaku - meninggalkan adaptor meninggalkan OS X berpikir monitor masih terpasang) semua Windows harus pindah ke layar utama Anda. Kadang-kadang beberapa jendela (mis. Firefox) akan mempertahankan posisinya di ujung kanan layar sehingga Anda memiliki cukup ruang untuk meraih bilah judul dan memindahkannya ke tempat yang Anda inginkan.

Salah satu metode adalah sebelum Anda mencabut monitor eksternal (atau sebelum Anda mencabut dongle) adalah membuka Panel Layar Preferensi di System Preferences dan klik tombol "Kumpulkan Windows". Ini seharusnya membawa setiap jendela pada layar utama dan opsi tidak muncul jika Anda tidak memiliki monitor kedua yang terpasang.

Metode kedua mengatur Windows sehingga Anda dapat melihatnya (jika karena alasan tertentu mereka tidak tampil di layar) adalah mengubah aplikasi yang memiliki jendela tersebut, tahan tombol Option dan pilih "Atur di Depan" dari menu Window. Kemudian akan mengatur semua jendela aplikasi itu dalam riam dari kiri atas layar.

Terakhir, ada beberapa AppleScripts yang tersedia (mis. Ini di Snipplr ) yang juga akan mengambil setiap jendela dari layar dan memindahkannya di layar untuk Anda.

Ada juga aplikasi shareware bagus bernama Stay yang akan membantu mengotomatiskan banyak hal ini untuk Anda, sementara ada juga MarcoPolo yang akan melakukan lebih dari sekedar pemberitahuan jika monitor terputus dan memungkinkan Anda untuk menjalankan skrip (jika Anda ingin lakukan lebih dari sekedar mengatur ulang windows).


11

Saya pikir saya harus membuat jawaban untuk ini yang menjelaskan solusi khusus untuk XQuartz. Banyak solusi di sini tidak berfungsi untuk XQuartz. Dari tiket ini: https://xquartz.macosforge.org/trac/ticket/796 , saya telah menemukan dua solusi yang berhasil dan saya merasa akan bermanfaat untuk menyatakannya di sini.

  1. Jika Anda dapat mencabut / plug-in monitor Anda dengan mudah, cabut monitor Anda sehingga jendela Anda muncul di tempat yang dapat Anda akses. Kemudian, dengan mouse Anda, klik pada jendela dan tahan tombol mouse seolah-olah Anda akan menyeretnya. Tanpa melepaskan mouse atau jendela, tancapkan monitor Anda. Jendela XQuartz akan tetap berada di tempat mouse Anda berada.

  2. Paket ShiftIt ini berfungsi dengan sangat baik untuk mendapatkan windows yang menghilang dari layar: https://github.com/fikovnik/ShiftIt/downloads Mungkin ada paket serupa lainnya, tetapi yang ini bersih dan efektif.

Semoga ini bisa membantu seseorang!


Shiftlt bekerja hampir dengan XQuartz. Ini sebenarnya tengah kembali jendela utama (misalnya) Inkscape tetapi bukan jendela sekunder (dialog properti). Alat yang bagus untuk diketahui. +1
lauhub

6

Saya memiliki dua layar dan memuat Inkscape biasanya meletakkannya di tempat yang tidak dapat diakses. Saya bisa melihatnya dengan menggunakan "show all windows", tetapi jika saya memilihnya dari sana ia pergi dan menghilang lagi. Solusi yang saya temukan berasal dari komentar milis ini .

Saat mencabut layar kedua saya bisa melihat Inkscape. Tetapi bahkan setelah bergerak sedikit, jika saya pasang layar lain kembali menghilang dari tepi lagi. Solusinya adalah:

  1. Cabut layar kedua
  2. Gunakan mouse untuk memegang bilah judul jendela (klik dan tahan)
  3. Sambil tetap memegang judul bar, pasang kembali monitor

Saya akan menambahkan bahwa saya mendapat banyak tatapan dari orang lain di sekitar kantor saat melakukan tugas ini.
gemetar

4

Saya menemukan perbaikan yang sangat mudah untuk ini.

Itu terjadi pada saya di Powerpoint. Saya pergi ke menu Powerpoint di bagian atas layar. Klik "Window" dan kemudian klik "Zoom in Window". Selesai


Ini adalah satu-satunya jawaban yang bekerja untuk 10.11.5 (nama kode El Capitan).
pzulw

Atau, Window> Zoom hanya berfungsi untuk saya (Zoom in Window bukan pilihan).
Thomas McCabe

3

Sesuatu yang saya coba dan berhasil bagi saya adalah mengalihkan resolusi ke yang lebih rendah dan kemudian membawanya kembali. Dan itu hanya secara ajaib menempatkan aplikasi ke pusat. Tepuk tangan.


3

Saya menemukan aplikasi ini: WindowWrangler

Ini memungkinkan seseorang untuk menggunakan pintasan keyboard untuk memindahkan jendela.

Sayangnya, itu tidak berfungsi untuk satu-satunya jendela yang saya butuhkan: Inkscape di lingkungan XQuartz.


2
Apakah Anda menemukan solusi untuk xquartz?
gebirgsbärbel

Solusi yang saya temukan adalah menghubungkan monitor eksternal: dalam hal ini, jendela yang diubah adalah posisi dengan cara saya bisa memindahkannya. Saya memindahkannya sehingga, setelah melepas layar, bilah jendela bagian atas "dapat diakses".
lauhub

@ gebirgsbärbel Lihat jawaban yang baru saja saya posting di bawah ini. Saya pikir Anda mungkin merasa berguna.
nukeguy

@ gebirgsbärbel Lihat [jawaban baru] ( apple.stackexchange.com/a/238975/31154 ) Saya posting di bawah ini, menggunakan xdotoolutilitas, yang akhirnya menyelesaikan semua masalah saya
lauhub

3

Untuk masalah X11 / XQuartz tertentu, berikut adalah solusi yang saya temukan.

Prasyarat

Pertama, Anda perlu xdotool . Satu dapat menginstalnya menggunakanbrew install xdotool

Dasar

Anda dapat memindahkan jendela ke kiri menggunakan skrip berikut:

xdotool getactivewindow windowmove --relative -- -100 -44

-44 adalah nilai yang saya percaya adalah jumlah tinggi judul bar dan tinggi menu bar. Jika tidak diatur di sini, jendela akan turun alih-alih menjaga posisi y.

Untuk langkah kanan:

xdotool getactivewindow windowmove --relative -- 100 -44

Untuk naik:

xdotool getactivewindow windowmove --relative -- x -100

Untuk bergerak ke bawah:

xdotool getactivewindow windowmove --relative -- x 100

Jadi sekarang, Anda dapat memindahkan jendela yang dipilih saat ini (yang dapat Anda akses menggunakan Ekspos dengan mengkliknya jika tidak di layar).

Paparkan tampilan

Anda kemudian dapat membuka terminal dan mengulangi perintah sampai jendela muncul.

Akses melalui pintasan

Untuk memindahkan jendela menggunakan pintasan keyboard, Anda dapat menggunakan penjelasan yang diberikan di sini

Saya sebenarnya menambahkan pintasan ini menggunakan BetterTouchTool.

  1. BetterTouchPreferences> Keyboard
  2. Tambahkan pintasan baru
  3. Pilih bidang teks pintasan Keyboard dan tekan (misalnya) shift+ ^+ cmd+
  4. Pilih Pemicu Tindakan Standar : Mengontrol Aplikasi Lain> Jalankan Perintah Terminal
  5. Masukkan perintah untuk (misalnya) bergerak ke kanan dengan path lengkap ke xdotool (Anda dapat memperolehnya menggunakan which xdotoolperintah)

    /usr/local/bin/xdotool getactivewindow windowmove --relative -- 100 -44

  6. Klik tombol simpan.

Ulangi hal yang sama untuk arah lain dan nikmatilah!


fink tidak punya xdotool
Mei

2

Juga, untuk kelengkapan, saya menemukan ini: Tetap aplikasi untuk Mac meskipun saya belum mencobanya atau membelinya.

Dari situs web mereka:

Stay dapat menyimpan satu set windows untuk setiap kombinasi tampilan yang Anda gunakan dengan komputer Anda. Misalnya, jika Anda memiliki laptop yang terkadang terhubung ke monitor eksternal, Anda dapat menyimpan dua set windows in Stay; satu dengan monitor eksternal terhubung dan satu tanpa. Ini dilakukan, Anda akan dapat memastikan bahwa jendela Anda selalu berada di tempat yang Anda inginkan dengan tetap mengembalikan windows kapan pun Anda menghubungkan atau melepaskan sambungan monitor eksternal. Stay bahkan dapat dikonfigurasikan untuk secara otomatis mengembalikan windows ketika display terhubung dan terputus.


2

Saya punya solusi yang bekerja untuk saya dan saya menjelajah forum dan mencoba semua yang saya bisa.

Pada akhirnya saya menemukan jalan. Instal aplikasi yang disebut BetterTouchTool. Ini memungkinkan Anda membuat pintasan untuk melakukan berbagai hal praktis dengan layar Anda, dll. Kemudian menyiapkan pintasan khusus aplikasi (jauh lebih mudah daripada yang terdengar), dan membuatnya menjadi sederhana. Saya mengaturnya sehingga "gesek dua jari" menyebabkan tindakan "Maksimalkan jendela". Ini terjebak aplikasi yang hilang ke layar laptop saya dan jauh dari layar monitor phantom yang telah terjebak.

Masalah terpecahkan.

Berikut adalah gambar dari apa yang tampak seperti BetterTouchTool ketika saya mengatur pintasan:

Shortcut BetterTouchTool


Saya juga memperbaiki masalah menggunakan BetterTouchTool.
Eugenio

2

Saya baru saja mengalami masalah yang sama di Mavericks, saya berhasil menyelesaikan masalah dengan mengikuti langkah-langkah ini:

  1. Ambil penunjuk ke tepi jendela yang bergerak dari layar, misalnya ke tepi di kanan.
  2. Ketika Anda melihat ikon ukuran (dalam kasus saya ikon ukuran horisontal) klik dan tahan.
  3. Sementara "menahan klik" seret jendela. Voila!

Ini hanya berfungsi jika jendelanya berseberangan dengan tepi jendela lainnya
Mei


2

Di El Capitan, jawaban sederhana di sini tidak berfungsi untuk saya atau tidak tersedia sebagai opsi. Apa yang berhasil adalah mengklik kanan aplikasi di Dock (Chrome dalam kasus saya) dan pilih Pilihan> Tetapkan ke Desktop pada Layar 1. Ini memindahkan semua jendela ke desktop saya saat ini.


1

Tampaknya ini paling sering terjadi pada saya ketika tampilan sekunder "di atas" (dalam System Preferences -> Display -> Arrangement). Ketika masalah terjadi jika saya memindahkan tampilan eksternal "ke kanan" maka windows X11 muncul kembali.


1

Di Yosemite, jika bekerja untuk saya

  1. buka System Preferences
  2. buka Display <Resolusi
  3. pilih 'Skala'
  4. ubah pengaturan ke hal lain sementara

Bagi saya, ini sudah cukup untuk memaksa aplikasi kembali ke layar.


1

Agak aneh meskipun sebuah jendela (Terminal dalam kasus saya) tersesat dalam pengaturan. Saya mencoba memperbesar, membawa semua ke depan, tetapi sepertinya tidak ada yang berhasil.

Akhirnya Window → Gabung Semua Windows melakukan trik.


0

Anda dapat membuat aplikasi sederhana untuk melakukannya di AppleScript Editor. Masukkan teks berikut dan simpan sebagai aplikasi. Jika Anda meletakkannya di folder Aplikasi Anda, itu akan mudah diakses melalui SpotLight. Saya beri nama jendela pengumpul saya.

property processesToIgnore : {}
tell application "Finder"
    set _b to bounds of window of desktop
    set screen_width to item 3 of _b
    set screen_height to item 4 of _b
end tell
tell application "System Events"
    set allProcesses to application processes
    set _results to ""
    repeat with i from 1 to count allProcesses
        set doIt to 1
        repeat with z from 1 to count processesToIgnore
            if process i = process (item z of processesToIgnore) then
                set doIt to 0
            end if
        end repeat
        if doIt = 1 then
            tell process i
                repeat with x from 1 to (count windows)
                    set winPos to position of window x
                    set _x to item 1 of winPos
                    set _y to item 2 of winPos
                    if (_x < 0 or _y < 0 or _x > screen_width or _y > screen_height) then
                        set position of window x to {0, 22}
                    end if
                end repeat
            end tell
        end if
    end repeat
end tell

1
Untuk kelengkapan, Anda perlu menjelaskan cara menyiasati "Editor Skrip tidak diizinkan akses bantuan" (Yosemite)
jcollum

0

Solusi lain untuk XQuartz:

brew install wmctrl
wmctrl -i -r $(wmctrl -G -l | grep -i inkscape | cut -d' ' -f1 ) -e 0,0,0,100,100

Ganti 'inkscape' dengan apa pun yang Anda inginkan.


0

Berikut ini adalah jawaban mudah yang membutuhkan waktu 15 detik dan merupakan perbaikan permanen.

https://groups.google.com/forum/#!topic/eggbotuser/48RbZ2Pey5A

Masalah ini muncul jika Anda memiliki beberapa tampilan. Dokumen dibuka, hanya jauh ke kiri, di luar layar semua tampilan. Anda tidak dapat memperbaikinya dengan Applescript: XQuartz tidak mengimplementasikan kata kerja scriptability standar untuk mendapatkan dan mengatur posisi windows. Itu juga tidak menerapkan setara standar manajer jendela X11.

Penyebab masalahnya adalah konflik antara pengaturan preferensi di Inkscape dan pengaturan preferensi di Mavericks.

Pengaturan preferensi out-of-the-box untuk Mavericks di System Preferences> Mission Control is [x] Menampilkan memiliki Spaces terpisah

Pengaturan preferensi out-of-the-box untuk Inkscape di bilah menu File> Preks Inkscape> Windows adalah (•) Simpan dan pulihkan geometri jendela untuk setiap dokumen.

Jika Anda mengubah preferensi OS X (mengharuskan Keluar, dan Masuk kembali), atau Anda mengubah preferensi Inkscape ke (•) Jangan menyimpan Geometri jendela (Yang tidak dapat Anda lakukan kecuali Anda bisa meminta Inkscape menunjukkan kepada Anda window) Inkscape melakukan seperti yang diharapkan.

Jadi, jika Anda ingin perilaku baru Mavericks dengan beberapa tampilan di Mac Anda, lalu kembali sementara ke cara lama, ubah preferensi Inkscape, lalu atur Mavericks kembali ke bilah menu di setiap layar.


0

Di bawah item menu aplikasi 'Window', pilih "Atur Semua". Ini berfungsi untuk Microsoft PowerPoint untuk Mac, mungkin tidak bekerja untuk semua.


0

Saya memiliki masalah serupa di Mac saya ketika membuka MS Powerpoint karena tidak akan ditampilkan di layar. Cara paling sederhana adalah pergi ke Menu Bar of Powerpoint di bagian atas layar Mac Anda dan klik "Window" lalu di bawah itu klik "Arrange All". Jendela PowerPoint yang hilang / tersembunyi akan ditampilkan


0

Solusi paling sederhana yang saya temukan untuk masalah ini adalah klik kanan pada ikon yang relevan di Task Bar dan kemudian pilih 'Sembunyikan'. Anda kemudian dapat melakukan hal yang sama dan pilih 'Tampilkan' dan kemudian jendela Anda yang hilang muncul kembali.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.