Mam MacBooka Pro i do tej pory podłączyłem do niego zewnętrzny wyświetlacz. Wydaje się jednak, że Mavericks nalega na otwarcie nowych aplikacji na dodatkowym ekranie, nawet jeśli aktualnie aktywne okno / aplikacja (klawisz i główne) znajduje się na głównym ekranie. Niesamowicie frustrujące, ponieważ mają różne rozmiary ekranu i strasznie zadziera z moimi zapisanymi rozmiarami okien. Czy jest jakiś sposób, aby powstrzymać Mavericksa przed zrobieniem tego? Chcę tylko, aby aplikacje otwierały się na głównym ekranie, a przynajmniej niech pamiętają, na którym ekranie zamknąłem je ostatnim razem.
Na wypadek, gdyby to pomogło, oto mój układ wyświetlania z preferencji systemowych:
Odpowiedzi:
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:
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:
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.
źródło
CGDisplayID
dla nich to samo )W przypadku Mavericks istnieje rozróżnienie między monitorami aktywnymi i nieaktywnymi. Możesz sprawdzić, który monitor jest aktywny, patrząc na pasek menu (zakładam, że używasz nowego zachowania spacji Mavericks). Jeśli porównasz je na obu ekranach, jeden zostanie wygaszony, a drugi będzie w większości nieprzejrzysty. Ten, który jest prawie nieprzezroczysty, jest aktywowany, a nowe okna aplikacji otworzą się na ekranie z nieprzezroczystym ekranem paska menu, chyba że na drugim ekranie znajdują się inne okna tej samej aplikacji.
Jak więc zmienić, który ekran jest aktywny?
Po prostu naciśnij dowolne miejsce na pulpicie na ekranie, który chcesz otworzyć. Spowoduje to, że pasek menu będzie prawie nieprzezroczysty, a otwarcie okna powinno teraz otworzyć go na ekranie.
Zauważ też, że to zachowanie jest niezależne od twojej pozycji Docks. Z mojego doświadczenia wynika, że musiałem kliknąć pulpit (między plikami), aby aktywować drugi ekran (co oznacza, że mam go w stanie aktywnym)
Aktualizacja
Wprawdzie nie przeszkadza to Mavericksowi otwierać okna na drugim ekranie 8. Możesz przejść do „kontroli misji” w Ustawieniach systemu i odznaczyć „monitory używają różnych spacji”, aby powrócić do zachowania sprzed Mavericks. W ten sposób otworzy się na ostatnio zamkniętym ekranie i / lub ekranie, na którym znajduje się pasek menu. Metoda opisana powyżej aktualizacji jest tylko obejściem sposobu Mavericks.
źródło
przy otwartej aplikacji naciśnij klawisz F3, aby otworzyć Kontrolę misji, a następnie przeciągnij aplikację na ekran, na którym chcesz ją otworzyć w przyszłości. Jest przypisany do „miejsca” na twoim komputerze - Zmień miejsce, do którego jest przypisane.
źródło
Nowe okna zawsze będą się otwierać na ekranie z „paskiem menu”, więc po prostu przenieś „domyślny” pasek menu na ekran, na którym wolisz uruchamiać nowe okna.
Spójrz na zrzut ekranu powyżej okna dialogowego „Preferencje wyświetlania”. Zauważ, że tylko jeden z „Wyświetlaczy” pokazuje pasek menu. Zwróć także uwagę na tekst „Aby przenieść pasek menu, przeciągnij go na inny ekran”.
źródło
Miałem ten sam problem. Znalazłem aplikacje otwarte na każdym ekranie, na którym znajduje się stacja dokująca.
Ustawiłem ekrany tak samo jak twój, dokuj po lewej stronie. Przełączyłem stację dokującą w prawo, a teraz otwierają się na głównym monitorze, a nie na drugim.
źródło
Aby system OS X zawsze otwierał aplikację na określonym ekranie w Mavericks lub nowszym, kliknij prawym przyciskiem myszy ikonę dokowania dla aplikacji i wybierz „Opcje” - Przypisz do pulpitu 1 lub 2 (pulpit 2 powinien być twoim wyświetlaczem dodatkowym). Odkryłem, że nie zawsze działa to po przeciągnięciu niektórych aplikacji na inny ekran (np. Safari w El Capitan). Tam, czasami, chce nadal otwierać się tam, a przynajmniej w El Capitan, zwykle otwiera się na głównym ekranie, chyba że wyraźnie powiedziano w ten sposób, aby otworzyć na drugim ekranie. Możesz także skorzystać z OPCJI -> Przypisz w stacji dokującej, aby przenieść program z powrotem na dowolny ekran (może zaoszczędzić czas, ponieważ nie trzeba przesuwać myszy do innego ekranu, aby przeciągnąć go z powrotem, szczególnie jeśli masz więcej niż dwa monitory.
Chciałbym tylko mieć opcję posiadania Docka na każdym ekranie przez cały czas. Wolę doki montowane z boku i nie można migrować, co jest królewskim bólem. Wysłałem opinię na ten temat do Apple, ale po prostu to ignorują. Tak łatwo byłoby mieć stację dokującą na każdym ekranie, jak pasek menu (może nawet innyzadokuj dla każdego ekranu w przypadku konfiguracji, w których często korzystasz z niektórych aplikacji na określonych ekranach) i aby każda stacja dokująca na każdym ekranie otwierała aplikacje na tym „aktywnym” ekranie. Nie miałbym nic przeciwko temu, aby przycisk na samym oknie miał również opcję „wyślij do wyświetlenia”. Jest to prostsze niż przeciąganie okien, szczególnie jeśli masz je ustawione tak, aby nie były ułożone obok siebie (np. Używam przekątnej, aby przypadkowo nie przesunąć myszy na inny ekran, co pozwala mi utrzymać Docka na moja lewa strona prawego monitora, ponieważ podoba mi się stacja dokująca po lewej stronie i ikony po prawej stronie przez cały czas, niezależnie od pozycji monitora).
źródło