Rimuovere le voci dal menu contestuale del Finder?


14

Qualcuno sa come posso rimuovere elementi che non uso mai dal menu contestuale?

ad esempio: Masterizza "yadda yadda" su disco ...

inserisci qui la descrizione dell'immagine


/System/Library/CoreServices/Finder/Contents/Resources/English.lproj/Menubar.nib ha tutte le voci ma non so come eliminare le stringhe

Risposte:


5

È possibile in realtà rimuovere elementi MacOS nativi dal menu contestuale .... ma purtroppo, non sembra è possibile rimuovere quelle che sopra indicati. Indipendentemente da ciò, se vuoi dare un'occhiata, vai a

Preferenze di Sistema> Tastiera> Tasti di scelta rapida> Servizi

e quindi deseleziona gli elementi che non vuoi nel menu.

inserisci qui la descrizione dell'immagine

È un peccato che non sia possibile rimuoverli tutti. Ma può almeno aiutarti a liberarti di un po ' di disordine.


Controlla la mia soluzione: ti consente di rimuovere la voce di menu di scelta rapida predefinita del Finder esattamente come richieste da OP.
synthesizerpatel,

5
  • Ho elaborato una soluzione per questo che (finora) funziona con le voci di contesto del menu destro del Finder predefinito come Burn to diske Burn "^1" to disc. Questo è esattamente l'obiettivo della richiesta di PO.

  • Esiste un'altra generazione di menu contestuali che deriva dall'installazione dei Servizi sotto forma di plug-in Applescript o eseguibili.

    Sono semplici da eliminare. Qualunque sia il loro nome, cerca quella stringa sul tuo disco. vale a dire che il Inject Potatos!servizio verrà infine trovato in un file denominato Inject Potatos!.<something>. Potrebbero esserci alcune altre forme e dimensioni, ma sono il problema più semplice da risolvere e non rientrano nell'ambito del servizio operativo.

  • Per utenti non inglesi: questa soluzione è indipendente dalla lingua. Sfruttiamo le funzioni di localizzazione che convertono stringhe predefinite + arg in stringhe localizzate con variabili espanse.

Come funziona spiegato con una serie di ipotesi selvagge

Non sono sicuro degli interni di Objective-C, ma sospetto che stia succedendo qualcosa di simile a questo ...

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

Non c'è una stringa di formato (cioè ""), quindi finisci sempre per stravere una lunghezza pari a zero.

Se str ha lunghezza zero, il risolutore di localizzazione camminerà all'indietro sull'albero per trovare un modello di formato antenato che funzioni. Fintanto che azzeri tutti gli antenati di quella classe di messaggi, alla fine esaurirà i modelli e restituirà una stringa di lunghezza zero al richiedente della localizzazione.

Il renderer del menu di scelta rapida riconosce che ha lunghezza zero e lo omette dalle voci dell'elenco del menu di scelta rapida e si ottiene un menu di scelta rapida più sottile.

IMPORTANTE

  • Se non sai cosa stai facendo, potresti confondere Finder. Usa questo elenco di controllo per verificare di avere il kung-fu.
  • Mettiti comodo usando la shell
  • Sapere come utilizzare un editor di testo semplice come vim, nano, emacs, ecc.
  • Effettua sempre il backup di tutti i file modificati PRIMA di modificarli.
  • Apporta UNA modifica alla volta, uccidi Finder, verifica che tutto appaia buono, vai a 10. Se apporti un mucchio di modifiche e si blocca le cose, dovrai comunque annullare tutte le modifiche.
  • So che la formattazione di NSString è diversa da C, ma se non sei un tipo Objective-C, e devi pensarci in termini di printf, anche i seguenti esempi sono sostanzialmente gli stessi ai fini di questo esercizio.

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

    Se apporti una modifica e dopo aver riavviato Finder, sembra che non abbia effetto - potresti modificare una stringa di localizzazione in qualche area diversa dal menu contestuale del tasto destro. Annulla le modifiche, riavvia Finder e riprova. Se salti questo passaggio, potresti finire per modificare qualcosa di diverso dal menu di scelta rapida e non accorgertene fino a qualche giorno dopo.

  • Comprendi che questo è fondamentalmente un trucco, potrebbe non funzionare nel modo desiderato o previsto. Per quello che vale, ho corso con questi cambiamenti (e altro) per almeno un paio di settimane e non ho avuto effetti negativi.


Esempio di menu di scelta rapida di Stock Stock

Per prima cosa diamo un'occhiata a un'immagine "precedente" presa dal post del PO che ci mostra un tipico menu contestuale del Finder predefinito pieno di gonfio.

Menu contestuale del Finder gonfio

Terribile!

La maggior parte dei dispositivi Apple non viene più spedita con i masterizzatori DVD, ma sta Burn "^1" to discoccupando immobili di valore.

Senza contare l'altrettanto inutile Quick Look, Duplicate, Make Alias, Copy ^1, etc.


Nuovo menu di scelta rapida

New Hotness

Abbattuto il più lontano possibile. Tenete a mente, se fossimo la selezione di un file che sarebbe il default Opene Open with..voci di menu.

Non perdi nulla se non lo ometti.

Le cose possono essere rese abbastanza rare se lo desideri.


Istruzioni

  • Trova il file $ LANGUAGE.lproj che ti interessa. Nel mio caso parlo inglese.
  • cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
  • eseguire plutil -convert xml1 Localizable.strings, per convertire Localizable.strings in un file plist XML in testo normale
  • FAI UN BACKUP DI Localizable.strings . Se sbagli qualcosa, vorrai essere in grado di ripristinare le modifiche.
  • Apri Localizable.strings in un editor di testo / codice (vi, pico, emacs, jed, ecc. - TextEdit.app non può salvare i file * .txt e dovrebbe essere evitato)

    Trova il valore che vuoi nascondere. Nel mio caso era "Masterizza" ^ 1 "su disco" che è la chiave BC50_V2.

    <key>BN50_V1</key>
    <string>Burn to Disc…</string>
    <key>BN50_V2</key>
    <string>Burn “^1” to Disc…</string>
  • Il mio primo tentativo è stato quello di rimuovere completamente la coppia chiave-valore, ma ciò ha comportato la visualizzazione della stringa di BC50_V1 nel mio menu.

    Alcune stringhe di formato torneranno a modelli più generici, se presenti. In tal caso dovrai azzerare più valori.

    È possibile visualizzare questo comportamento con BC50_V2 che ricade in BC50_V1.

    Dato che volevo eliminare completamente tutte Burn...le voci di menu, ho dovuto azzerare anche BC50_V1.

    Esistono altre coppie di valori-chiave che hanno avuto più fallback ma di solito sono abbastanza facili da identificare in quanto avranno lo stesso prefisso BC50_e suffissi ad incremento numerico_V1, _V2, _V..

  • È possibile annotare le modifiche mantenendo una copia del frammento XML coppia chiave / valore originale all'interno di un commento XML.

    Faccio una copia del frammento per cambiarlo, commento il vecchio frammento con una descrizione e apporto le mie modifiche alla copia. In questo modo posso facilmente ripristinare e non è necessario utilizzare il controllo versione o avere più copie del file.

<!-- 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>
  • Se vuoi cambiare una stringa invece di rimuoverla del tutto, puoi farlo anche tu. Le variabili sembrano essere accessibili utilizzando il modulo ^<number>. Quindi il numero rappresenta l'ennesimo argomento. Se ti sentivi soprattutto Pimpy è possibile modificare Burn "^1" to Disca Archive "^1" forever utilizing an optical disk!.
  • Salva le modifiche sul disco
  • killall -HUP Finder per riavviare Finder
  • open .per aprire una finestra del Finder nella directory di lavoro corrente. Fare clic con il tasto destro per aprire il menu contestuale, verificare che tutto appaia bene.
  • Tutto fatto! Non sembra esserci alcuna penalità nel mantenere il file Localization.strings nel formato della tabella di testo, quindi non è necessario preoccuparsi della conversione dentro e fuori dai formati binari o di testo ogni volta che si apportano modifiche.

Solo una nota in El Capitan è necessario disattivare la modalità di integrità del sistema per modificare i file necessari. stackoverflow.com/questions/32590053/...
macycron

Tutti i miei tentativi di modifica o persino di backup finiscono con: Operazione non consentita. Non importa se uso sudo, su o il mio utente.
Carles Alcolea,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.