題:
拔出和重新插入第二台顯示器時,請記住窗口的大小和位置
dreeves
2009-02-11 00:36:10 UTC
view on stackexchange narkive permalink

這很爛:

  1. 將外部顯示器插入筆記本電腦(在我的情況下為Mac OS X Leopard)。
  2. 安排窗口以將IDE放在一個屏幕和瀏覽器。(等等)。調整大小,重新排列,大驚小怪,大驚小怪,大驚小怪。)
  3. 拔下監視器以參加會議,或其他操作。
  4. 轉到1。 / li> ol>

    我想將步驟2替換為“計算機準確記住我的操作方式,然後將其放回去。”。

    (我個人只需要一個解決方案對於Mac,但在這裡收集其他系統的解決方案可能對其他人有用。我敢肯定這是一個常見問題。)

十 答案:
Tony Arnold
2010-10-31 16:05:00 UTC
view on stackexchange narkive permalink

看看無繩狗的住宿。我相信它完全可以滿足您的需求。

我試過了它不適用於X11窗口,但似乎與廣告一樣。感謝您的指導!可能這是我們目前與Mac解決方案最接近的解決方案。
X11窗口不是“真正的” NSWindow實例(至少它們不是我上次檢查的實例),因此Stay不希望與它們無關也就不足為奇了:)很高興它可以解決!
這看起來不錯,但不適用於Lion中的全屏應用程序。當我有1個顯示器時,我以全屏模式運行Safari,並且在附加了2個顯示器後,我想退出全屏並將Safari移至第二個顯示器。 Stay不會移動任何全屏應用程序。
看起來很合適。但是,使用3個外部顯示器時,通常在位置方面存在問題,並且只解決了50%的問題。所以我仍然不得不做很多手工工作。我只是卸載了它。哦,它只有30天的試用期!
Ben
2014-07-30 01:04:59 UTC
view on stackexchange narkive permalink

Slate 是一款功能非常強大的免費 Mac應用程序,可以完全滿足您的需求。插入輔助監視器後,它會自動檢測到新監視器,並且所有窗口都將按照您喜歡的方式移動和調整大小。您可以為所有應用程序定義自定義位置和大小,包括全屏,半屏和基於網格。

關於Slate的最酷的事情之一是,您可以定義不同的佈局您已連接多少台顯示器。例如,如果您自己使用筆記本電腦,則可能希望所有應用程序都充滿整個屏幕。但是,當您擁有較大的輔助顯示器時,可能需要在瀏覽器,郵件和音樂之間拆分屏幕。 Slate可以輕鬆做到這一點。

您還可以為特定的佈局和操作定義鍵盤快捷鍵,例如按一定的百分比調整窗口大小。

下面是我的配置文件。我將所有應用程序的所有應用程序保持全屏顯示,但是您可以對其進行更改以使其變為一半或其他大小:

 #Monitor Aliasesalias mon-laptop 0#我的變量筆記本電腦顯示器別名mon-hp 1#我的外部HP顯示器#窗口位置區域別名hp-full move screenOriginX; screenOriginY screenSizeX; screenSizeY $ {mon-hp}別名hp左移screenOriginX; screenOriginY screenSizeX / 2; screenSizeY $ {mon-hp}別名hp右移screenOriginX + screenSizeX / 2; screenOriginY screenSizeX / 2; screenSizeY $ {mon-hp} alias筆記本電腦全移screenOriginX; screenOriginY screenSizeX; screenSizeY $ {mon-laptop} alias筆記本電腦左移screenOriginX; screenOriginY screenSizeX / 2; screenSizeY $ {mon-laptop}別名筆記本電腦向右移動screenOriginX + screenSizeX / 2; screenOriginY screenSizeX / 2; screenSizeY $ {mon-laptop}
別名筆記本電腦右上移動screenOriginX + screenSizeX / 2; screenOriginY screenSizeX / 2; screenSizeY / 2 $ {mon-laptop}別名筆記本電腦右下移動screenOriginX + screenSizeX / 2; screenOriginY + screenSizeY / 2 screenSizeX / 2; screenSizeY / 2 $ { mon-laptop}#當我有2個Monitorslayout 2monitor'Google Chrome':REPEAT $ {hp-full} layout 2monitor'iCal':REPEAT $ {hp-full} layout 2monitor'Coda':REPEAT $ {hp- full} layout 2monitor'Mail':REPEAT $ {laptop-full} layout 2monitor'Rdio':REPEAT $ {laptop-full} layout 2monitor'Spotify':REPEAT $ {laptop-full} layout 2monitor'Evernote':REPEAT $ { laptop-full}#單監視器窗口佈局layout 1monitor'Google Chrome':REPEAT $ {laptop-full} layout 1monitor'iCal':REPEAT $ {laptop-full} layout 1monitor'Coda':REPEAT $ {laptop-full} layout 1monitor 'Mail':REPEAT $ {laptop-full} layout 1monitor'Rdio':REPEAT $ {laptop-full} layout 1monitor'Spotify':REPEAT $ {laptop-full} layout 1monitor'Evernote':REPEAT $ {laptop-full} #每個layou的鍵盤快捷鍵tbind l:shift; ctrl佈局2monitorbind g:shift; ctrl網格填充:5 0:2,1 1:2,2#顯示器插入或超出時自動檢測默認2顯示器計數:2默認1顯示器計數:1  

這是Slate的GitHub頁面上的功能列表:

  • 高度可定制的
  • 將擊鍵綁定到:
    • 移動並/或調整窗口大小
    • 定向窗口
    • 激活預設佈局
    • 創建,刪除和激活窗口當前狀態的快照
  • 為不同的顯示器配置設置默認佈局,這些默認配置將在檢測到該配置時激活。
  • 窗口提示:更改窗口焦點的直觀方法
  • [ Beta]是一個更好,更可定制的應用程序切換器。

這是一個很棒的教程,介紹瞭如何充分利用Slate。

它還記得上次插入外部顯示器並恢復它們時窗的位置嗎?應用程序“ Stay”幾乎可以做到這一點,但是它仍然無法記住窗口(尤其是Chrome),因此我仍在尋找更好的東西。
@dreeves是的,它對我有用。我只是使用Slate的菜單項“拍攝快照”和“激活快照”成功地手動完成了此操作;如果在使計算機進入睡眠狀態之前和之後單擊它們,則將保存並恢復所有窗口位置。從[docs](https://github.com/jigish/slate#configuring-slate)看來,Slate可以使用其[`default`指令](https://github.com)自動執行“激活快照”。 com / jigish / slate#the-default-directive)。我不知道您是否可以自動執行“拍攝快照”部分。
我想指出的是,對於OP用例,他們只需單擊“保存快照”並在菜單中還原快照。只要您只需要一個窗口配置,它就可以正常工作而不會弄亂其他任何東西。
石板不再被維護,他們建議現在使用Hammerspoon。
Shawn
2012-01-31 23:32:02 UTC
view on stackexchange narkive permalink

我已經用一個小的AppleScript和一個小的免費軟件實用程序Quicksilver解決了這個問題。

  1. 將這個小的AppleScript保存在計算機上不會改變的位置:

     嘗試告訴應用程序“ Adium”激活告訴窗口“聯繫人”將邊界設置為{1281,200,1460,850}結束告訴告訴聊天窗口將邊界設置為{1281,800,1800,1200}結束告訴結束Telltry trytry告訴應用程序“ iTunes”激活將第一個窗口的邊界設置為{1750,520,2700,1150}結束Telltry trytry告訴應用程序“終端”激活將第一個窗口的邊界設置為{2450,320,3180,950}結束告訴trytry告訴應用程序“ Firefox”激活設置第一個窗口的邊界到{1460,20,2800,950}結束窗口的窗口試試 
  2. 您將需要自定義要在監視器上使用的應用程序,並且窗口必須以這種方式綁定你喜歡他們。我是一名程序員,上面的配置是我運行第二台監視器的方式。

  3. 安裝 Quicksilver

    我選擇了以使其在Dock中不可見,而僅作為一個小的任務欄守護程序運行。

  4. 在Quicksilver中設置鍵盤命令,並將AppleScript從步驟1拖放到窗口作為要執行的操作。我將其綁定到 Command kbd> Shift kbd> A kbd>。很棒!

  5. ol>
如果要管理大量的應用程序,則不是特別可擴展。也不容易管理!硬編碼範圍確實沒什麼好玩的。
您可以設置應用程序出現的桌面嗎?
Jason Owen
2009-02-13 15:47:41 UTC
view on stackexchange narkive permalink

在拔下顯示器電源之前,請關閉所有不完全位於主顯示器上的部件。應用程序通常在關閉時保存其狀態(包括窗口放置),並在打開時讀取其狀態,因此,如果在這兩個時間都存在第二個監視器,則應該沒事。

您可以利用允許一次打開多個實例,但僅在關閉時保存狀態的應用程序。關閉多監視器實例(這將導致狀態被保存)。拔下第二台顯示器的電源。如果正在運行第二個實例,則應將其重新放置在主監視器上,或者可以啟動另一個實例。在再次插入第二個監視器並啟動另一個實例之前,不要關閉該實例(啟動時會讀取多監視器配置)。然後,您可以退出單監視器實例(保存該狀態),然後退出多監視器實例(覆蓋單監視器狀態)。

一個更複雜的選項可能包括確定狀態在哪裡保存,備份它,並編寫一個批處理文件/腳本以在打開應用程序之前將其還原,這將使您可以在啟動應用程序時自動建立一個鏈接。

最後,可能成為適用於您平台的實用程序,或者編寫一個實用程序可能不會太複雜。對於Windows,有一個名為 ShiftWindow的程序可以在應用程序啟動時或在某個熱鍵上重新定位窗口。恐怕我不太了解MacOS,無法說出是否存在類似的實用程序。這可能是理想的解決方案,僅次於讓操作系統直接支持這種事情。

謝謝!不是我希望的答案,而是一個很好的領導!
kvm006
2015-02-28 06:04:31 UTC
view on stackexchange narkive permalink

我只是關注了 http://cordlessdog.com/stay/,對我來說效果很好,儘管有點滯後

一旦您在Mac上安裝了軟件,您可以啟動它並按需要存儲Windows。因此,每當斷開顯示器的連接並重新連接時,您將恢復所有窗口。

您可能必須將stay添加為啟動應用程序,因為每次重新啟動mac時都必須啟動它。

Moosa Ahmed
2019-10-15 03:32:48 UTC
view on stackexchange narkive permalink

我無需任何外部應用程序即可解決此問題。

所有您需要做的就是確保您的筆記本電腦為“台式機1”,而外接顯示器為“台式機2”

您可以通過在系統偏好設置>顯示>排列中將白色菜單欄移至筆記本電腦屏幕來實現此目的

不幸的是,從10.13(高山脈)開始,情況似乎不再如此。
rshdev
2009-02-16 04:01:38 UTC
view on stackexchange narkive permalink

至少在Windows上,如果在切換監視器之前將它們最大化,則許多應用程序將恢復自身。在會議期間,不要理會它們,然後在重新連接後恢復它們。

這仍然是一個不完整的解決方案(麻煩),但這是我唯一想做的,如果我想有機會復活我的話精心放置的窗戶。 ShiftWindow聽起來很有趣……

如果您從兩台顯示器降到一台,Al​​t + Spacebar + M,則箭頭鍵是救生員(再次使用Windows,對不起),如果您“丟失”了窗戶

Christopher
2009-07-22 02:45:37 UTC
view on stackexchange narkive permalink

http://www.irradiatedsoftware.com/twoup/index.html

我是通過Lifehacker找到的,它對我很有用。我使用的是專業版SizeUp,而不是免費的TwoUp,它是完美的。

您是說這解決了我提出的問題嗎?您鏈接到的頁面似乎沒有提及任何內容。
不,這根本無法解決問題。使用SizeUp可以更快地將窗口移至所需位置,但仍必須手動在每個窗口之間切換,並告訴SizeUp您要將每個窗口移至何處。
Vladson
2010-08-23 23:46:15 UTC
view on stackexchange narkive permalink

我是Windows用戶,一直在尋找如何關閉Windows 7的新功能,以將所有窗口從未插拔的外接顯示器上移開。我發現收據(用於ATI視頻卡)將註冊表中的所有DMMEnableDDCPolling值設置為0。如果監視器已關閉,它將禁用自動檢查。現在,如果將顯示器拔出並再次插入,所有窗口都將保持在同一位置。

以下是對我有幫助的答案: https://superuser.com/questions/120983/how-to -disable-monitor-auto-detection-in-windows-7(由Alex回答)

這與Mac無關嗎?
不。但是問題也被標記為“ windows”(儘管OP可能是_program_windows;)。無論如何,對於Windows,有幾個方便的實用程序可以完成該任務。我個人使用了Basta的[ZMover](http://www.basta.com/ZMover),效果很好。另一種選擇是DeskSoft的[WindowManager](http://www.desksoft.com/WindowManager.htm)。但是這些當然不會幫助OSX用戶。
abb
2020-02-18 05:54:07 UTC
view on stackexchange narkive permalink

以相同的順序拔出顯示器插頭。

拔出順序:Monitor1-> Monitor2 插入順序:Monitor2-> Monitor1

該問題似乎只指定了一個連接到筆記本電腦的外接顯示器。這個答案解決嗎?
對於單監視器,在運行Mojave的計算機上根本沒有問題。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...