Jestem przyzwyczajony do łączenia się z projektorami do sal konferencyjnych lub dużymi ekranami o różnej rozdzielczości, więc kiedy przechodzę z pokoju do pokoju w ciągu dnia, moje okna również muszą być ciągle zmieniane. Więc czuję twój ból. :-)
Aby uniknąć nieporozumień, chcę zdefiniować kilka terminów dla tej odpowiedzi:
- Podstawowy ekran jest jednym z paska menu na karcie układ w preferencjach systemu.
- Główny wyświetlacz jest jeden chcesz na rzeczy, czy nie jest to główny wyświetlacz.
- Drugi ekran to ten bez paska menu w zakładce Aranżacja w Preferencjach systemowych.
Zasadniczo problem polega na tym, że widzisz ważną różnicę między głównym a głównym wyświetlaczem; Mac OS X tego nie robi i będzie z tobą walczył, gdy spróbujesz zachować to rozróżnienie, traktując ekran dodatkowy jako ekran główny.
O ile nie spróbują inaczej, aplikacje będą zawsze otwierane na dowolnym ekranie głównym. To zdecydowanie jedna z cech głównego wyświetlacza. (Jest to dość niskopoziomowa część API Quartz, szczególnie wywołanie CGConfigureDisplayOrigin , więc tego zachowania nie można skonfigurować, jeśli sama aplikacja nie pozwala ci go skonfigurować).
Proponuję być może zapytać o rzeczy, które sprawiają, że jest to dla ciebie denerwujące („mieszają się z innymi rzeczami”, gdy umieszczasz to w komentarzu), aby nie utrzymywać głównego ekranu jako głównego wyświetlacza podczas łączenia, ponieważ mogą one być konfigurowalne ; takie zachowanie nie jest.
Mam dla ciebie kilka sztuczek, które mogą ci pomóc:
Wyświetlanie lustrzane, a następnie cofanie kopii lustrzanej powoduje zmianę rozmiaru wszystkich okien zbyt dużych, aby zmieścić się na mniejszym ekranie, i przenosi wszystkie okna na główny wyświetlacz. Wiem, że nie jest to idealne rozwiązanie, ponieważ chcesz rzeczy na dodatkowym wyświetlaczu, ale może to być przydatne obejście w połączeniu z kolejną sztuczką, szczególnie jeśli znasz skrót klawiaturowy: ⌘-F1. Naciśnij go, pozwól systemowi przejść do kopii lustrzanej i naciśnij ponownie. Wszystkie okna zostaną przeskalowane do najmniejszego wyświetlacza i będą wyświetlane na ekranie głównym.
Kolejnym bardzo przydatnym narzędziem do obejścia tego problemu jest BetterTouchTool , który pozwala ustawić gesty „Wyśrodkuj okno na następnym monitorze” i „Maksymalizuj okno na następnym monitorze”. Przypisuję je odpowiednio do kliknięć czterema i pięcioma palcami, a następnie mogę szybko otworzyć okno z jednego monitora na drugi, po prostu zacierając na gładziku. (Jeśli nie używasz gładzika, gdy jesteś podłączony do dużego wyświetlacza, BTT może wykonywać gesty również z innymi urządzeniami wskazującymi).
Te dwie sztuczki razem sprawiły, że praca z ciągle zmieniającymi się rozdzielczościami nie jest idealna, ale przynajmniej do zaakceptowania. Jeśli chcę przenieść wszystkie moje okna na drugi ekran (daję sesję szkoleniową, powiedzmy, i chcę, aby pasek menu był widoczny dla studentów, ale chcę, aby wszystkie moje okna niezwiązane z treningiem były na drugim ekranie) , Robię sztuczkę dublowanie / odblokowywania, a następnie kilka razy uderzam gładzikiem cztery palce, aż wszystkie okna zostaną wyskakujące.
Na koniec, jeśli lubisz bawić się, możesz rzucić okiem na ten Applescript, który przenosi wszystkie okna do podstawowego za pomocą innej metody. W przeciwieństwie do metody Mirroring, która porusza się okna do podstawowej jako efekt uboczny, ten robi to jawnie, więc mógł go zmodyfikować, aby przejść do preferowanej okna głównego, wtórnego, wyświetlacza. Ale to nie jest łatwe, co może dać ci wyobrażenie, dlaczego wszystko walczy z tym użyciem. Oto kluczowa linia tego Applescript:
set position of window x to {0, 22}
Ponieważ pasek menu ma 22 współrzędne wyświetlania (wcześniej były to „piksele” przed wyświetleniem Retina), a ekrany i okna mają swoje punkty początkowe w lewym górnym rogu, ta linia przesuwa okno x w prawo poniżej i równo w lewo z paskiem menu. Aby dostosować ten skrypt, aby zamiast tego przesunął wszystkie okna w lewy górny róg drugiego wyświetlacza, musisz ustalić jego współrzędne i użyć go jako wartości x. W układzie pokazanym na zrzucie ekranu „0” zostanie zastąpione liczbą ujemną , ponieważ znajdujesz się po lewej stronie paska menu. Zajmie to trochę majstrowania, szczególnie jeśli chcesz, aby skrypt działał niezależnie od aranżacji.
To wszystko kludgey, wiem; ale musisz zaakceptować kludges, jeśli chcesz, aby główny i główny ekran były inne. Właśnie dlatego zdecydowanie zalecam, abyś spróbował zająć się tym, co powstrzymuje cię przed tym, aby drugi ekran był najważniejszy, a nie walczyć w tej konkretnej bitwie.