4 votes

Est-il possible d'empêcher l'apparition inutile de la boîte de dialogue "Le fichier a été modifié" de TextEdit ?

De temps en temps, je suis en train de faire quelque chose sur mon ordinateur (par exemple, dans Google Chrome), quand une boîte de dialogue d'alerte de TextEdit.app apparaît de manière aléatoire. Cette boîte de dialogue ressemble à ceci :

La boîte de dialogue me demande si je veux enregistrer les modifications apportées à un document RTF ouvert ou réduit dans TextEdit. La boîte de dialogue apparaît parfois même lorsque TextEdit n'est pas l'application active ; la boîte de dialogue sort de nulle part.

Ma réponse à ce dialogue, 100% du temps, est Save Anyway . C'est parce que frapper le Revert modifie irrévocablement le fichier à la dernière version sauvegardée du fichier (ce qui n'est évidemment pas souhaitable).

  1. Si le document n'est pas en cours de modification dans une autre application, pourquoi ce message apparaît-il ? Ou, comment puis-je déterminer quelle application (c'est-à-dire, "une autre application" ) est responsable des modifications apportées au document, exactement ?

  2. Est-il possible d'empêcher ce dialogue d'apparaître inutilement ? Ou bien, est-il possible pour Textedit de "sauver quand même". par défaut ?

OS X El Capitan, version 10.11.6.

2voto

grg Points 181593

Je n'ai jamais vu cette feuille sans que le fichier sous-jacent soit modifié. Essayez opensnoop sur le fichier pour déterminer le processus qui accède au fichier :

$ sudo opensnoop -f /path/to/file.txt
  UID    PID COMM          FD PATH
  501  32092 Finder        14 /path/to/file.txt
    0     81 mds           28 /path/to/file.txt
  501  41898 mdworker       9 /path/to/file.txt
  501  42646 TextMate      16 /path/to/file.txt
  501  42646 TextMate      16 /path/to/file.txt
  501  42646 TextMate      25 /path/to/file.txt
  501  42646 TextMate      26 /path/to/file.txt

Il s'agit d'une impression en direct, donc gardez opensnoop en marche jusqu'à ce que vous obteniez la feuille, puis vérifiez votre fenêtre Terminal et regardez en arrière pour voir le processus. C arrête opensnoop quand vous avez terminé. Vous aurez besoin de désactiver la protection de l'intégrité du système pour utiliser opensnoop et peut être réactivé par la suite.

0voto

rubik's sphere Points 4760

Fermeture :

J'ai suivi les instructions fournies par l'utilisateur grgarside dans leur réponse.

J'ai réalisé que le fichier .rtf était, en fait, modifié par une autre application. Par conséquent, il est tout à fait approprié que j'ai été donné le The file has been changed by another application. dialogue.

Comme grgarside suggéré, le dialogue n'est jamais apparu inutilement.

Plus précisément, le fichier était modifié par un de mes AppleScript. La solution était d'implémenter une vérification dans le code AppleScript, pour voir si le fichier .rtf était déjà ouvert. Si le fichier .rtf était ouvert, j'ai fait en sorte que mon code AppleScript n'écrive pas de texte dans ce fichier.

Après avoir apporté la correction à mon code AppleScript, je n'ai plus jamais vu cette boîte de dialogue.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X