Скрытие приложения по нажатию на кнопку "Закрыть"
Отличное приложение, спасибо!
Единственное, что было неожиданно для меня - полное закрытие по нажатию на кнопку "Закрыть". Большинство приложений на Маке скрываются, включая Music.app
В этом PR сделал скрытие вместо закрытия
Привет! Логика автозавершения обычно используется в приложениях, не поддерживающих многооконность — когда всё равно нельзя создать более чем одно окно. Наглядным системным примером такого паттерна является App Store, он тоже автоматически полностью завершается при закрытии пользователем его единственного окна.
Вообще говоря, фича закрытия окон в macOS предназначена для их удаления из памяти и высвобождения таким образом ресурсов системы. То есть когда вы попытаетесь снова воспользоваться тем или иным приложением после закрытия последнего его окна, для вас будет автоматически создано уже новое окно, с полностью новым внутренним его состоянием, включая сброшенный скролл и так далее. К слову, частое пересоздание окон таким образом — это относительно тяжеловесная история, не очень рациональная в плане производительности и экономии заряда аккумулятора ноутбука.
Системная «Музыка» действительно почему-то оверрайдит дефолтное поведение, по крестику сворачивая окно вместо его удаления. Однако в таком случае остаётся неотвеченным следующий логичный вопрос к разработчикам сего приложения — зачем подобным образом дублируется функциональность, если скрытие и так уже реализовано для всех окон в системе как отдельная самостоятельная фича? Налицо довольно странный UX-антипаттерн.
Возвращаясь к нашей теме, рекомендую пользоваться сворачиванием окна (Command + M) либо его скрытием (Command + H) в зависимости от того, что лично вам удобнее. А оверрайдить крестик на скрытие окна вместо его поведения по умолчанию (закрытия) — слишком уж сомнительный, я считаю, подход с точки зрения адекватности UX и собственных же гайдлайнов Apple. 🤷♂️
Привет! Вообще хороший аргумент, про App Store забыл :)
Про Музыку - там это поведение досталось от iTunes, который тоже так работал. Подозреваю, что такое исключение сделали, потому что пользователь не ожидает, что музыка перестанет играть, когда он закроет окно. И в Spotify тоже так
Из одноэкранных приложений, которые сворачиваются, а не закрываются, смог найти еще системный Календарь и Заметки. Похоже, Apple не строго следует этому правилу
Я тут кабанчиком пробегал, кхм. Было бы здорово при нажатии на закрытие приложения убирать его из дока (но не завершать), например в строку меню. Не вижу смысла особого в иконке в доке, если работают кнопки на клавиатуре по переключению треков и постановке на паузу, а если уж очень надо открыть приложение чтобы поискать трек, можно это сделать из меню состояния, или быстро открыв его через спотлайт. В общем я говорю об аналогичном поведении приложения бартендер, или какой-нибудь скриншотер типа shottr
Если в сборку это добавлять не хочется, может умные люди подскажут как исходник пересобрать нужным мне образом?