Preguntaba hace unos días Karpediem111 en Mac-ES:
Sabeis donde puedo encontrar informacion sobre la opcion de menu “Servicios” que aparece en casi todos los programas colgado del propio nombre del programa o del Finder, por ejemplo?
Supongo que es una especie de menu de atajos desde el que se puede acceder a distintas funcionalidades pero me gustaria investigar un poco mas sobre el tema, sobre todo para borrar opciones que crean otros programas y que despues hacen que crezcan el desplegable con las opciones disponibles mas alla de lo deseado…. O para poder incluirlas manualmente si es menester.
Por lo que he podido ver hay unas cuantas carpetas desperdigadas por el sistema con ficheros varios (algunos .service otros Workflow de Automator) , supongo que cada programa las grabará donde mejor le parezca…..
Vamos a responderle a cada una de sus preguntas… y espero también contestar alguna más que él no ha hecho.
¿Qué son los servicios?
Cuando pasamos de Mac OS 9 a Mac OS X, perdimos algunas cosas —carpetas apilables, por ejemplo—, pero ganamos muchas otras, y una de las más potentes, aunque también de las más ocultas, es el menú de Servicios. ¿Y qué son esos Servicios?
Pues son pequeños módulos que pueden procesar bien texto normal, texto enriquecido, o incluso imágenes.
h3. ¿Quién proporciona los servicios?
Pues esos servicios pueden ser proporcionados por:
* Por servicios que vienen con el sistema, como los que viven dentro de /System/Library/Services.
* Servicios que se instalan en /Library/Services/ (para todos los usuarios) o en ~/Library/Services/ (para cada usuario individual.)
* Aplicaciones que se encuentren dentro de la carpeta /Aplicaciones, o una de sus subcarpetas (justo en el primer nivel del disco duro, donde están las aplicaciones accesibles para todos los usuarios)
* Aplicaciones que se encuentren dentro de la carpeta ~/Applications, o una de sus subcarpetas (justo bajo la _casita_ que representa nuestra carpeta de usuario particular). _(Si queremos que nuestra carpeta ~/Applications aparezca como ~/Aplicaciones, tendremos que lanzar el comando de Terminal touch ~/Applications/.localized, y cerrar y volver a abrir la sesión.)_
Por eso, en una instalación normal vemos servicios proporcionados por TextEdit, o por Safari, pero también vemos servicios como el de Ortografía, o el de Instantánea, que no corresponden a ninguna aplicación.
h3. ¿Qué clase de manipulaciones pueden realizar los servicios?
Pues en realidad, aunque no es exactamente lo mismo que el Portapapeles, los servicios se comunican igual. Y de la misma forma que el Portapapeles puede contener texto plano, texto con estilos, imágenes, o PDFs, los servicios pueden tanto leer como devolver cualquiera de esos tipos de datos. Sin embargo, los más comunes son los que generan texto, o los que transforman texto, seguidos por los que generan imágenes.
Por ejemplo, si estamos en un programa de edición de textos basado en Cocoa, como TextEdit, o NisusWriter, y escogemos *Menú Aplicación* > *Servicios* > *Instantánea* > *Pantalla*, insertaremos una imagen correspondiente a la captura de pantalla actual. Y si seleccionamos un texto en cualquier aplicación, y pulsamos sobre *Menú Aplicación* > *Servicios* > *Buscar en Google*, tendremos una búsqueda en Google _en una ventana o pestaña nuevas_ de Safari. Lo mejor es que eso funciona incluso dentro de la propia aplicación, y si sabemos el atajo de teclado, Comando-Mayúsculas-L (⇧⌘L) activará esa búsqueda, por lo que podemos seleccionar y pulsar la combinación de teclas, seleccionar otra cosa y volver a lanzarla, y tendremos un conjunto de pestañas —o ventanas— con los resultados.
Los servicios pueden llegar a lanzar otras aplicaciones, de modo que pueden llegar a proporcionar un interfaz que ajuste los resultados del servicio, como es el caso del servicio Resumir; una vez terminada la manipulación, la aplicación-servicio se cierra.
h3. ¿Qué servicios de interés hay por ahí?
Pues aquí tengo una compilación de los servicios que utilizo yo, indicando la aplicación o paquete de servicios que lo proporciona:
* “BibDesk”:http://bibdesk.sourceforge.net/ es un programa de gestión de bibliografías basado en el formato bibtex para el sistema de procesado de documentos científicos LaTeX. Los servicios que aporta permiten crear nuevas entradas bibliográficas a partir del texto seleccionado, o completar una entrada bibliográfica en el documento LaTeX que estés editando. Funciona perfectamente con editores de texto como “TeXShop”:http://www.uoregon.edu/~koch/texshop/ o TextMate, o incluso AquaMacs Emacs.
* “LaTeXit”:http://ktd.club.fr/programmation/latexit_en.php es un programa que toma una entrada de texto, y devuelve como servicio una imagen PDF con la representación gráfica del código LaTeX seleccionado al invocar el servicio, por lo que es necesario utilizar un programa como TextEdit o Nisus Writer, que puedan aceptar salidas en formato gráfico.
* CalcService, _freeware_ de Devon Technologies, permite disponer de una calculadora… en cualquier cuadro de texto en Safari o Camino, o en cualquier otro editor. Puede mostrar el resultado, o reemplazar el cálculo con el resultado, o añadir el resultado, como por ejemplo: log(2)/log(10) = 0,301029995664.
* WordService es otro _freeware_ de Devon Technologies, y divide sus servicios en varios apartados: Convert, que incluye operaciones de transformación, como cambio a todo mayúsculas, todo minúsculas, mayúsculas de palabra, o mayúsculas de frase; Format, que incluye operaciones de reformateo, como eliminación de finales de línea, expacios extra y similares; Insert, que permite introducir fechas, horas, o incluso el contenido de un directorio; Speak Text, que permite lanzar la reproducción hablada del texto seleccionado en inglés y alemán; y Statistics, que calcula el número de caracteres, palabras, líneas y párrafos del texto seleccionado.
* OmniDictionary, del OmniGroup, permite acceder a servicios de diccionario en línea de muy diferentes tipos, incluyendo algunos de traducciones, y a través de su servicio es posible definir cualquier expresión.
* “Notational Velocity”:http://notational.net/ (NV) es una aplicación para guardar recortes de texto, con una función de búsqueda rapidísima. NV proporciona servicios tanto de añadido de recortes como de búsqueda en los mismos.
* “Skype”:http://www.skype.com/intl/es/download/skype/macosx/ proporciona servicios para llamar o mandar SMS a números de teléfono seleccionados, así como mensajes a nombres de usuario, o añadir contactos en caso de tratarse de usuarios no añadidos.
h4. Otros servicios propios del sistema:
* Notas Adhesivas permite crear nuevas notas a partir del texto seleccionado, manteniendo su tipografía, en incluso los enlaces.
* Resumir crea una marca abreviada que puede servir para recordar, de un vistazo, el contenido de un archivo mayor.
* La aplicación Dictionary.app (que contiene el diccionario New Oxford American Dictionary, y el diccionario de sinónimos Oxford American Writers Thesaurus) permite buscar cualquier palabra y encontrar su definición (en inglés), y sus sinónimos y antónimos.
* El propio Finder permite que abras o muestres un archivo cuyo path esté completo. Incluso puedes lanzar aplicaciones si escribes algo como /Applications/Mail.app, lo seleccionas, y seleccionas *Servicios* > *Finder* > *Abrir*.
* Importar imagen permite introducir imágenes escaneadas en el documento actual.
* Catálogo tipográfico es capaz de detectar los tipos de letra que se utilizan a lo largo de todo un texto, y crear una colección de tipografías que los incluya. Es una forma de saber, por ejemplo, qué tipos de letra se están utilizando en una página web… y tener una colección que solamente incluya esos tipos de letra.
* Se pueden crear mensajes de correo con Mail incluyendo una selección, o a la dirección de correo seleccionada.
* Y por supuesto, se pueden abrir enlaces a páginas web en el navegador por defecto, y hacer búsquedas en Google, como ya hemos comentado.
http://www.devon-technologies.com/download/index.html
h3. Otros servicios que yo no utilizo, pero pueden ser de interés
* “lipServiceX”:http://www.rosboroughtech.com/lipServiceX.html es un servicio que genera texto tipo _Lorem ipsum_, bien una única frase, o bien un párrafo, para ayudar en la simulación de maquetaciones, y puede introducirlo directamente, o pasarlo al portapapeles para pegarlo después.
h3. ¿Se puede personalizar el menú Servicios?
Pues no directamente, pero sí “a través de una aplicación llamada Service Scrubber”:http://www.manytricks.com/servicescrubber/ (Desbrozador de Servicios). Con Service Scrubber, se puede:
* Reordenar el menú Servicios, de forma que los que más utilices se encuentren más accesibles
* Cambiar los atajos de teclado de los Servicios, en caso de conflicto, o en caso de que alguna opción no tenga atajo de teclado ninguno
* Eliminar aquellos servicios que no utilicemos nunca
Y todo de forma gráfica, bastante intuitiva.
Si tu idea de personalizar el menú servicios es añadir tus propias entradas de menú, tienes dos alternativas:
* “SilverService”:http://www.rho.org.uk/software/silverservice/ permite crear nuevos servicios a partir de comandos Unix, que procesen y/o generen texto.
* “ThisService”:http://wafflesoftware.net/thisservice/ es parecido, pero utiliza AppleScript en vez de la línea de comandos Unix para crear servicios.
h3. Conclusiones
Los Servicios de Mac OS X son fruto del legado NEXTSTEP de Mac OS X, y permiten la colaboración entre diferentes aplicaciones que lo único que hacen es ponerse de acuerdo en los formatos que pueden enviar y aceptar. Hay un gran número de utilidades disponibles para todas las aplicaciones Cocoa, y para las aplicaciones Carbon que se hayan creado específicamente para Mac OS X, y tienen una gran potencia que conviene aprovechar. Después de todo, ¡Mac OS X está a tu servicio!
Comentarios
3 responses to “Desde Mac-ES: ¿Qué es el menú Servicios de Mac OS X?”
Sobre ThisService. La presencia de AppleScript significa que se puede utilizar de puente para hacer servicios realmente en:
-AppleScript
-Shell
-Perl
-Ruby
-Python
-PHP
-C
Etc. etc. etc.
Hay pasarelas de AppleScript para cualquier otro lenguaje hoy en día, y tambien para linea de comandos (lo que nos abre todos los que no puedan tener pasarela propia).
Si hubiera que recomendar uno sólo yo recomendaría ThisService.
Service Scrubber es indispensable también porque cada programa puede meter sus propios servicios que se quedan ahí incluso aunque el programa ya no se use.
Buena entrada.
Como bien dices, se puede utilizar el comando
do shellde AppleScript para lanzar comandos de terminal. Del mismo modo, se puede utilizar SilverService con el comando de terminalosascriptpara llamar a comandos o guiones AppleScript, más cualquier comando en lenguajes como Python, Perl, etcétera, con lo cual el usar ThisService o SilverService depende de cuál sea el entorno con el que te encuentres más a gusto.Muchísimas gracias por tu extensa y detallada explicacion, Juande….
Voy a ir probando todo (o casi todo) lo que has puesto, sobre todo el tema de eliminar aquellos que considero innecesarios y centrarme en los verdaderamente útiles….
Eres un crack!!!