Mi-Lanzador

Icono de Mi Lanzador

Mi Lanzador

Creador de accesos directos automatizados para Linux Mint 22.3 (Cinnamon, sesión X11).

Bash 4+ Linux Mint 22.3 Cinnamon Licencia GPLv3

Es una interfaz gráfica para armar “acciones”: secuencias de pasos que abren programas, documentos, páginas web o comandos, colocan ventanas, simulan clics y pulsan teclas, encadenados y en orden — como una macro de AutoHotkey, pero con xdotool/wmctrl por debajo. Cualquier acción se convierte en un acceso directo de un clic (Escritorio y/o menú de aplicaciones) que ejecuta todos sus pasos sin abrir la ventana de la app.

En la práctica, cualquier rutina que hoy hagas a mano —abrir tus apps de trabajo y colocarlas en su sitio, dejar todo listo para grabar, rellenar el mismo formulario de siempre— se queda guardada como un solo icono que la repite exactamente igual, todas las veces.

Todo — interfaz y lógica — vive en un único archivo .sh; tus datos (acciones, ajustes, iconos) se guardan aparte, en tu carpeta de configuración (ver «Dónde guarda las cosas» más abajo).

Vista previa

Demo

https://github.com/user-attachments/assets/8e310451-187f-46ca-92ac-e612d38a0f05

1menu-milanzador 2nueva-accion-milanzador 3ajustes-milanzador 4añadir-paso-milanzador

Qué hace cada tipo de paso

Ejemplos de acciones que puedes armar

Los pasos se encadenan libremente dentro de una misma acción, así que el límite real lo pone tu imaginación. Algunos ejemplos para que veas el alcance:

Y como cada acción guardada tiene su propio icono, la siguiente vez ni siquiera hace falta abrir Mi Lanzador: con un doble clic en el Escritorio (o el atajo de teclado que le asignes — ver «Ejecutar una acción sin abrir la ventana» más abajo) ya está todo en marcha.

Otras funciones

Al crear un acceso directo eliges Escritorio, menú de aplicaciones, o ambos. Si al hacer doble clic Cinnamon te pide “confiar” o “permitir ejecución” la primera vez, es normal — acéptalo una vez y no se vuelve a preguntar.

Requisitos

El script detecta si faltan las dos últimas (GTK3 y xdotool/wmctrl) y se ofrece a instalarlas con pkexec, pidiendo confirmación explícita antes de tocar nada. Si dices que no, o no hay pkexec disponible, te deja el comando exacto para hacerlo tú mismo. Para xdotool/wmctrl puedes además reintentarlo cuando quieras desde Ajustes → «Instalar ahora»; GTK3 no tiene ese botón — sin él la interfaz no llega a abrirse, así que tampoco hay Ajustes al que entrar — basta con volver a ejecutar el script una vez lo hayas instalado a mano. Python 3 es el único requisito que el script no ofrece instalar por ti: si llegara a faltar (no debería, en una instalación normal de Mint), directamente te muestra el comando.

Compatibilidad con otras distribuciones

Mi Lanzador se desarrolla y se prueba sobre Linux Mint 22.3 (Cinnamon, X11), y es la única combinación totalmente soportada. Dicho esto, el script no impone ningún candado por distribución: no comprueba en ningún punto qué sistema es, así que en cualquier sesión Linux/X11 con GTK3 debería comportarse igual. De hecho, varias partes ya son genéricas por diseño — detecta terminales instaladas (gnome-terminal, mate-terminal, xfce4-terminal, tilix, terminator, konsole, xterm…), navegadores (Firefox/Chrome/Chromium/Brave, con sus variantes de nombre de paquete), y coloca ventanas usando propiedades EWMH estándar que implementan la mayoría de gestores de ventanas X11 (Xfwm4 de XFCE, Marco de MATE, KWin en X11, Mutter en Xorg…), aunque solo se ha ajustado y probado a fondo contra Muffin, el de Cinnamon.

La única pieza realmente atada a Mint/Ubuntu/Debian es la instalación automática de dependencias, que usa apt. En una distribución con otro gestor de paquetes esa instalación automática no va a funcionar, pero si instalas tú mismo los paquetes equivalentes antes de lanzarlo, el resto de la aplicación debería arrancar sin más:

Distro Gestor Paquetes aproximados
Fedora / RHEL dnf python3-gobject gtk3 python3-cairo libnotify xdotool wmctrl
openSUSE zypper python3-gobject typelib-1_0-Gtk-3_0 typelib-1_0-Notify-0_7 xdotool wmctrl
Arch / Manjaro pacman python-gobject gtk3 python-cairo libnotify xdotool wmctrl

(Nombres orientativos — compruébalos con el buscador de paquetes de tu distro, pueden variar entre versiones.)

Como en Wayland (ver más abajo) la colocación de ventana, el clic y el teclado no funcionan en ningún escritorio, esa limitación aplica igual sin importar la distribución.

Instalación

chmod +x mi-lanzador.sh
./mi-lanzador.sh

Con eso basta. La primera vez:

  1. Se copia a ~/.local/share/mi-lanzador/mi-lanzador.sh — esa pasa a ser la copia “instalada”; el .sh que descargaste ya no hace falta.
  2. Crea su lanzador en el menú de aplicaciones y una copia en tu Escritorio.
  3. Comprueba dependencias y pregunta antes de instalar nada que falte.

Después de eso, ábrelo desde el menú o el icono del Escritorio, como cualquier otra app.

Instalar y lanzar Mi Lanzador con Scriptya (opcional)

Scriptya es un lanzador de scripts: organiza los tuyos en un menú con búsqueda y puede convertir cualquiera de ellos en una app de escritorio con su propio icono, sin escribir un .desktop a mano. Puedes añadir unos metadatos opcionales desde Scriptya para tenerlo organizado con el nombre, descripción, cambiar su icono, etc.

Dónde guarda las cosas

Qué Dónde
Acciones ~/.config/mi-lanzador/acciones.json
Ajustes ~/.config/mi-lanzador/ajustes.json
Iconos personalizados ~/.config/mi-lanzador/iconos/
Registro de la última ejecución ~/.config/mi-lanzador/ultima_ejecucion.log
Log de errores ~/.config/mi-lanzador/error.log
Script instalado ~/.local/share/mi-lanzador/mi-lanzador.sh

Cualquier error inesperado se registra en el log de errores y además se muestra en un aviso: no falla en silencio, porque normalmente se abre con doble clic, sin terminal donde ver nada. El registro de la última ejecución, en cambio, es la salida de la última acción que has lanzado (avisos incluidos) — útil para ver por qué un paso concreto no hizo lo que esperabas.

Sobre Wayland

Si tu sesión de Cinnamon es Wayland nativo, abrir programas/webs/comandos funciona igual, pero colocar ventanas, hacer clic, enviar teclas y escribir texto no van a funcionar, aunque tengas xdotool y wmctrl instalados — es una limitación de esas herramientas, no del script. Se detecta sola y avisa una vez al día. Para tener todo, elige la sesión “Cinnamon” (X11) en la pantalla de inicio de sesión, no la que dice “Cinnamon (Wayland)”.

Ejecutar una acción sin abrir la ventana

mi-lanzador.sh --ejecutar <id_de_la_accion>

Corre esa acción de principio a fin sin mostrar ninguna ventana. Es lo que usan por dentro los accesos directos .desktop que genera la app, y sirve igual de bien para asignarle un atajo de teclado propio desde Cinnamon.

Por dentro

Un único .sh: la parte de bash hace la auto-instalación, comprueba/instala dependencias y avisa de Wayland; al final hace exec python3 sobre un heredoc con toda la interfaz en PyGObject (GTK3). Sin build, sin paquetes propios que instalar — el archivo es el programa.

Licencia

Consulta el archivo LICENSE de este repositorio.


Hecho por Filonux.