¿Alguien sabe cómo puedo eliminar elementos que nunca uso del menú contextual?
por ejemplo: Grabar "yadda yadda" en el disco ...
¿Alguien sabe cómo puedo eliminar elementos que nunca uso del menú contextual?
por ejemplo: Grabar "yadda yadda" en el disco ...
Respuestas:
En realidad, puede eliminar elementos nativos de MacOS del menú contextual ... pero desafortunadamente, no parece que pueda eliminar los que indicó anteriormente. De todos modos, si quieres echar un vistazo, dirígete a
Preferencias del sistema> Teclado> Atajos de teclado> Servicios
y luego desmarque los elementos que no desea en el menú.
Es lamentable que no puedas eliminarlos a todos. Pero por lo menos puede ayudarle a deshacerse de algunos de la confusión.
He encontrado una solución para esto que (hasta ahora) funciona para los elementos de contexto del menú derecho del Finder predeterminado como Burn to disk
y Burn "^1" to disc
. Este es exactamente el objetivo de la solicitud de OP.
Hay otra clase de hinchazón del menú contextual que proviene de la instalación de Servicios en forma de Applescript o complementos ejecutables.
Esos son fáciles de eliminar. Independientemente de cómo se llamen, simplemente busque en su disco esa cadena. es decir, el Inject Potatos!
servicio finalmente se encontrará en un archivo llamado Inject Potatos!.<something>
. Puede haber algunas otras formas y tamaños, pero son el problema fácil de resolver y están fuera del alcance de la publicación de OP.
Para usuarios que no hablan inglés: esta solución es independiente del idioma. Aprovechamos las funciones de localización que convierten cadenas + argumentos predeterminados en cadenas localizadas con variables expandidas.
No estoy seguro de los aspectos internos de Objective-C, pero sospecho que algo similar a esto está sucediendo ...
snprintf(str, 0, "", var1, var2, ..);
No hay una cadena de formato (es decir, ""), por lo que siempre terminas str
siendo de longitud cero.
Si el str es de longitud cero, el solucionador de localización caminará hacia atrás en el árbol para encontrar una plantilla de formato ancestral que funcione. Siempre que ponga a cero todos los antepasados de esa clase de mensaje, eventualmente agotará las plantillas y devolverá una cadena de longitud cero al solicitante de localización.
El renderizador del menú contextual reconoce que es de longitud cero y lo omite de los elementos de la lista del menú contextual y obtiene un menú contextual más delgado.
Sé que el formato NSString es diferente a C, pero si no eres un tipo Objective-C y necesitas pensarlo en términos de printf, los siguientes ejemplos también son básicamente los mismos para los propósitos de este ejercicio.
"Throw ^1 into the ^2"
"Throw %s into the %s", arg1, arg2
.Si realiza una modificación y después de reiniciar Finder, parece que no está teniendo efecto: puede estar modificando una cadena de localización en otra área que no sea el menú contextual del botón derecho. Revierta su cambio, reinicie Finder e intente nuevamente. Si omite este paso, puede terminar modificando algo que no sea el menú contextual y no darse cuenta hasta días después.
Comprende que esto es básicamente un truco, puede que no funcione de la manera que deseas o esperas. Por lo que vale, he estado ejecutando estos cambios (y más) durante al menos un par de semanas y no he tenido efectos negativos.
Primero echemos un vistazo a una imagen 'antes' tomada de la publicación del OP que nos muestra un menú contextual predeterminado típico del Buscador lleno de hinchazón.
¡Terrible!
La mayoría de los dispositivos de Apple ya ni siquiera se entregan con grabadoras de DVD, sin embargo, Burn "^1" to disc
ocupan bienes inmuebles valiosos.
Por no mencionar el igualmente inútiles Quick Look
, Duplicate
, Make Alias
, Copy ^1
, etc.
Despojado hasta donde pude conseguirlo. Tenga en cuenta que si seleccionáramos un archivo tendríamos los elementos predeterminados
Open
y deOpen with..
menú.
No pierdes nada a menos que lo omitas.
Las cosas pueden hacerse bastante escasas si lo desea.
cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
plutil -convert xml1 Localizable.strings
, para convertir Localizable.strings en un archivo de texto plano XML plistAbra Localizable.strings en un editor de texto sin formato / código (vi, pico, emacs, jed, etc. - TextEdit.app no puede guardar archivos * .txt y debe evitarse)
Encuentra el valor que deseas ocultar. En mi caso fue 'Burn "^ 1" to disk', que es la clave BC50_V2.
<key>BN50_V1</key> <string>Burn to Disc…</string> <key>BN50_V2</key> <string>Burn “^1” to Disc…</string>
Mi primer intento fue eliminar el par clave-valor por completo, pero esto resultó en que la cadena BC50_V1 apareciera en mi menú.
Algunas cadenas de formato recurrirán a plantillas más genéricas si existen. En ese caso, tendrá que poner a cero múltiples valores.
Puede ver este comportamiento con BC50_V2 que retrocede a BC50_V1.
Como quería completar la eliminación de las Burn...
entradas del menú, también tuve que poner a cero BC50_V1.
Hay otros pares de valores clave que tuvieron múltiples fallos, pero generalmente son bastante fáciles de identificar, ya que tendrán el mismo prefijo BC50_
y sufijos de incremento numérico_V1, _V2, _V..
Puede anotar sus cambios manteniendo una copia del fragmento XML del par clave / valor original dentro de un comentario XML.
Hago una copia del fragmento para cambiar, comento el fragmento antiguo con una descripción y hago mis modificaciones a la copia. De esa manera puedo revertir fácilmente y no tener que usar el control de versiones o tener múltiples copias del archivo.
<!-- 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>
^<number>
. Entonces número representa el enésimo argumento. Si usted se sentía especialmente pimpy podría modificar Burn "^1" to Disc
a Archive "^1" forever utilizing an optical disk!
.killall -HUP Finder
reiniciar Finderopen .
para abrir una ventana del Finder en su directorio de trabajo actual. Haga clic derecho para abrir el menú contextual, verifique que todo se vea bien.