Arrêtez la fermeture de la fenêtre Safari 9 lorsqu'il ne reste que des onglets épinglés

40

J'adore le fait que Safari 9 ait épinglé des onglets, c'est le dernier élément qui m'a permis de passer de Chrome. Cependant, je ferme souvent tous les onglets sauf les onglets épinglés. Cependant, à moins que je ne rende actif l'un des onglets épinglés, puis que je ferme les autres onglets, il ferme toute la fenêtre, les onglets épinglés, etc.

Par exemple, disons que j'ai un onglet épinglé et un non. Si l'onglet non épinglé est actif et que je clique sur command+, wla fenêtre entière se ferme. Mais si je rends l'onglet épinglé actif, puis que je clique sur le bouton de fermeture de l'onglet non épinglé, la fenêtre reste ouverte. Est-il possible de garder la fenêtre ouverte tant que des onglets sont ouverts, épinglés ou non?

Donut
la source
1
Cela ressemble à un bug pour moi. Je vous recommande d'utiliser le formulaire de commentaires pour signaler.
@ Phong Je pense que c'est en fait le comportement souhaité, car l'ouverture d'une nouvelle fenêtre après la fermeture accidentelle d'une fenêtre inclut les onglets épinglés. Cela soulage la douleur, mais c'est quand même vraiment étrange et différent de tous les autres navigateurs avec des onglets épinglés.
beignet
3
@Phong Aussi, bonne idée. J'ai signalé ce problème.
Donut
@donut, je ne pense pas que ce soit le comportement prévu. Chaque fois que la fenêtre se ferme et que vous en ouvrez une nouvelle, les onglets chargent à nouveau les pages. C'est vraiment frustrant. Et s’ils sont épinglés, c’est parce que je ne veux pas les fermer xD
Dave
@ Dave Veuillez signaler le problème à l'aide de Feedback Assistant. Plus il y a de personnes qui le signalent, plus il y a de chances que cela change.
Donut

Réponses:

58

Si vous regardez le menu Fichier, vous pouvez voir les Wmodifications en fonction du nombre d'onglets ouverts. S'il y en a plusieurs, c'est "Close Tab", s'il y en a un (sans compter l'épinglé), c'est "Close Window".

Il y a une solution de contournement! Vous pouvez écraser Wpour toujours exécuter "Fermer l'onglet".

Allez dans Préférences Système> Clavier> Raccourcis> Raccourcis d'applications

Ajoutez un raccourci pour l'application "Safari", élément de menu "Fermer l'onglet", raccourci w.

Si vous n'utilisez pas l'anglais dans Safari, recherchez le nom exact de l'élément de menu permettant de fermer un onglet. Dans la version néerlandaise de Safari, l'élément de menu s'appelle "Sluit tabblad".

hachre
la source
1
Mentionnons que ce correctif a pour effet secondaire de ne pas vous permettre de fermer le dernier onglet dans une fenêtre Safari ouverte. Par conséquent, même les fenêtres sans onglets épinglés ne peuvent pas être fermées avec W.
Brian Donahue
4
C'est un bon truc. Et vous pouvez fermer la fenêtre, il vous suffit d'utiliser Command-Shift-W pour le faire. J'aime ça, parce que ça rend la fermeture de la fenêtre plus explicite que contextuelle.
GuyGizmo
9

Je veux juste ajouter à la réponse de hachre que vous pouvez obtenir le même résultat en utilisant un terminal. Pour écraser ⌘W dans Safari, exécutez les lignes suivantes:

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>'

Rechargez ensuite Safari:

killall Safari
open -a Safari

J'utilise les commandes dans Sierra - fonctionne très bien.

zhukov.ever
la source
1
Vous manquez une <dict>balise d' ouverture ? donc deuxième argument dans le premier commandement serait'<dict><string>@w</string></dict>'
rudolph9
@ Rudolph9 il semble que vous avez raison. mais il y a maintenant une option pour définir com.apple.Safari d'une nouvelle manière: defaults write com.apple.safari NSUserKeyEquivalents '{"Close Tab"="@w";}'et ça marche. La mauvaise nouvelle est que je ne trouve pas de moyen simple d’écrire com.apple.universalaccess( defaults write com.apple.universalaccess "com.apple.custommenu.apps" -array-add "com.apple.Safari"il ya erreur et rien fait avec sudo)
zhukov.ever