Einträge aus dem Kontextmenü des Finders entfernen?

14

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

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

Bildbeschreibung hier eingeben

philberndt
quelle
/System/Library/CoreServices/Finder/Contents/Resources/English.lproj/Menubar.nib enthält den gesamten Eintrag, aber ich kann keine Zeichenfolgen löschen

Antworten:

5

Sie können native MacOS-Elemente aus dem Kontextmenü entfernen. Leider können Sie die oben angegebenen Elemente nicht entfernen. Egal, wenn Sie einen Blick darauf werfen möchten, gehen Sie zu

Systemeinstellungen> Tastatur> Tastaturkürzel> Dienste

Deaktivieren Sie anschließend die Elemente, die nicht im Menü angezeigt werden sollen.

Bildbeschreibung hier eingeben

Es ist bedauerlich, dass Sie nicht alle entfernen können. Aber es kann Ihnen zumindest helfen, einiges von dem Durcheinander loszuwerden .

LloydDobbler
quelle
Überprüfen Sie meine Lösung - Sie können den standardmäßigen Kontextmenüeintrag des Finders genau wie OP-Anforderungen entfernen.
synthesizerpatel
5
  • Ich habe eine Lösung dafür erarbeitet, die (bisher) für die Kontextelemente des Standard- Finder-Rechtsmenüs wie Burn to diskund funktioniert Burn "^1" to disc. Dies ist genau das Ziel der OP-Anfrage.

  • Es gibt noch eine andere Art von Kontextmenü, die durch die Installation von Diensten in Form von Applescript oder ausführbaren Plugins entsteht.

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

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

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

Ich bin nicht sicher, was die Objective-C-Interna angeht, aber ich vermute, dass etwas Ähnliches passiert.

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

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

Wenn die Länge von str Null ist, wandert der Lokalisierungs-Resolver rückwärts durch den Baum, um eine funktionierende Vorlage für das Format der Vorfahren zu finden. Solange Sie alle Vorfahren dieser Nachrichtenklasse auf Null setzen, werden schließlich Vorlagen erschöpft und eine Zeichenfolge mit der Länge Null an den Lokalisierungsanforderer zurückgegeben.

Der Kontextmenü-Renderer erkennt, dass die Länge Null ist, und lässt sie in den Listenelementen des Kontextmenüs aus, und Sie erhalten ein schlankeres Kontextmenü.

WICHTIG

  • Wenn Sie nicht wissen, was Sie tun, können Sie Finder durcheinander bringen. Verwenden Sie diese Checkliste, um zu überprüfen, ob Sie das Kung-Fu haben.
  • Seien Sie bequem mit der Schale
  • Kenntnisse in der Verwendung eines Klartext-Editors wie Vim, Nano, Emacs usw.
  • Sichern Sie immer alle Dateien, die Sie bearbeiten, bevor Sie sie bearbeiten.
  • Nehmen Sie jeweils EINE Änderung vor, töten Sie Finder, überprüfen Sie, ob alles gut aussieht, und gehen Sie zu 10. Wenn Sie eine Reihe von Änderungen vornehmen und die Dinge kaputt gehen, müssen Sie trotzdem alle Änderungen rückgängig machen.
  • Ich weiß, dass sich die NSString-Formatierung von C unterscheidet. Wenn Sie jedoch kein Objective-C-Benutzer sind und darüber nachdenken müssen, wie sich Printf auswirkt, sind auch die folgenden Beispiele für die Zwecke dieser Übung im Grunde identisch.

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

    Wenn Sie eine Änderung vornehmen und Finder nach dem Neustart nicht mehr verwenden, wird diese möglicherweise in einem anderen Bereich als dem Kontextmenü mit der rechten Maustaste geändert. Machen Sie Ihre Änderung rückgängig, starten Sie Finder neu und versuchen Sie es erneut. Wenn Sie diesen Schritt überspringen, werden Sie möglicherweise etwas anderes als das Kontextmenü ändern und es erst Tage später erkennen.

  • Verstehen Sie, dass dies im Grunde genommen ein Hack ist und möglicherweise nicht so funktioniert, wie Sie es möchten oder erwarten. Für das, was es wert ist, laufe ich mit diesen Änderungen (und mehr) seit mindestens ein paar Wochen und habe keine negativen Auswirkungen erfahren.


Beispiel für ein Stock Finder-Kontextmenü

Schauen wir uns zunächst ein 'Vorher'-Bild an, das aus dem OP-Beitrag stammt und uns ein typisches Standard-Finder-Kontextmenü voller Blähungen zeigt.

Aufgeblähtes Finder-Kontextmenü

Schrecklich!

Die Mehrheit der Apple-Geräte wird nicht einmal mehr mit DVD-Brennern ausgeliefert, es werden Burn "^1" to discjedoch wertvolle Immobilien in Anspruch genommen.

Ganz zu schweigen von dem ebenso nutzlos Quick Look, Duplicate, Make Alias, Copy ^1etc.


Neues Hotness-Kontextmenü

Neue Schärfe

So weit ich konnte. Beachten Sie, dass bei Auswahl einer Datei die Standard- Openund Open with..Menüoptionen verwendet werden.

Sie verlieren nichts, wenn Sie es nicht auslassen.

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


Anleitung

  • Finden Sie die $ LANGUAGE.lproj-Datei, die Sie interessiert. In meinem Fall spreche ich Englisch.
  • cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
  • Führen Sie plutil -convert xml1 Localizable.stringsFolgendes aus, um Localizable.strings in eine Klartext-XML-Plist-Datei zu konvertieren
  • MACHEN SIE EIN BACKUP VON Localizable.strings . Wenn Sie etwas vermasseln, möchten Sie in der Lage sein, Ihre Änderungen rückgängig zu machen.
  • Öffnen Sie Localizable.strings in einem Klartext- / Code-Editor (vi, pico, emacs, jed usw. - TextEdit.app kann * .txt-Dateien nicht speichern und sollte vermieden werden)

    Suchen Sie den Wert, den Sie ausblenden möchten. In meinem Fall war es 'Burn "^ 1" to disk', 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 war, 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, falls vorhanden. In diesem Fall müssen Sie mehrere Werte auf Null setzen.

    Sie können dieses Verhalten mit BC50_V2 beobachten, das auf BC50_V1 zurückgreift.

    Da ich alle Burn...Menüeinträge löschen wollte , musste ich auch BC50_V1 auf Null setzen.

    Es gibt andere Schlüsselwertpaare mit mehreren Fallbacks, die jedoch in der Regel recht einfach zu identifizieren sind, da sie dasselbe Präfix BC50_und numerisch inkrementierte Suffixe aufweisen_V1, _V2, _V..

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

    Ich mache eine Kopie des zu ändernden Fragments, kommentiere das alte Fragment mit einer Beschreibung aus und ändere meine Änderungen an der Kopie. Auf diese Weise kann ich problemlos zurücksetzen und muss weder die Versionskontrolle noch mehrere Kopien der Datei verwenden.

<!-- 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 dies auch tun. Variablen scheinen über das Formular zugänglich zu sein ^<number>. Dann steht Zahl für das n-te Argument. Wenn Sie das Gefühl wurden speziell pimpy Sie ändern könnte Burn "^1" to Disczu Archive "^1" forever utilizing an optical disk!.
  • Speichern Sie Ihre Änderungen auf der Festplatte
  • killall -HUP Finder um 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 keine Nachteile zu haben, wenn Sie die Datei Localization.strings im Text-Plist-Format belassen. Sie müssen sich also nicht um das Konvertieren in und aus Binär- oder Textformaten kümmern, wenn Sie Änderungen vornehmen.
synthesizerpatel
quelle
Nur ein Hinweis in El Capitan: Sie müssen den Systemintegritätsmodus deaktivieren, um die benötigten Dateien zu ändern. stackoverflow.com/questions/32590053/…
macycron
Alle meine Versuche, Backups zu ändern oder gar zu erstellen, enden mit: Vorgang nicht zulässig. Egal ob ich sudo, su oder meinen User benutze.
Carles Alcolea