StopTheX, pour éviter que l’application X s’incruste dans macOS

Récemment, l’application Twitter pour Mac (qui n’avait pas été mise à jour depuis longtemps) a été remplacée par l’application X pour Mac, qui est simplement l’application iPad. Et ce changement a amené un changement énervant : Safari passe son temps à tenter d’ouvrir l’application, notamment en modifiant les menus dans le clic secondaire. Mais j’ai une solution.

L’application X est une vaste blague : elle ne fonctionne pas sur les Mac Intel parce qu’il s’agit juste d’une application iPad autorisée à être lancée sur un Mac, et c’est une option réservée aux Mac Apple Silicon.

C’est une application iPad autorisée sur Mac

Mais surtout, elle a un comportement énervant. Quand elle est installée, premièrement, les liens vers le réseau social de Musk veulent ouvrir l’application (ou s’ouvrir dedans). Deuxièmement, elle ajoute deux items dans le menu du clic droit de Safari (Ouvrir le lien, Ouvrir le lien dans « X »). C’est un peu idiot, mais c’est énervant : ils sont placés avant les menus classiques (comme Ouvrir le lien dans un nouvel onglet) et donc si vous avez l’habitude de faire des clics droits, vous allez envoyer des choses dans l’application X. Vous pouvez avoir un exemple en cliquant sur le lien vers mon profil sur X.

Le premier truc énervant : deux items en plus dans le menu, en haut.


Le second truc énervant : cette demande idiote si on choisit le premier item.

Le problème des liens universels

Le problème principal vient des liens universels de macOS, qui permettent de lier une application à des liens. C’est pratique dans l’absolu, mais énervant dans le cas de X, vu qu’il n’y a pas d’options pour s’en passer. En fait, je me suis souvenu que j’utilisais un petit logiciel open source pour empêcher l’application Twitter de faire la même chose, StopTheTwitter. Le fonctionnement est simple et malin : c’est une application qui ne fait strictement rien et qui possède le même identifiant que la vraie application Twitter. Il suffit de récupérer l’application, de la lancer, et elle va prendre la place de celle de Twitter pour les liens universels. L’astuce derrière consiste à avoir le même identifiant, mais une version bien plus élevée (2000.0). Quand macOS tente de faire le lien, il prend la plus récente des deux quand elles sont le même identifiant.

La modification est simple

Comme elle ne fonctionnait pas avec la nouvelle application X, j’ai cherché comment modifier et c’est assez simple. La partie importante est le Bundle Identifier. L’ancienne application Twitter utilisait maccatalyst.com.atebits.Tweetie2, la nouvelle emploie com.atebits.Tweetie2. La solution la plus basique consiste donc à récupérer StopTheTwitter, modifier le Bundle Identifier et suivre les instructions pour compiler le programme. J’ai fait un fork basique au cas où, mais ce n’est pas réellement nécessaire. Je ne propose pas de versions compilée parce que je n’ai pas le compte nécessaire.

Une fois l’application lancée une fois (elle ne fait rien de visible), l’intégration des liens universels devrait disparaître.