Cách truy xuất các cửa sổ đã di chuyển 'ngoài màn hình'


50

Đôi khi tôi gặp vấn đề này với thiết lập màn hình kép của mình, đặc biệt là khi tôi tung hứng nhiều thứ xung quanh.

Thỉnh thoảng tôi dường như có thể di chuyển một cửa sổ hoàn toàn ra khỏi màn hình (tôi không chắc lắm về cách này) và tôi không thể lấy lại được. Nếu tôi thực hiện 'ẩn tất cả' trong menu của ứng dụng (thường là Mail.app, vì vậy hãy lấy ví dụ đó để lấy ví dụ), mọi thứ sẽ biến mất và Mail dường như nghĩ rằng nó có cửa sổ 'hộp thư đến' trong menu Windows, nhưng không có gì có thể nhìn thấy. Đóng và khởi động lại ứng dụng dường như không có ích gì (vì ứng dụng đang ghi nhớ một cách hữu ích nơi cửa sổ của tôi trước đây) và tất cả những gì tôi làm là tắt máy Mac, rút ​​màn hình thứ hai và khởi động lại, mở lại ứng dụng và điều này dường như thuyết phục Mac suy nghĩ lại về vị trí cửa sổ chính, và tất cả đều ổn. Sau đó tôi có thể khởi động lại màn hình thứ hai, v.v.

Có cách nào tốt hơn? Có cách nào để sắp xếp lại các cửa sổ vào một màn hình cụ thể hoặc một tiện ích để di chuyển 'mở' / chạy các cửa sổ không? Tôi thực sự đang làm gì đó sai ? :-)

Nhân tiện, tôi không sử dụng Spaces - vì vậy tôi khá chắc chắn đây không phải là vấn đề Spaces kỳ lạ. :-)

Câu trả lời:


44

Chealion đã trả lời điều này trên SuperUser .

Tôi sẽ không sao chép và dán câu trả lời của anh ấy ở đây, vì anh ấy nhận được tín dụng không phải tôi.

Nhưng về cơ bản, những gì bạn có thể làm là (trích từ câu trả lời của Chealion):

Phương pháp thứ hai để sắp xếp Windows để bạn có thể thấy chúng (nếu vì lý do nào đó chúng ở ngoài màn hình) là đổi sang ứng dụng sở hữu cửa sổ đang đề cập, giữ phím Tùy chọn và chọn "Sắp xếp trước" menu Window. Sau đó, nó sẽ sắp xếp tất cả các cửa sổ của ứng dụng đó theo một tầng từ phía trên bên trái của màn hình.


Ôi, rực rỡ - cảm ơn! Tôi đã đưa ra câu trả lời của anh ấy ở đó, và cho bạn một số tín dụng ở đây để chỉ cho tôi đến đúng nơi. Có một số gợi ý tốt ở đó và tôi gần như không thể chờ đợi vấn đề xảy ra nữa. :-)
robsoft

3
Giải pháp này không hoạt động ở Yosemite, bạn chỉ có thể truy cập menu Window từ màn hình hiển thị cửa sổ đang bật ở Yosemite.
ShemSeger

5
Tùy chọn menu không xuất hiện cho XQuartz
Mead

1
Apple dường như đã loại bỏ tính năng này kể từ MacOS 10.13.5. Nó gần giống như việc có thể khiến các cửa sổ di chuyển ra khỏi màn hình được coi là một lỗi, thay vì thực tế là chúng có thể bị di chuyển ra khỏi màn hình.
Vứt bỏ tài khoản

Không có mục menu nào như vậy trong macOS Catalina
rõ ràng

15

Để hoàn thiện:

Từ câu trả lời của tôi ban đầu tại Server Fault Câu 7237 :

Khi rút phích cắm màn hình (bao gồm cả bộ chuyển đổi nếu có thể - rời khỏi bộ điều hợp khiến OS X nghĩ rằng màn hình vẫn được cắm), tất cả Windows sẽ chuyển sang màn hình chính của bạn. Thỉnh thoảng, một số cửa sổ (ví dụ: Firefox) sẽ giữ vị trí của chúng ở phía bên phải màn hình, khiến bạn có đủ chỗ để lấy thanh tiêu đề và di chuyển nó đến nơi bạn muốn.

Một phương pháp là trước khi bạn rút phích cắm màn hình ngoài (hoặc trước khi bạn rút phích cắm) là mở Ngăn Hiển thị Tùy chọn trong Tùy chọn hệ thống và nhấp vào nút "Thu thập Windows". Điều này được cho là mang mọi cửa sổ trên màn hình chính và tùy chọn sẽ không xuất hiện nếu bạn không cắm màn hình thứ hai.

Phương pháp thứ hai để sắp xếp Windows để bạn có thể thấy chúng (nếu vì lý do nào đó chúng ở ngoài màn hình) là đổi sang ứng dụng sở hữu cửa sổ đang đề cập, giữ phím Tùy chọn và chọn "Sắp xếp trước" menu Window. Sau đó, nó sẽ sắp xếp tất cả các cửa sổ của ứng dụng đó theo một tầng từ phía trên bên trái của màn hình.

Cuối cùng, có một số AppleScripts có sẵn (ví dụ: cái này tại Snipplr ) cũng sẽ lấy mọi cửa sổ ra khỏi màn hình và di chuyển nó trên màn hình cho bạn.

Ngoài ra còn có một ứng dụng phần mềm chia sẻ tiện lợi có tên là Stay sẽ giúp tự động hóa rất nhiều thứ này cho bạn, trong khi đó cũng có MarcoPolo sẽ làm nhiều việc hơn là chỉ thông báo nếu màn hình bị ngắt kết nối và cho phép bạn chạy tập lệnh (trong trường hợp bạn muốn làm nhiều hơn là chỉ sắp xếp lại các cửa sổ).


11

Tôi nghĩ tôi nên đưa ra câu trả lời cho điều này mô tả các giải pháp dành riêng cho XQuartz. Nhiều giải pháp ở đây không hoạt động cho XQuartz. Từ vé này: https://xquartz.macosforge.org/trac/ticket/796 , tôi đã tìm thấy hai giải pháp hiệu quả và tôi cảm thấy sẽ có ích khi nêu chúng ở đây.

  1. Nếu bạn có thể rút / cắm màn hình một cách dễ dàng, thì hãy rút phích cắm màn hình của bạn để cửa sổ của bạn xuất hiện ở một vị trí mà bạn có thể truy cập. Sau đó, với chuột của bạn, nhấp vào cửa sổ và giữ nút chuột như thể bạn sẽ kéo nó. Không buông chuột hoặc cửa sổ, cắm màn hình của bạn. Cửa sổ XQuartz phải ở nơi chuột của bạn.

  2. Gói ShiftIt này hoạt động rất tốt để có được các cửa sổ đã biến mất khỏi màn hình: https://github.com/fikovnik/ShiftIt/doads Có thể có các gói tương tự khác, nhưng gói này sạch và hiệu quả.

Hy vọng điều này sẽ giúp được ai đó!


Shiftlt hoạt động gần như với XQuartz. Nó thực sự tập trung lại cửa sổ chính của (ví dụ) Inkscape nhưng không phải cửa sổ phụ (hộp thoại thuộc tính). Một công cụ tốt để biết tuy nhiên. +1
lauhub

6

Tôi có hai màn hình và tải Inkscape thường đặt nó ở một nơi không thể truy cập. Tôi có thể nhìn thấy nó bằng cách sử dụng "hiển thị tất cả các cửa sổ", nhưng nếu tôi chọn nó từ đó thì nó sẽ biến mất. Các giải pháp tôi tìm thấy đến từ bình luận danh sách gửi thư này .

Khi rút màn hình thứ hai, tôi có thể thấy Inkscape. Nhưng ngay cả sau khi di chuyển nó xung quanh một chút, nếu tôi cắm lại màn hình khác vào thì nó lại biến mất khỏi rìa. Giải pháp là:

  1. Rút phích cắm màn hình thứ hai
  2. Sử dụng chuột để giữ thanh tiêu đề của cửa sổ (nhấp và giữ)
  3. Trong khi vẫn giữ thanh tiêu đề, cắm lại màn hình

Tôi sẽ nói thêm rằng tôi nhận được rất nhiều ánh mắt từ những người khác xung quanh văn phòng trong khi thực hiện nhiệm vụ này.
tremby

4

Tôi tìm thấy một sửa chữa thực sự dễ dàng cho việc này.

Nó đã xảy ra với tôi trên Powerpoint. Tôi đã đi đến menu Powerpoint ở trên cùng của màn hình. Đã nhấp vào Window Window và sau đó nhấp vào Zoom Zoom trong Window. Làm xong


Đây là câu trả lời duy nhất hoạt động cho 10.11.5 (tên mã El Capitan).
pzulw

Ngoài ra, Window> Zoom chỉ hoạt động với tôi (Zoom in Window không phải là một tùy chọn).
Thomas McCabe

3

Một cái gì đó tôi đã thử và nó hoạt động với tôi là chuyển độ phân giải xuống mức thấp hơn và sau đó đưa nó trở lại. Và nó chỉ kỳ diệu đặt ứng dụng vào trung tâm. Chúc mừng.


3

Tôi tìm thấy ứng dụng này: WindowWrangler

Nó cho phép một người sử dụng các phím tắt để di chuyển cửa sổ.

Thật không may, nó không hoạt động cho cửa sổ duy nhất tôi cần: Inkscape trong môi trường XQuartz.


2
Bạn đã tìm thấy bất kỳ giải pháp cho xquartz?
gebirgiebärbel

Giải pháp tôi tìm thấy là kết nối một màn hình bên ngoài: trong trường hợp đó, cửa sổ thay đổi là vị trí theo cách tôi có thể di chuyển nó. Tôi di chuyển nó để sau khi ngắt kết nối màn hình, thanh trên cùng của cửa sổ là "có thể truy cập".
lauhub

@ gebirgsbärbel Xem câu trả lời tôi vừa đăng dưới đây. Tôi nghĩ rằng bạn có thể thấy nó hữu ích.
nukeguy

@ gebirgsbärbel Xem [câu trả lời mới] ( apple.stackexchange.com/a/238975/31154 ) Tôi đã đăng bên dưới, sử dụng xdotooltiện ích, cuối cùng đã giải quyết tất cả các vấn đề của tôi
lauhub

3

Đối với vấn đề X11 / XQuartz cụ thể, đây là một giải pháp tôi tìm thấy.

Điều kiện tiên quyết

Đầu tiên, bạn sẽ cần xdotool . Người ta có thể cài đặt nó bằng cách sử dụngbrew install xdotool

Những thứ cơ bản

Bạn có thể di chuyển một cửa sổ sang trái bằng cách sử dụng tập lệnh sau:

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

-44 là một giá trị mà tôi tin là tổng chiều cao của thanh tiêu đề và chiều cao thanh menu. Nếu không được đặt ở đây, cửa sổ sẽ đi xuống thay vì giữ vị trí y.

Đối với di chuyển đúng:

xdotool getactivewindow windowmove --relative -- 100 -44

Để di chuyển lên:

xdotool getactivewindow windowmove --relative -- x -100

Để di chuyển xuống:

xdotool getactivewindow windowmove --relative -- x 100

Vì vậy, bây giờ, bạn có thể di chuyển cửa sổ hiện được chọn (mà bạn có thể truy cập bằng Expose bằng cách nhấp vào nó nếu nó ở ngoài màn hình).

Chế độ xem

Sau đó, bạn có thể mở terminal và lặp lại các lệnh cho đến khi cửa sổ xuất hiện.

Truy cập nó thông qua phím tắt

Để làm cho cửa sổ của bạn di chuyển bằng phím tắt, bạn có thể sử dụng lời giải thích được đưa ra ở đây

Tôi thực sự đã thêm các phím tắt này bằng BetterTouchTool.

  1. BetterTouchPreferences> Bàn phím
  2. Thêm phím tắt mới
  3. Chọn trường văn bản Phím tắt và bấm (ví dụ) shift+ ^+ cmd+
  4. Chọn Kích hoạt Hành động được xác định trước : Kiểm soát các ứng dụng khác> Thực thi lệnh đầu cuối
  5. Nhập lệnh cho (ví dụ) di chuyển đúng với đường dẫn đầy đủ đến xdotool (bạn có thể lấy nó bằng which xdotoollệnh)

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

  6. Nhấp vào nút lưu.

Lặp lại tương tự cho các hướng khác và tận hưởng!


fink không có xdotool
Mei

2

Ngoài ra, để hoàn thiện, tôi đã xem qua: Ứng dụng dành cho Mac mặc dù tôi chưa dùng thử hoặc mua nó.

Từ trang web của họ:

Ở lại có thể lưu trữ một bộ cửa sổ cho mọi kết hợp màn hình mà bạn sử dụng với máy tính của mình. Ví dụ: nếu bạn có một máy tính xách tay đôi khi được kết nối với màn hình bên ngoài, bạn có thể lưu trữ hai bộ cửa sổ trong Ở lại; một với màn hình bên ngoài được kết nối và một không có. Điều này được thực hiện, bạn sẽ có thể đảm bảo rằng các cửa sổ của bạn luôn ở nơi bạn muốn bằng cách có các cửa sổ khôi phục lại bất cứ khi nào bạn kết nối hoặc ngắt kết nối màn hình bên ngoài. Ở lại thậm chí có thể được cấu hình để tự động khôi phục các cửa sổ khi màn hình được kết nối và ngắt kết nối.


2

Tôi có một giải pháp hiệu quả cho tôi và tôi đã truy tìm các diễn đàn và thử mọi cách có thể.

Cuối cùng tôi đã tìm được cách. Cài đặt ứng dụng có tên BetterTouchTool. Điều này cho phép bạn tạo một phím tắt để làm nhiều việc tiện dụng khác nhau với màn hình của bạn, v.v. Sau đó, thiết lập một phím tắt cụ thể cho ứng dụng (dễ dàng hơn nhiều so với âm thanh) và làm cho nó đơn giản. Tôi đặt nó sao cho "vuốt hai ngón tay" dẫn đến hành động "Tối đa hóa cửa sổ". Điều này khiến ứng dụng bị mất trên màn hình máy tính xách tay của tôi và cách xa màn hình ảo mà nó bị kẹt.

Vấn đề được giải quyết.

Đây là hình ảnh của BetterTouchTool trông như thế nào khi tôi thiết lập lối tắt:

Phím tắt BetterTouchTool


Tôi cũng khắc phục sự cố bằng BetterTouchTool.
Eugenio

2

Tôi chỉ gặp vấn đề tương tự ở Mavericks, tôi đã giải quyết vấn đề bằng cách làm theo các bước sau:

  1. Đưa con trỏ đến một cạnh của cửa sổ di chuyển ra khỏi màn hình, ví dụ như cạnh bên phải.
  2. Khi bạn thấy biểu tượng thay đổi kích thước (trong trường hợp của tôi, biểu tượng thay đổi kích thước ngang) nhấp và giữ.
  3. Trong khi "nhấn giữ" nhấp vào cửa sổ. Voila!

Điều này chỉ hoạt động nếu cửa sổ nằm sát mép của cửa sổ khác
Mei

2

Một người bạn của tôi đã viết một công cụ miễn phí để đưa các cửa sổ trở lại, nếu bạn muốn kiểm tra nó, hãy truy cập vào đây: http://bring-em-back.com


2

Ở El Capitan, các câu trả lời đơn giản ở đây không phù hợp với tôi hoặc không có sẵn dưới dạng tùy chọn. Những gì đã làm là nhấp chuột phải vào ứng dụng trong Dock (Chrome trong trường hợp của tôi) và chọn Tùy chọn> Gán vào màn hình trên màn hình 1. Điều này đã chuyển tất cả các cửa sổ sang màn hình hiện tại của tôi.


1

Dường như điều này xảy ra với tôi thường xuyên nhất khi màn hình phụ ở "trên" (trong Tùy chọn hệ thống -> Hiển thị -> Sắp xếp). Khi sự cố xảy ra nếu tôi di chuyển màn hình ngoài "sang phải" thì cửa sổ X11 sẽ xuất hiện lại.


1

Ở Yosemite, nếu làm việc cho tôi

  1. mở tùy chọn hệ thống
  2. mở Hiển thị <Độ phân giải
  3. chọn 'Thu nhỏ'
  4. tạm thời thay đổi cài đặt thành bất cứ thứ gì khác

Đối với tôi, điều này là đủ để buộc ứng dụng trở lại màn hình.


1

Một chút kỳ lạ mặc dù một cửa sổ (Terminal trong trường hợp của tôi) đã bị mất trong sự sắp xếp. Tôi đã thử phóng to, đưa tất cả ra phía trước, nhưng dường như không có gì hoạt động.

Cuối cùng, Cửa sổ → Hợp nhất Tất cả Windows đã thực hiện thủ thuật.


0

Bạn có thể tạo một ứng dụng đơn giản để thực hiện điều đó trong Trình soạn thảo AppleScript. Nhập văn bản sau và lưu nó dưới dạng một ứng dụng. Nếu bạn đặt nó trong thư mục Ứng dụng, bạn sẽ dễ dàng truy cập qua SpotLight. Tôi đặt tên của tôi thu thập các cửa sổ.

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
Để hoàn thiện, bạn sẽ cần giải thích cách khắc phục "Trình chỉnh sửa tập lệnh không được phép truy cập trợ giúp" (Yosemite)
jcollum

0

Một giải pháp khác cho XQuartz:

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

Thay thế 'inkscape' bằng bất cứ điều gì bạn muốn.


0

Đây là một câu trả lời dễ dàng mất 15 giây và là một sửa chữa vĩnh viễn.

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

Vấn đề này xuất hiện nếu bạn có nhiều màn hình. Tài liệu được mở, chỉ cách bên trái, ngoài màn hình của tất cả các màn hình. Bạn không thể sửa lỗi này với Applescript: XQuartz không triển khai các động từ có khả năng viết kịch bản tiêu chuẩn để lấy và đặt vị trí của các cửa sổ. Nó cũng không thực hiện tương đương trình quản lý cửa sổ X11 tiêu chuẩn.

Nguyên nhân của vấn đề là xung đột giữa cài đặt tùy chọn trong Inkscape và cài đặt ưu tiên trong Mavericks.

Cài đặt tùy chọn ngoài hộp cho Mavericks trong Tùy chọn hệ thống> Điều khiển nhiệm vụ là [x] Hiển thị có các không gian riêng biệt

Cài đặt tùy chọn ngoài hộp cho Inkscape trong thanh menu của nó Tệp> Tùy chọn Inkscape> Windows là (•) Lưu và khôi phục hình dạng cửa sổ cho mỗi tài liệu.

Nếu bạn thay đổi tùy chọn OS X (yêu cầu Đăng xuất và Đăng nhập lại) hoặc bạn thay đổi tùy chọn Inkscape thành (•) Đừng lưu cửa sổ Hình học (Bạn không thể làm gì trừ khi bạn có thể lấy Inkscape để hiển thị cho bạn cửa sổ) Inkscape thực hiện như mong đợi.

Vì vậy, nếu bạn muốn hành vi mới của Mavericks với nhiều màn hình trên máy Mac của bạn, sau đó tạm thời trở lại cách cũ, thay đổi tùy chọn Inkscape, sau đó đặt Mavericks trở lại thanh menu trên mỗi màn hình.


0

Trong mục menu của ứng dụng 'Cửa sổ', chọn "Sắp xếp tất cả". Điều này làm việc cho Microsoft PowerPoint cho Mac, nó có thể không hoạt động cho tất cả.


0

Tôi gặp vấn đề tương tự trong máy Mac của mình khi mở MS Powerpoint vì nó sẽ không hiển thị trên màn hình. Cách đơn giản nhất là đi tới Thanh Menu của Powerpoint trên đầu màn hình máy Mac của bạn và nhấp vào "Cửa sổ", sau đó nhấp vào "Sắp xếp tất cả". Các cửa sổ PowerPoint bị thiếu / ẩn sẽ hiển thị


0

Giải pháp đơn giản nhất mà tôi đã tìm thấy cho vấn đề này là nhấp chuột phải vào biểu tượng có liên quan trong Thanh tác vụ và sau đó chọn 'Ẩn'. Sau đó, bạn có thể làm tương tự và chọn 'Hiển thị' và sau đó cửa sổ bị thiếu của bạn xuất hiện lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.