Einträge aus dem Kontextmenü des Finders entfernen?

Weiß jemand, wie ich Elemente entfernen kann, die ich nie aus dem Kontextmenü verwende?

zB: "yadda yadda" auf Disk brennen...

Geben Sie hier die Bildbeschreibung ein

/System/Library/CoreServices/Finder/Contents/Resources/English.lproj/Menubar.nib enthält alle Einträge, aber ich weiß nicht, wie ich Zeichenfolgen löschen kann
Entfernen des Abschnitts „Tags“: apple.stackexchange.com/questions/387849/…

Antworten (2)

Sie können native MacOS-Elemente tatsächlich aus dem Kontextmenü entfernen ... aber leider scheint es nicht, dass Sie die oben angegebenen Elemente entfernen können. Unabhängig davon, wenn Sie einen Blick darauf werfen möchten, gehen Sie zu

Systemeinstellungen > Tastatur > Tastenkombinationen > Dienste

und deaktivieren Sie dann die Elemente, die Sie nicht im Menü haben möchten.

Geben Sie hier die Bildbeschreibung ein

Schade, dass man nicht alle löschen kann. Aber es kann Ihnen zumindest helfen, etwas von der Unordnung loszuwerden.

Überprüfen Sie meine Lösung - Sie können das Standard-Kontextmenüelement des Finders genau so entfernen, wie OP-Anforderungen.
  • Ich habe dafür eine Lösung ausgearbeitet, die (bisher) für standardmäßige Finder-Rechtsmenü-Kontextelemente wie Burn to diskund funktioniert Burn "^1" to disc. Genau das ist das Ziel von OPs Anfrage.

  • Es gibt eine weitere Art von aufgeblähtem Kontextmenü, die durch die Installation von Diensten in Form von Applescript oder ausführbaren Plugins entsteht.

    Die sind einfach loszuwerden. Wie auch immer sie heißen, durchsuchen Sie einfach Ihre Festplatte nach dieser Zeichenfolge. dh Inject Potatos!der Dienst wird letztendlich in einer Datei namens Inject Potatos!.<something>. Es mag einige andere Formen und Größen von ihnen geben, aber sie sind das leicht zu lösende Problem und außerhalb des Umfangs des OP-Posts.

  • Für nicht englische Benutzer: Diese Lösung ist sprachunabhängig. Wir nutzen die Lokalisierungsfunktionen, die Standard-Strings + Argumente in lokalisierte Strings mit erweiterten Variablen umwandeln.

Wie es funktioniert, erklärt mit einer Reihe wilder Vermutungen

Ich bin mir über die Interna von Objective-C nicht sicher, aber ich vermute, dass etwas Ähnliches vor sich geht.

snprintf(str, 0, "", var1, var2, ..);

Es gibt keine Formatzeichenfolge (dh ""), sodass Sie am Ende immer streine Länge von Null haben.

Wenn die Zeichenfolge eine Länge von Null hat, geht der Lokalisierungs-Resolver den Baum rückwärts nach oben, um eine funktionierende Vorgängerformatvorlage zu finden. Solange Sie alle Vorfahren dieser Nachrichtenklasse auf Null setzen, werden die Vorlagen schließlich erschöpft und eine Zeichenfolge der Länge Null an den Lokalisierungsanforderer zurückgegeben.

Der Kontextmenü-Renderer erkennt, dass es keine Länge hat, und lässt es aus den Listenelementen des Kontextmenüs weg, und Sie erhalten ein schlankeres Kontextmenü.

WICHTIG

  • Wenn Sie nicht wissen, was Sie tun, könnten Sie den Finder durcheinander bringen. Verwenden Sie diese Checkliste, um zu überprüfen, ob Sie das Kung-Fu beherrschen.
  • Fühlen Sie sich wohl mit der Shell
  • Wissen, wie man einen Klartext-Editor wie vim, nano, emacs usw.
  • Immer Sicherungskopien aller Dateien, die Sie bearbeiten, BEVOR Sie sie bearbeiten.
  • Nehmen Sie jeweils EINE Änderung vor, beenden Sie den Finder, überprüfen Sie, ob alles gut aussieht, gehen Sie zu 10. Wenn Sie eine Reihe von Änderungen vornehmen und es die Dinge stört, müssen Sie sowieso alle Ihre Änderungen rückgängig machen.
  • Ich weiß, dass die NSString-Formatierung anders ist als C, aber wenn Sie kein Objective-C-Typ sind und darüber in Bezug auf printf nachdenken müssen, sind auch die folgenden Beispiele für die Zwecke dieser Übung im Grunde gleich.

    • Obj-C-Vorlage:"Throw ^1 into the ^2"
    • printf-Vorlage: "Throw %s into the %s", arg1, arg2.

    Wenn Sie eine Änderung vornehmen und diese nach dem Neustart von Finder scheinbar nicht wirksam wird, ändern Sie möglicherweise eine Lokalisierungszeichenfolge in einem anderen Bereich als dem Rechtsklick-Kontextmenü. Machen Sie Ihre Änderung rückgängig, starten Sie den Finder neu und versuchen Sie es erneut. Wenn Sie diesen Schritt überspringen, ändern Sie möglicherweise etwas anderes als das Kontextmenü und bemerken es erst Tage später.

  • Verstehen Sie, dass dies im Grunde ein Hack ist, es kann sein, dass es nicht so funktioniert, wie Sie es wollen oder erwarten. Für das, was es wert ist, ich laufe jetzt seit mindestens ein paar Wochen mit diesen Änderungen (und mehr) und habe keine negativen Auswirkungen festgestellt.


Beispiel für das Kontextmenü von Stock Finder

Schauen wir uns zunächst ein „Vorher“-Bild aus dem Beitrag des OP an, das uns ein typisches standardmäßiges Finder-Kontextmenü voller Aufblähung zeigt.

Aufgeblähtes Finder-Kontextmenü

Schrecklich!

Die Mehrheit der Apple-Geräte wird nicht einmal mehr mit DVD-Brennern ausgeliefert, aber Burn "^1" to discsie nehmen wertvollen Platz ein.

Ganz zu schweigen von den ebenso nutzlosen Quick Look, Duplicate, Make Alias, Copy ^1, usw.


Neues Hotness-Kontextmenü

Neue Schärfe

Abgespeckt, soweit ich es bekommen konnte. Denken Sie daran, wenn wir eine Datei auswählen würden, hätten wir die Standard- Openund Open with..Menüelemente.

Sie verlieren nichts, wenn Sie es nicht auslassen.

Die Dinge können ziemlich spärlich gemacht werden, wenn Sie es wünschen.


Anweisungen

  • Suchen Sie die Datei $LANGUAGE.lproj, an der Sie interessiert sind. In meinem Fall spreche ich Englisch.
  • cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
  • run plutil -convert xml1 Localizable.strings, um Localizable.strings in eine Plist-Datei im Klartext-XML-Format zu konvertieren
  • MACHEN SIE EINE SICHERUNG VON Localizable.strings . Wenn Sie etwas vermasseln, sollten Sie Ihre Änderungen rückgängig machen können.
  • Öffnen Sie Localizable.strings in einem Klartext-/Code-Editor (vi, pico, emacs, jed usw. – TextEdit.app kann keine *.txt-Dateien speichern und sollte vermieden werden)

    Suchen Sie den Wert, den Sie ausblenden möchten. In meinem Fall war es 'Brennen Sie "^1" auf die Festplatte', was der Schlüssel BC50_V2 ist.

    <key>BN50_V1</key>
    <string>Burn to Disc…</string>
    <key>BN50_V2</key>
    <string>Burn “^1” to Disc…</string>
  • Mein erster Versuch bestand darin, das Schlüssel-Wert-Paar vollständig zu entfernen, aber dies führte dazu, dass die Zeichenfolge von BC50_V1 in meinem Menü angezeigt wurde.

    Einige Formatzeichenfolgen greifen auf allgemeinere Vorlagen zurück, sofern vorhanden. In diesem Fall müssen Sie mehrere Werte auf Null setzen.

    Sie können dieses Verhalten bei BC50_V2 sehen, das auf BC50_V1 zurückfällt.

    Burn...Da ich alle Menüeinträge komplett loswerden wollte , musste ich auch BC50_V1 auf Null setzen.

    Es gibt andere Schlüssel-Wert-Paare, die mehrere Fallbacks hatten, aber sie sind normalerweise ziemlich einfach zu identifizieren, da sie dasselbe Präfix BC50_und numerisch inkrementierende Suffixe haben_V1, _V2, _V..

  • Sie können Ihre Änderungen mit Anmerkungen versehen, indem Sie eine Kopie des ursprünglichen Schlüssel/Wert-Paar-XML-Fragments in einem XML-Kommentar aufbewahren.

    Ich erstelle eine Kopie des zu ändernden Fragments, kommentiere das alte Fragment mit einer Beschreibung aus und nehme meine Änderungen an der Kopie vor. Auf diese Weise kann ich problemlos wiederherstellen und muss keine Versionskontrolle verwenden oder mehrere Kopien der Datei haben.

<!-- OLD Burn.*to Disc... 

    <key>BN50_V1</key>
    <string>Burn to Disc…</string>
    <key>BN50_V2</key>
    <string>Burn “^1” to Disc…</string>

-->

<!-- NEW Burn.*to Disc -->
<key>BN50_V1</key>
<string></string>
<key>BN50_V2</key>
<string></string>
  • Wenn Sie eine Zeichenfolge ändern möchten, anstatt sie vollständig zu entfernen, können Sie das auch tun. Auf Variablen scheint über das Formular zugegriffen werden zu können ^<number>. Dann repräsentiert Zahl das n-te Argument. Wenn Sie sich besonders pimpig fühlten, könnten Sie zu Burn "^1" to Discändern Archive "^1" forever utilizing an optical disk!.
  • Speichern Sie Ihre Änderungen auf der Festplatte
  • killall -HUP Finderum den Finder neu zu starten
  • open .um ein Finder-Fenster in Ihrem aktuellen Arbeitsverzeichnis zu öffnen. Klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, und überprüfen Sie, ob alles gut aussieht.
  • Alles erledigt! Es scheint keinen Nachteil zu geben, die Localization.strings-Datei im Text-Plist-Format zu belassen, sodass Sie sich keine Gedanken über die Konvertierung in und aus Binär- oder Textformaten machen müssen, wenn Sie Änderungen vornehmen.
Nur eine Anmerkung: In El Capitan müssen Sie den Systemintegritätsmodus deaktivieren, um die benötigten Dateien zu ändern. stackoverflow.com/questions/32590053/…
Alle meine Versuche, Änderungen vorzunehmen oder gar Backups zu erstellen, enden mit: Betrieb nicht erlaubt. Egal ob ich sudo, su oder meinen Benutzer verwende.