Зупинити Mavericks відкривати програми на другому екрані?


15

У мене MacBook Pro і до цього часу підключено зовнішній дисплей. Однак, Mavericks, схоже, наполягає на відкритті нових додатків на вторинному дисплеї, навіть якщо наразі активне (ключове та головне) вікно / додаток знаходиться на головному дисплеї. Неймовірно засмучує, оскільки вони мають різний розмір екрана, і це страшенно псується з моїми збереженими розмірами вікон. Чи є якийсь спосіб зупинити Mavericks від цього? Я хочу лише, щоб додатки відкривалися на головному дисплеї або хоча б пригадували, на якому дисплеї я закривав їх минулого разу.

У випадку, якщо це допоможе, це моє розташування дисплея із системних уподобань: введіть тут опис зображення


можливо, вам слід зробити інший дисплей своїм основним екраном. дивіться тут osxdaily.com/2010/04/27/set-the-primary-display-mac
konqui

Спробував це з чистою установкою, все-таки, та сама проблема. Подав на нього радіолокатор, оскільки він, здається, є помилкою і нічого спеціально.
JustSid

Відповіді:


16

Я звик підключатися до проекторів для конференц-залів або до великих екранів, які відрізняються роздільною здатністю, тому, переходячи з кімнати в кімнату протягом дня, мені також потрібно змінювати розміри вікон. Так я відчуваю твій біль. :-)

Щоб уникнути плутанини, я хочу визначити пару термінів для цієї відповіді:

  • Основний дисплей є одним з рядком меню на вкладці Композиції в настройках системи.
  • Основний дисплей є той , який ви хочете речі на, незалежно від того , є чи воно основним дисплеєм.
  • Додатковий дисплей є одним без рядка меню на вкладці Композиції в настройках системи.

По суті, проблема полягає в тому, що ви бачите важливу різницю між головним та основним дисплеями; Mac OS X цього не робить, і він буде боротися з вами, коли ви намагаєтеся зберегти цю відмінність, трактуючи вторинний дисплей як основний дисплей.

Якщо вони спеціально не намагаються зробити інше, додатки завжди відкриються на будь-якому основному екрані. Це, безумовно, одна з характеристик основного дисплея. (Це досить низький рівень Quartz API, зокрема виклик CGConfigureDisplayOrigin , тому така поведінка не може бути налаштована, якщо сама програма не дозволяє вам налаштувати її.)

Я б запропонував, можливо, поцікавтеся тим, що робить вас дратівливим ("поспішає з іншими речами", коли ви це додаєте до коментаря), щоб не зберігати основний дисплей як основний дисплей під час підключення, оскільки вони можуть бути налаштовані ; така поведінка не є.

Я маю для вас пару хитрощів, які можуть допомогти:

Дзеркальне відображення, а потім відтворення дзеркальних дисплеїв призводить до того, що всі вікна занадто великі, щоб поміститися на меншому екрані, слід змінити розмір, щоб підходити, і всі вікна потрапляють на основний дисплей. Я знаю, це не ідеальне рішення, оскільки вам потрібні речі на вторинному дисплеї, але це може бути корисним рішенням у поєднанні з наступним трюком, особливо якщо ви знаєте комбінацію клавіш: ⌘-F1. Натисніть його, нехай система перейде до дзеркального відображення, і натисніть його ще раз. Усі ваші вікна будуть змінені до найменшого дисплея та будуть розміщені на первинному дисплеї.

Ще один дуже корисний інструмент для вирішення проблеми - це BetterTouchTool , який дозволяє встановити "Центральне вікно на наступному моніторі" та "Максимізувати вікно до наступного монітора". Я призначаю їх клацанням чотирма і п’ятьма пальцями відповідно, і тоді я можу швидко проскакувати вікно з одного монітора на інший, просто переміщуючись на трекпад. (Якщо ви не використовуєте трекпад, коли ви підключені до великого дисплея, BTT може робити жести і з іншими вказівними пристроями.)

Ці два фокуси разом зробили роботу з постійно змінюваними резолюціями не ідеальною, але принаймні терпимою. Якщо я хочу перенести всі свої вікна на вторинний дисплей (я даю заняття, скажімо, і хочу, щоб меню видно студентам, але я хочу, щоб усі мої вікна, не пов'язані з навчанням, були на іншому дисплеї) , Я роблю фокус з дзеркалом / unmirror, а потім чотири пальці вдавлюю трекпад багато разів, поки вікна не спливуть.

Нарешті, якщо ви хочете загадати, ви можете поглянути на цей Applescript, який переміщує всі вікна до основного за допомогою іншого методу. На відміну від дзеркального методу, який переміщує вікна до основного як побічний ефект, цей робить це явно, так що ви можете змінити його для переміщення вікон на бажаний основний, вторинний, дисплей. Але це непросто, що може дати вам уявлення про те, чому все бореться проти цього використання. Ось вирішальний рядок цього Applescript:

set position of window x to {0, 22}

Оскільки меню меню має 22 координати відображення (те, що раніше було "пікселями" до появи сітківки), а екрани та вікна мають свої початкові точки у верхньому лівому куті, цей рядок рухається вікном x справа внизу та зліва вниз з меню. Для того, щоб адаптувати цей скрипт, щоб він замість цього перемістив усі вікна у верхній лівий бік вторинного дисплея, вам потрібно буде визначити його координати та використовувати це як значення x. У розташуванні, яке ви показуєте на екрані екрана, "0" буде замінено на від'ємне число , оскільки ви знаходитесь зліва від меню. Потрібно буде кілька хитрощів, щоб правильно вийти, особливо якщо ви хотіли, щоб сценарій працював незалежно від домовленості.

Це все безглуздо, я знаю; але вам доведеться приймати шаблони, якщо ви хочете, щоб ваш основний і основний дисплеї були різними. Ось чому я дуже рекомендую вам спробувати вирішити те, що не дозволяє іншим екранам бути основним, а не боротися з цим боєм.


Вибачте за плутанину, але я мав на увазі, що я хочу, щоб основним моїм дисплеєм був основний дисплей (як дивно, основний дисплей є основним дисплеєм. CoreGraphics повертає те саме CGDisplayIDдля них)
JustSid

@JustSid - Цікаво, ви говорите, що програми відкриваються на самому лівому екрані вгорі? Це просто химерно, і я не можу це повторити - як я вже згадував, одна із специфічних форм поведінки головного вікна - це те, що програми за замовчуванням відкривають нові вікна. Все, що я можу подумати, - спробувати натиснути дисплей вниз, щоб він не розгорівся зверху? У мене немає пояснень, чому це було б, але, можливо, допоможе ваш основний дисплей вище на осі y. Я сказав, що не можу його повторити, але у мене немає меншого зовнішнього дисплея, щоб спробувати, якщо це - дивно - те, що викликає це.
Трей

Так, саме в цьому проблема. Все відкривається на меншому, вторинному екрані, хоча я хочу, щоб речі відкривалися на великому головному дисплеї! Але, трохи перевпорядкувавши вторинний дисплей, виправили проблему! Я не знаю, звідки ви взяли цю ідею, але це геніально, велике спасибі! Збираюся оновити мій радар і сподіваюся, що він зафіксований у 10.9.1 (його там не було протягом 10.7-10.8).
JustSid

@JustSid "Ви говорите, що додатки відкриваються на самому лівому екрані вгорі?" У мене та сама проблема: програми та документи, що відкриваються на другому дисплеї.
bames53

5

Що стосується Mavericks, то тут існує відмінність між активними та неактивними моніторами. Ви можете бачити, який монітор активний, переглядаючи ваш меню (я припускаю, ви використовуєте нову поведінку просторів Mavericks). Якщо порівнювати їх на обох екранах, один буде зів’ялим, а другий - непрозорим. Активоване те, що є надзвичайно непрозорим, і нові вікна додатків відкриються на екрані з непрозорим екраном меню, якщо на іншому екрані немає інших вікон того ж додатка.

Тож як можна змінити, який екран активний?

Просто натисніть будь-де на робочому столі на екрані, на якому потрібно відкрити вікно. Це зробить меню екрана майже непрозорим, і, відкривши вікно, слід відкрити його на екрані.

Також зауважте, що така поведінка не залежить від вашої позиції Docks. На мій досвід, мені довелося натиснути на робочий стіл (між fileS), щоб активувати інший екран (під яким я маю на увазі отримати його в активному стані)

Оновлення

Справді, це не заважає Mavericks відкривати вікна на іншому екрані 8, ви можете перейти до "управління місією" в Налаштуваннях системи та зняти прапорець "Монітори використовувати різні пробіли", щоб повернутися до попередньої поведінки Mavericks. Таким чином він відкриється на останньому закритому екрані та / або екрані, де знаходиться меню. Метод, який я описав вище, було оновлено лише способом Mavericks.


"Активоване те, що є непрозорим, і нові вікна додатків відкриються на екрані з непрозорим екраном меню, якщо на іншому екрані немає інших вікон того ж додатка." Я відкриваю документи, і вони відкриваються на вторинному дисплеї, незважаючи на те, що в цьому додатку немає інших вікон, які відкриваються на цьому екрані, і на первинному екрані відкриваються вікна з цього додатка (тому що я постійно переміщую їх). Якщо я закрию вікно документа на первинному екрані, а потім знову відкрию цей документ, він ставить вікно на вторинний екран, і мені доведеться його перемістити ще раз.
bames53

3

відкривши додаток, натисніть клавішу F3, щоб відкрити контроль над місією, а потім перетягніть програму на екран, на якому ви хочете відкрити її в майбутньому. Він призначений "пробілу" на вашому комп'ютері - Змініть простір, якому він призначений.


2

Нові вікна завжди відкриються на дисплеї за допомогою "панелі меню", тому просто перемістіть рядок меню "за замовчуванням" на Дисплей, де ви бажаєте запускати нові вікна.

Подивіться на знімок екрана в діалоговому вікні "Налаштування відображення". Зауважте, що лише один із пунктів "Відображення" показує рядок меню. Також зверніть увагу на текст "Щоб перемістити рядок меню, перетягніть його на інший дисплей".


4
Що ж, так, я зазначив, що рядок меню вже знаходився на правому екрані, і на цьому екрані, безумовно, було зосереджено увагу, але програми відкривалися на іншому екрані.
JustSid

1

У мене була така ж проблема. Я знайшов додатки, відкриті на будь-якому екрані док-станції.

У мене екрани були встановлені так само, як і у вас, док ліворуч. Я переключив док-станцію вправо, і тепер вони відкриваються на головному моніторі, а не на вторинному.


0

Щоб OS X завжди відкривала додаток на певному дисплеї в Mavericks або новішій версії, клацніть правою кнопкою миші на значку док-станції для програми та виберіть "Параметри" - Призначте на робочий стіл 1 або 2 (Desktop 2 має бути вашим вторинним дисплеєм). Я виявив, що це не завжди працює, коли ви перетягуєте деякі програми на інший дисплей (наприклад, Safari в El Capitan). Потрапивши туди, іноді він хоче продовжувати відкриватися там і, принаймні, в Ель-Капітані, він зазвичай відкривається на первинному дисплеї, якщо спеціально не сказано, що це відкриється на вторинному дисплеї. Ви також можете використовувати OPTIONS -> Призначити на доці, щоб перенести програму назад на будь-який дисплей (можна заощадити час, не потрібно переміщати мишу на інший дисплей, щоб перетягнути її назад, особливо якщо у вас більше двох моніторів.

Я просто хочу, щоб на кожному дисплеї завжди була можливість мати док-станцію. Я віддаю перевагу бокові доки, і ви не можете мати міграцію, яка є королівським болем. Я надсилаю відгуки про це Apple, але вони просто ігнорують це. Буде так просто мати док-станцію на кожному екрані в будь-який час, як панель меню (можливо, навіть a іншийдок-станція для кожного екрана для налаштувань, де ви часто використовуєте певні програми на певних екранах), і кожен док-станція на кожному екрані відкриває додатки на цьому "активному" екрані. Я не заперечую, щоб кнопка у самому вікні також мала "надіслати на показ". Це простіше, ніж перетягувати вікна навколо, особливо якщо у вас їх розташовано так, щоб вони не були поруч (наприклад, я використовую діагональ, щоб я випадково не переміщував мишу на інший дисплей, і це дозволяє мені тримати док-станцію лівий бік правого монітора, оскільки мені подобається док-станція зліва та піктограми праворуч у будь-який час, незалежно від позицій монітора).


1
Єдине додаток, з яким у мене виникають проблеми, це TextEdit, який ЗАВЖДИ відкриває файли на екрані мого телевізора (вторинний дисплей). Жодна з відповідей у ​​цій темі не змінює цю поведінку. Усі інші програми відкриваються на моєму первинному дисплеї (Macbook). Це не трагедія, коли доведеться вручну захоплювати вікна TextEdit з одного дисплея, перетягувати їх на інший і змінювати їх розмір, але це все-таки належить до категорії Applesoft, чи не так. (Apple превентивно карбування цей термін для його BASIC не заважає мені також використовувати його для опису продуктів Apple , які ведуть себе як ті , Microsoft.)
mathematrucker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.