Czy powstrzymać Mavericks przed otwieraniem aplikacji na drugim ekranie?

15

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: wprowadź opis zdjęcia tutaj

JustSid
źródło
może powinieneś ustawić drugi wyświetlacz jako swój główny wyświetlacz. zobacz tutaj osxdaily.com/2010/04/27/set-the-primary-display-mac
konqui
Próbowałem z czystą instalacją, wciąż ten sam problem. Zapisałem dla niego radar, ponieważ wydaje się, że jest to błąd i nic celowo.
JustSid

Odpowiedzi:

16

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.

Trey
źródło
Przepraszam za zamieszanie, ale miałem na myśli, że chcę, aby mój główny wyświetlacz był głównym wyświetlaczem (co zabawne, główny wyświetlacz JEST głównym wyświetlaczem. CoreGraphics zwraca CGDisplayIDdla nich to samo )
JustSid,
@JustSid - Interesujące, mówisz, że aplikacje otwierają się na lewym ekranie powyżej? To po prostu dziwaczne i nie mogę go powielić - jak wspomniałem, jednym ze szczególnych zachowań głównego okna jest to, że aplikacje domyślnie otwierają nowe okna. Mogę tylko pomyśleć, aby przesunąć ekran w dół, aby nie był na wierzchu? Nie mam wyjaśnienia, dlaczego tak jest, ale być może pomocne byłoby ustawienie głównego wyświetlacza na osi y. Powiedziałem, że nie mogę go odtworzyć, ale nie mam mniejszego zewnętrznego wyświetlacza, aby spróbować, jeśli to - dziwnie - to jest przyczyną.
Trey,
Tak, to jest właśnie problem. Wszystko otwiera się na mniejszym, drugim ekranie, mimo że chcę, aby rzeczy otwierały się na dużym ekranie głównym! Ale zmiana rozmieszczenia dodatkowego wyświetlacza nieco rozwiązała problem! Nie wiem, skąd masz ten pomysł, ale jest genialny, dziękuję bardzo! Zamierzam zaktualizować mój radar i mam nadzieję, że został naprawiony w 10.9.1 (nie było go przez 10,7-10,8).
JustSid,
@JustSid „mówisz, że aplikacje otwierają się na lewym ekranie powyżej?” Mam ten sam problem: aplikacje i dokumenty otwierają się na moim dodatkowym wyświetlaczu.
bames53
5

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.

Przytulać
źródło
„Ten, który jest prawie nieprzezroczysty, jest aktywowany i nowe okna aplikacji otworzą się na ekranie z nieprzezroczystym ekranem paska menu, chyba że na drugim ekranie znajdują się inne okna tej samej aplikacji”. Otwieram dokumenty, a otwierają się one na dodatkowym ekranie, mimo że na tym ekranie nie ma innych okien w tej aplikacji i na ekranie głównym są otwarte okna z tej aplikacji (ponieważ ciągle je przesuwam). Jeśli zamknę okno dokumentu na ekranie głównym, a następnie ponownie otworzę ten dokument, spowoduje to umieszczenie okna na ekranie pomocniczym i będę musiał go ponownie przenieść.
bames53
3

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.

użytkownik69765
źródło
2

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”.

NaveenJC
źródło
4
Cóż, tak, miałem na myśli to, że pasek menu był już na prawym ekranie i ten ekran zdecydowanie miał fokus, ale programy otworzyły się na drugim ekranie.
JustSid
1

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.

nkh004
źródło
0

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).

VonMagnum
źródło
1
Jedyną aplikacją, z którą mam problem, jest TextEdit, który ZAWSZE otwiera pliki na ekranie telewizora (drugi ekran). Żadna z odpowiedzi w tym wątku nie zmienia tego zachowania. Wszystkie inne aplikacje otwierają się na moim głównym ekranie (Macbook). Ręczne chwytanie okien TextEdit z jednego ekranu, przeciąganie ich do drugiego i zmiana ich rozmiaru nie jest tragedią, ale należy do kategorii Applesoft, prawda? (Apple zapobiegawczo wymyślając ten termin na swój BASIC, nie przeszkadza mi również w używaniu go do opisywania produktów Apple, które zachowują się jak produkty Microsoft).
mathematrucker