Остановить закрытие окна Safari 9, когда остаются только закрепленные вкладки

41

Мне нравится, что Safari 9 закрепил вкладки, это был последний кусок, который позволил мне переключиться с Chrome. Однако я часто закрываю все вкладки, кроме закрепленных. Однако, если я не сделаю одну из закрепленных вкладок активной, а затем закрою другие вкладки, она закроет все окно, закрепленные вкладки и все.

Например, допустим, у меня есть одна закрепленная вкладка, а другая нет. Если не закреплена вкладка, и я нажму command+, wвсе окно закроется. Но если я активирую закрепленную вкладку и затем нажимаю кнопку закрытия на закрепленной вкладке, окно остается открытым. Есть ли способ сохранить окно открытым, пока есть какие-либо открытые вкладки, закрепленные или нет?

пончик
источник
1
Похоже, ошибка для меня. Я рекомендую вам использовать форму обратной связи, чтобы сообщить.
@Phong Я думаю, что это на самом деле предполагаемое поведение, так как открытие нового окна после случайного закрытия окна включает закрепленные вкладки. Это облегчает боль, но все же действительно странно и отличается от всех других браузеров с закрепленными вкладками.
пончик
3
@Phong Кроме того, хорошая идея. Я сообщил об этой проблеме.
пончик
@donut Я не думаю, что это предполагаемое поведение. Каждый раз, когда окно закрывается и вы открываете новое, вкладки снова загружают страницы. Это действительно расстраивает. И если они прикреплены, это потому, что я не хочу закрывать их xD
Дейв
@ Дэйв Пожалуйста, сообщите о проблеме с помощью Feedback Assistant. Чем больше людей сообщают об этом, тем выше вероятность того, что это изменится.
пончик

Ответы:

60

Если вы посмотрите меню «Файл», вы увидите Wизменения в зависимости от количества открытых вкладок. Если их несколько, это «Закрыть вкладку», если есть (не считая закрепленных), это «Закрыть окно».

Есть обходной путь! Вы можете перезаписать, Wчтобы всегда выполнять «Закрыть вкладку».

Перейдите в Системные настройки> Клавиатура> Сочетания клавиш> Сочетания клавиш приложения

Добавьте ярлык для приложения «Safari», пункт меню «Закрыть вкладку», ярлык w.

Если вы не используете английский в Safari, найдите точное название пункта меню для закрытия вкладки. В голландской версии Safari пункт меню называется «Sluit tabblad».

hachre
источник
1
Следует отметить, что это исправление имеет побочный эффект - не позволяет вам закрыть последнюю вкладку в любом открытом окне Safari, поэтому даже окна без закрепленных вкладок нельзя закрыть с помощью ⌘W.
Брайан Донахью
4
Это отличный трюк. И вы можете закрыть окно, вам просто нужно использовать Command-Shift-W, чтобы сделать это. Мне это нравится, потому что это делает закрытие окна явным, а не контекстным.
GuyGizmo
9

Просто хочу добавить к ответу Хахре, что вы можете достичь того же результата, используя терминал. Для перезаписи ⌘W в Safari выполните следующие строки:

defaults write com.apple.Safari NSUserKeyEquivalents -dict-add 'Close Tab' '<string>@w</string></dict>'
defaults write com.apple.universalaccess com.apple.custommenu.apps -array-add '<string>com.apple.Safari</string>'

Затем перезагрузите Safari:

killall Safari
open -a Safari

Я использую эти команды в Сьерре - прекрасно работает.

zhukov.ever
источник
1
Вы пропустили открывающий <dict>тег? так что второй аргумент в первой команде будет'<dict><string>@w</string></dict>'
rudolph9
@ rudolph9 кажется, что ты прав. но теперь есть возможность установить com.apple.Safari по-новому: defaults write com.apple.safari NSUserKeyEquivalents '{"Close Tab"="@w";}'и это работает. Плохая новость в том, что я не могу найти простой способ написать com.apple.universalaccess( defaults write com.apple.universalaccess "com.apple.custommenu.apps" -array-add "com.apple.Safari"просто вызвал ошибку и ничего не сделал с sudo)
zhukov.ever