Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь о том, что это вообще возможно сделать. И всё это говорит об ужасном UX.
Тут возникает вопрос «а поняли бы мы Windows без гугления, если бы не были знакомы с ней с детства?» Но я решил не ввязываться в бесконечные споры «какая ОС лучше», а подойти конструктивнее. Действительно, при переходе с Windows люди сталкиваются с рядом неинтуитивных моментов. И чтобы переходящим не приходилось гуглить по отдельности кучу вопросов или читать длиннющие пользовательские руководства, я решил описать в одном тексте главные такие вещи, пришедшие мне в голову.
Надеюсь, кому-то из читателей это поможет и упростит переход. А если вы сами давно пользуетесь Mac, дополняйте в комментариях, наверняка я что-то ценное упустил.
Хоткеи
Тут после Windows много непривычного. Но зачастую в этом есть своя внутренняя логика, и когда её понимаешь, многое встаёт на свои места.
Самый яркий пример: открытие файла. Выбираешь нужный в файловом менеджере Finder, нажимаешь Enter, а система реагирует на это «окей, давай переименуем файл». Што? Почему это переименование? А как файл открыть-то? Сочетанием Cmd+↓, серьёзно? Что это за бессмысленное сочетание и как его запомнить?
Но оно становится осмысленнее, когда узнаёшь противоположное сочетание Cmd+↑, которое в Finder выводит из текущей папки на уровень выше. А с помощью Cmd+↓ можно не только открывать выбранные файлы, но и заходить внутрь выбранных папок. То есть логика такая: стрелка вверх — «переход на уровень выше», вниз — «на уровень ниже» (в том числе от уровня «папка» к уровню «конкретный файл в ней»). По моему опыту, это легко запоминается и позже ощущается очень естественным.
Кто-то возразит: «Ну вот хочу в папке с фотографиями найти нужную, по превьюшкам многие похожи. И мне на куче разных нажимать сочетание из двух клавиш? Открыть файл — самое частое действие, его логично делать одной клавишей». Но для таких случаев в Finder есть режим предварительного просмотра. Когда выбран нужный файл, просто нажмите на пробел — если это изображение, то увидите его без запуска графического редактора. Дальше можно стрелочками перемещаться по файлам в папке и сравнивать разные.
Второе — переключение раскладки клавиатуры. Да, после Windows непривычно нажимать Ctrl+Space (первую пару дней). И система вроде как позволяет переназначить этот хоткей, но при этом не даёт установить привычные Ctrl+Shift или Alt+Shift (потому что эти клавиши считаются модификаторами, и нужна ещё какая-то). Зато в настройках системы есть такая галочка: «использовать для переключения языков клавишу Caps Lock». По-моему, если вы не любитель КРИЧАТЬ НА ЛЮДЕЙ В ИНТЕРНЕТАХ и капслок не нужен вам ежедневно, стоит сразу ставить эту галочку, переключать языки одной клавишей вместо двух просто прекрасно.
Следующее неочевидное — буфер обмена. Почему Ctrl+C не работает? Что вместо него, Cmd+C? О чём они только думали, когда сделали такое вместо общепринятого Ctrl+C? (это реальное возмущение из вчерашних хабракомментов).
Ну, для начала, когда они это сделали в 1984 году, привычного миру сочетания ещё попросту не было, Apple реализовала это раньше Microsoft. А когда позже в Windows выбрали Ctrl+C, внесли этим в мир сумятицу из-за того, что в Unix это давно использовалось в совершенно другом значении (так что вот уж у кого разногласия с чужими стандартами).
Но главное даже не в этом, а вот в чём: на Mac главные сочетания завязаны на клавишу Cmd. И если учесть, что «Cmd» — это сокращение от «command», получается довольно стройная схема:
-
Cmd+Q ("command quit") — выход из приложения
-
Cmd+H ("command hide") — скрыть окно
-
Cmd+F ("command find") — поиск
-
Cmd+C ("command copy") — копирование
-
Cmd+↑ ("command up") — переход на уровень выше
-
Cmd+↓ ("command down") — переход на уровень ниже
Теперь сравним это с популярными виндовыми хоткеями:
-
Alt+F4 — закрыть окно
-
Win+M — свернуть все окна
-
Ctrl+F — поиск
-
Ctrl+C — копирование
-
Enter — переход на уровень ниже
-
Alt+↑ — переход на уровень выше
Что из этих двух вариантов выглядит более консистентным и запоминаемым? Я это не в смысле «Windows плохая», а в смысле «прежде чем возмущаться из-за непривычности хоткеев macOS, задумайтесь об их внутренней логике».
Конечно, macOS тоже не идеальна. Скажем, сочетания для скриншотов куда сложнее кнопки PrintScreen (Cmd+Shift+3 для всего экрана, Cmd+Shift+4 для части экрана, а Cmd+Shift+5 вызывает меню, с которым можно хоть скринкаст записать). Как говорилось в старом анекдоте, «понять невозможно, надо просто запомнить». Зато, по-моему, эти сочетания куда мощнее PrintScreen, создание скриншотов превращается в песню.
Возможно также, что вам это всё покажется нелогичным и захотите перенастроить всё к чертям под себя. Вообще в настройках системы есть специальный раздел Shortcuts, там можно перебиндить довольно многое, но не всё. Если вам понадобится что-то большее, чем позволяет система — есть специализированный софт вроде Karabiner-Elements, но я лично им не пользовался.
Оконная концепция
Следующее непонятное при переходе с Windows — логика поведения окон и приложений. Ты использовал приложение, потом красный крестик на нём нажал, но при нажатии Cmd+Tab почему-то всё равно видишь его в списке запущенных. А ещё при работе с приложением почему-то видишь его меню не в самом его окне, как у всех нормальных людей, а где-то на панели вверху. Как говорилось в другом старом анекдоте, «Где смысл? Где логика?»
Действительно, тут всё поначалу довольно неинтуитивно. И даже когда осознаешь лежащие под всем этим принципы, можешь решить, что они странные (тут вопрос субъективный, разные люди оценивают по-разному). Но осознать эти принципы в любом случае полезно, жизнь станет куда проще и понятнее.
Суть в следующем: в macOS окна и приложения — это две фундаментально разные сущности. Конечно, если открыто окно приложения, то и приложение запущено, без этого никак. Но вот если закрываешь окно, то это совершенно не обязательно означает, что и приложение больше не запущено — у него свой жизненный цикл.
Проще всего это понять, если вспомнить, что в Windows некоторые приложения сидят в трее. Ни одного окна приложения не открыто, но оно запущено, что-то там себе делает и можно в любой момент с ним повзаимодействовать. Вот в macOS этот принцип доведён до максимума: можно считать, что там любое приложение при запуске попадает в трей. И если просто закрываешь его окна, то в трее оно остаётся. Поэтому есть два разных способа завершения работы над чем-то: можно закрыть окно, а можно полностью «выгрузить приложение из трея».
Первое происходит по Cmd+W ("window") или при нажатии красного крестика на окне. Для второго можно или нажать Cmd+Q ("quit"), или в меню на верхней панели кликнуть на названии приложения и выбрать последний пункт «выйти».
И когда эту разницу осознаёшь, она многое объясняет: например, почему меню приложения вместо его окна оказывается в верхней панели. Ну да, раз приложение продолжает работать даже при отсутствии открытых окон, логично, что с ним можно повзаимодействовать через это меню.
А ещё всё это сказывается на переключении между окнами. Есть два разных хоткея: Cmd+Tab — между разными приложениями, Cmd+` — между разными окнами одного приложения. Мне лично кажется удобным логическим разделением, но не гарантирую, что вам покажется так же.
Управление окнами
Ну хорошо, окна не тождественны приложениям, но на этом вопросы о них не заканчиваются. Что за дичь творит кнопка «свернуть»? Как мне развернуть окно на пол-экрана? А на весь экран, но чтобы док не исчезал?
Как заметили во вчерашнем посте, с тремя красивыми кнопками всё правда неинтуитивно. Попробую объяснить.
Понятнее всего с красной, об этом написал выше: она закрывает окно, но не приложение.
С жёлтой хитрее. Она сворачивает окно и показывает его в специальной части дока. Но если в Windows по свёрнутым окнам можно переключаться с помощью Alt+Tab, то тут хоткей к таким вас не перенесёт. Можно использовать это как раз для ситуаций, когда вам и не нужно, чтобы переносил (скажем, открыты три окна одного приложения, два постоянно нужны, а третье открыто на будущее и сейчас путается под ногами). Но я лично просто никогда не нажимаю эту кнопку. Если почему-то раздражает, что какое-то окно видно — нажимаю вместо этого Cmd+H, оно прячется.
Зелёная по умолчанию открывает полноэкранный режим, с которым окно становится отдельным рабочим столом. И тут возникает вопрос, а хотели ли вы вообще этот полноэкранный режим с этим отдельным столом.
Вообще говоря, рабочие столы — важная часть macOS. Если вы часто переключаетесь между разными программами, то может быть смысл тщательно расположить их по разным столам и переключаться между столами (это удобно делать хоть хоткеем, хоть несколькими пальцами по трекпаду).
Но не всем нравится, когда при переключениях всё начинает метаться по экрану туда-сюда (хотя эти визуальные метания можно отчасти минимизировать в accessibility-опциях). Возможно, мы хотели просто сделать окно большим, а не чтобы оно куда-то от остальных отделялось. И если так, то советую перед кликом по зелёной кнопке зажимать клавишу Option. А ещё можно навести курсор на зелёную и подержать, и тогда система предложит открыть окно в пол-экрана.
Но эти пол-экрана по умолчанию тоже будут в особом режиме Split View, который вам не факт что удобен. К тому же это ещё и на хоткей почему-то нельзя повесить. Что делать, если хочется по хоткеям изящно манипулировать всеми окнами аки в линуксе, меняя их размеры и расположение? Мне вот хочется, у меня iMac 27'', с такими размерами многое удобно в часть экрана, а не во весь экран.
Как оказалось, встроенное управление окнами в моих сценариях оставляет желать лучшего, но это исправляет сторонний софт. Я использую Rectangle, очень рекомендую. Кстати, он бесплатный и опенсорсный (это сейчас был камень в огород тех, кто считает «на Маке любой чих за дополнительные $20»).
Установка приложений
Тут неинтуитивно тем, что экосистема оказалась расколота. Использую три разных варианта «откуда устанавливать», ни один не идеальный.
Как известно, главный источник денег и популярности Apple — айфон. Неудивительно, что в последние годы в макоси многое делают по аналогии с айфонами. Launchpad с гигантскими иконками (будет привычно тем, кто с iPad перешёл, вот только пальцем не кликнуть), направление скролла по умолчанию «как на айфоне» (я лично сразу меняю на противоположное), ну и после успеха App Store компания сделала магазин приложений для Mac.
Если в айфоне всё ставят из App Store, то и здесь так? А вот и нет, тут с магазином не очень сложилось. Разработчики туда попросту особо не пошли.
При этом сам магазин выглядит удобно — апдейты интегрированы в систему, и не шаришься по каким-то левым сайтам, а в официальном месте нажимаешь кнопочку. Поэтому то нужное мне, что нашлось там, я устанавливал оттуда. Вот только нашлось немногое — Telegram, Pixelmator Pro, приложения самой Apple, вроде ещё по мелочи что-то.
Другой способ — по старинке заходить на сайты и скачивать дистрибутивы. С его дальнейшей установкой после Windows непривычно про «монтировать образ» и «перенести приложение в папку Applications», но верю, что с этим разберётесь. Поделюсь только одним лайфхаком. В части случаев ОС в своём стремлении защитить нас от плохого не даёт запустить скачанный файл. Так вот: если на том же самом файле вызвать контекстное меню, в нём возможность запустить его будет! Видимо, система считает, что если пользователь умеет в контекстное меню, то он хорошо понимает, что делает. (Подозреваю, что она меня переоценивает.)
И третий способ, который близок айтишной аудитории Хабра: пакетный менеджер Homebrew. Он неофициальный (не от Apple), но настолько популярный, что де-факто стал стандартом.
Зачастую пакетные менеджеры ассоциируются исключительно с консольными делами, но через Homebrew можно устанавливать и многие GUI-программы. Заклинание «brew install --cask НАЗВАНИЕ_ПРОГРАММЫ» работает не всегда, но чаще, чем я ожидал.
Прочее
Ещё такая мелочь. Как заметил автор исходного поста, по умолчанию док выглядит как рождественская гирлянда. Но вообще-то он не задумывался как хранилище всего на свете, для этого есть Launchpad и Spotlight. Просто в Apple добавили в док свои предустановленные приложения. А потом сделали больше приложений... И ещё больше приложений...
Часть из них вам вообще никогда не понадобится. Поэтому мой совет такой: сразу снесите из дока всё. А потом закрепляйте в нём то, чем реально будете пользоваться. Тогда он куда менее «гирляндовый» и куда более полезный.
Также я посоветовал бы новичку вот что: зайти в «Системные настройки» (System Preferences) и просто побродить по всем сколько-нибудь интересующим разделам. Организованы они, по-моему, куда понятнее, чем «Панель управления» в Windows. И при этом как раз там можно узнать о наличии многих полезных тебе переключателей, о которых сам мог бы и не предположить («Что, можно вместо клика по трекпаду просто легонько тапать по нему? Это же удобнее!»).
А если что-то интересующее не задать в настройках, это далеко не всегда означает, что вы столкнулись с жёсткими эппловскими ограничениями и его точно вообще не задать. Консольная утилита defaults даёт доступ к очень многим дополнительным параметрам: например, можно изменить, в каком формате сохраняются скриншоты.
Но это уже тема для отдельного доклада: с defaults открываются такие глубины, что об этих глубинах есть специализированные сайты.
Поэтому тут остановлюсь (если этот пост понравится Хабру, возможно, отдельно сделаю ещё «более продвинутый»). Буду рад дополнениям в комментариях. И напоминаю, что бессмысленно спорить про «лучшую ОС для всех» — используйте любую, которая подходит вам лично. Главное только разобраться, какая подходит, а не выносить категоричные суждения на основе двухминутного знакомства.
А напоследок минутка рекламы от компании JUG Ru Group, где я работаю (кстати, fun fact про компанию и Mac: у нас охотно выдают рабочие макбуки даже тем сотрудникам, которым нужен компьютер уровня «пишущая машинка»).
Этой осенью мы проводим большой конференционный сезон: 8 IT-конференций для самых разных специалистов, от Java-разработчиков для тестировщиков. И я по опыту знаю, что среди всех них хватает людей с макбуками (даже в .NET-разработке своими глазами видел таких). Так что, скорее всего, среди этих конференций есть интересные и полезные лично вам — рекомендую обратить внимание.
Автор: Евгений Трифонов