Hace mucho tiempo que no dedico un artículo del estilo «te enseño a hacer algo» y hoy es un buen día para romper esa dinámica. Os presento cómo crear un Service Menu para Plasma paso a paso, algo mucho más fácil que nunca gracias a que podemos hacer uso de la IA (una herramienta que bien implementada tiene su utilidad) para nuestros proyectos.
Cómo crear un Service Menu para Plasma
Como me gusta decir este blog tiene dos finalidades: divulgar las bondades del Sotware Libre y ser un diario de las cosas que hago con GNU/Linux de forma que pueda compartirlas con todo el mundo.
De esta forma, este artículo de cómo crear un Service Menu para Plasma nace justamente de mi experiencia al hacer uno para mi uso personal.
Por razones que no vienen al caso, he estado renombrando masivamente muchos ficheros y el renombrador que viene integrado en Dolphin, aunque es muy bueno, no me servía porque utilizaba un carácter especial que él toma como «numero» (la almohadilla), así que debía utilizar uno más potente: krename.
El caso es que para hacerlo, debía abrir krename, seleccionar los archivos, llevarlos a la aplicación, renombrar y volver a empezar. En muchas ocasiones cerraba krename, así que volvía a empezar. Así que pensé: no habrá un Service Menu que seleccionando los archivos que quiera los envíe directamente a krename. No,pues no lo hay. Así que pensé en crearlo yo, con la ayuda de la IA.
De esta forma mataba muchos pájaros de un tiro: solucionaba mi problema, aprendía más sobre el sistema y compartía de una forma didáctica mi experiencia en el blog que paso a relatar a continuación.
Explicación corta
Para empezar debemos copiar en un simple archivo de texto los siguientes comandos.
[Desktop Entry]
Type=Service
MimeType=all/allfiles;inode/directory;
Actions=KRenameSelected
Icon=krename
X-KDE-Priority=TopLevel
[Desktop Action KRenameSelected]
Name=Renombrar con KRename
Icon=krename
Exec=krename %F
Ahora guardamos el archivo con este nombre, krename.desktop, y lo ponemos en la carpeta personal que cambiará según tengamos Plasma 5 o Plasma 6:
Para Plasma 5: /home/nombre_de_usuario/.local/share/kservices5/ServiceMenus/
Para Plasma 6: /home/nombre_de_usuario/.local/share/kio/servicemenus/
Reiniciamos Dolphin y ya lo tendremos. Si no os funciona, comentad y solucionamos el problema.

Explicación larga
Aunque simplemente con lo de arriba ya lo tenemos, no quiero dejar la oportunidad de enseñar a fondo qué hace realmente lo que hace este script, así que comentamos cada una de las líneas:
[Desktop Entry] –> Indica el inicio de la sección principal del archivo .desktop, donde se definen las propiedades del servicio
Type=Service → Declara que esta entrada no es una aplicación normal, sino un servicio integrado en el menú contextual de KDE (service menu)
MimeType=all/allfiles;inode/directory; → Especifica sobre qué tipos de elementos aparece el servicio. En nuestro caso all/allfiles para que sirva para todos los tipos de archivo e inode/directory para que sirva también para directorios, que en este caso sirve para seleccionar los archivos de dentro de los directorios. Alerta que al final de cada opción se debe poner un punto y coma.
Actions=KRenameSelected → Texto que verá el usuario en el menú contextual; es la etiqueta de la acción en español.
Icon=krename → Indicamos qué icono utilizamos del sistema para mostrar el archivo .desktop. Si no lo ponemos utiliza uno por defecto genérico.
X-KDE-Priority=TopLevel → Indica a KDE que muestre la acción directamente en el nivel superior del menú contextual, en lugar de esconderla dentro de un submenú como “Acciones”.
Esta primera parte define cómo aparece el Service Menu en el menú contextual, ahora vamos a definir la acción que vamos a realizar.
[Desktop Action KRenameSelected] → Comienza la definición de la acción llamada KRenameSelected, cuyo nombre coincide con el listado en Actions
Name=Renombrar con KRename → Indica el nombre de la accioón que aparece en el menú contextual.
Icon=krename → Vuelve a especificar el icono a usar en el Service Menu.
Exec=krename %F → Este es el comando que realmente ejecuta: la aplicación krename se pondrá en funcionamiento con todos los archivos seleccionados (%F). Consulta esta página para más información: https://specifications.freedesktop.org/desktop-entry/latest/exec-variables.html
Con esto ya lo tenemos. Espero que os sea de utilidad. A mi, personalmente, me ha abierto un mundo de posibilidades.


