Tinycast: un lanzador nativo y de código abierto para macOS de menos de 100 MB

Tinycast es un lanzador nativo para macOS que combina búsqueda difusa, historial del portapapeles, atajos de teclado, fragmentos, gestión de ventanas y extensiones de Raycast.

Tinycast: un lanzador nativo y de código abierto para macOS de menos de 100 MB

Los lanzadores modernos de macOS se parecen cada vez más a pequeños sistemas operativos: indexan aplicaciones, gestionan ventanas, expanden fragmentos, almacenan el historial del portapapeles y se conectan con servicios externos. Tinycast adopta un enfoque diferente. Su objetivo es ofrecer el mismo tipo de flujo de trabajo como centro de comandos, pero manteniéndose como una aplicación pequeña y totalmente nativa para macOS que utiliza SwiftUI y AppKit en lugar de Electron.

El proyecto se describe como un lanzador, una utilidad de atajos de teclado y un gestor del historial del portapapeles que se mantiene por debajo de 100 MB de RAM. No tiene dependencias de tiempo de ejecución de terceros ni telemetría, y se distribuye bajo la licencia AGPL-3.0.

Por qué Tinycast es interesante

Un lanzador solo resulta útil cuando es más rápido que navegar manualmente por menús, ventanas del Finder y ajustes del sistema. Tinycast coloca esas acciones detrás de un único atajo global y una paleta de comandos con búsqueda. Desde allí, los desarrolladores pueden iniciar aplicaciones, buscar archivos, pegar contenido anterior del portapapeles, ejecutar comandos de shell, gestionar ventanas y realizar acciones del sistema sin abandonar el flujo de trabajo actual.

La implementación nativa importa por algo más que la marca. SwiftUI y AppKit permiten que Tinycast se integre directamente con las API de macOS, incluidas Spotlight, los atajos globales, los servicios de accesibilidad, la gestión de ventanas y el comportamiento de la barra de menús. Evitar Electron también elimina el consumo de memoria y la sobrecarga de empaquetado asociada con incluir un entorno de navegador.

Funciones principales

Lanzador de aplicaciones

Tinycast busca de forma difusa las aplicaciones instaladas y permite fijar las entradas que se usan con frecuencia. El lanzador también puede mostrar las aplicaciones que se están ejecutando, cerrar una aplicación o cerrarlas todas a la vez.

El flujo de trabajo normal es intencionadamente sencillo:

  1. Pulsa el atajo global configurado.
  2. Escribe parte del nombre de una aplicación o comando.
  3. Pulsa Intro para iniciarlo.
  4. Pulsa Esc para cerrar la paleta.

Atajos globales y por aplicación

Un atajo global muestra la paleta desde cualquier lugar de macOS. También puedes asignar atajos globales individuales a aplicaciones o comandos personalizados. En el caso de una aplicación, pulsar su atajo alterna el foco o la oculta, lo que resulta útil para herramientas como terminales, editores y aplicaciones de comunicación.

Los atajos se configuran en Ajustes → Atajos, donde puedes buscar una aplicación o un comando personalizado y registrar su combinación de teclas.

Historial del portapapeles

Tinycast almacena entradas de texto e imágenes del portapapeles que se pueden buscar. Se puede acceder a la interfaz del portapapeles directamente desde la paleta, y un elemento seleccionado se puede pegar de nuevo en la aplicación que estabas utilizando.

La paleta separa las aplicaciones y el contenido del portapapeles en pestañas. Pulsa Tab para cambiar entre ellas, utiliza las teclas de flecha para desplazarte y pulsa Intro para seleccionar un elemento.

Búsqueda de archivos basada en Spotlight

Tinycast busca archivos y carpetas en los directorios que elijas mediante Spotlight, en lugar de mantener un índice de aplicaciones separado. Este diseño evita duplicar el trabajo de indexación de macOS y mantiene la función centrada: encontrar un archivo, abrirlo o ir a su carpeta.

Calculadora y conversiones

Los cálculos integrados admiten aritmética habitual, conversiones de unidades, conversiones de divisas en tiempo real y conversiones de criptomonedas. Como la calculadora está dentro de la paleta de comandos, se puede utilizar sin abrir otra aplicación ni pestaña del navegador.

Enlaces rápidos, fragmentos y comandos personalizados

Los enlaces rápidos convierten URL, búsquedas, archivos o enlaces profundos en comandos reutilizables. Pueden aceptar texto introducido, contenido del portapapeles o la fecha actual mediante marcadores de posición.

Los fragmentos son plantillas Markdown reutilizables compatibles con:

  • Marcadores de posición dinámicos
  • Argumentos
  • Referencias anidadas
  • Expansión opcional mediante palabras clave

Los comandos personalizados ofrecen una interfaz con búsqueda para comandos de shell con nombre. Un comando también puede tener su propio atajo global, lo que convierte a Tinycast en una ligera capa de automatización personal.

Por ejemplo, un comando personalizado podría encapsular una tarea de proyecto:

cd ~/Code/my-project && ./scripts/test.sh

Después, el comando se puede invocar desde la búsqueda difusa en lugar de abrir un terminal y escribir repetidamente la misma secuencia.

Gestión de ventanas sin una utilidad independiente

Tinycast incluye 34 acciones de ventana al estilo de Rectangle. Estas cubren diseños habituales y operaciones de pantalla más avanzadas, entre ellas:

  • Mitades, cuartos y tercios
  • Ajuste de tamaño y desplazamiento de ventanas
  • Mover ventanas entre pantallas
  • Pantalla completa
  • Operaciones con Spaces

Esto convierte al lanzador en un sustituto práctico de varias utilidades pequeñas. Los desarrolladores que trabajan con varios editores, terminales, navegadores y dispositivos de prueba pueden asignar los diseños que usan con frecuencia a comandos o atajos.

Acciones del sistema, notas, reuniones y emojis

Las acciones del sistema integradas cubren tareas como bloquear el Mac, ponerlo en reposo, reiniciarlo, vaciar la Papelera, cambiar la apariencia, controlar Bluetooth, silenciar el audio y mostrar archivos ocultos.

Tinycast también incluye varias funciones orientadas al flujo de trabajo:

  • Calendario y reuniones: muestra la próxima reunión en la paleta vacía y en la barra de menús, con incorporación mediante una tecla u opción de incorporación automática.
  • Notas: ofrece una colección ilimitada de archivos Markdown sin formato en un editor flotante. Las notas se pueden buscar desde la paleta de comandos.
  • Selector de emojis: abre una cuadrícula de emojis con búsqueda mediante una sola pulsación.

Las notas en Markdown sin formato resultan especialmente atractivas para los desarrolladores porque siguen siendo portátiles y fáciles de versionar, respaldar o editar con otra herramienta.

IA opcional y compatibilidad con Raycast

Tinycast incluye chat de IA y acciones rápidas, pero la funcionalidad de IA está desactivada de forma predeterminada. Los usuarios pueden proporcionar su propia clave de API o utilizar una cuenta de IA instalada. Las acciones rápidas pueden corregir la gramática, reescribir, traducir o resumir texto seleccionado en otra aplicación.

El proyecto también permite ejecutar extensiones existentes de Raycast de forma nativa, renderizándolas como SwiftUI. Esto ofrece a los usuarios una vía de migración desde Raycast sin exigir que Tinycast se convierta en un anfitrión de extensiones basado en navegador.

El diseño de la IA es deliberadamente opcional: la función no envía contenido ni credenciales silenciosamente a menos que el usuario la active y configure.

Instalación con Homebrew

Tinycast es compatible con macOS 15 o posterior y Swift 6.0. Empieza por confiar en el tap de Homebrew de terceros y añadirlo:

brew trust --tap abue-ammar/tinycast
brew tap abue-ammar/tinycast

Después, elige el cask correspondiente a tu Mac:

# Apple silicon, macOS 26 o posterior
brew install --cask tinycast

# Intel, macOS 26
brew install --cask tinycast-universal

# macOS 15 Sequoia
brew install --cask tinycast-sequoia

Homebrew comprueba la plataforma y rechaza los paquetes incompatibles. También hay disponible un canal de compilaciones preliminares para Apple silicon con macOS 26 o posterior:

brew install --cask tinycast@beta

La aplicación beta se instala junto a la aplicación estable, con sus propios ajustes y permisos. Homebrew elimina la marca de cuarentena de macOS durante la instalación y las actualizaciones. Si descargas manualmente un DMG, Tinycast está autofirmado, así que elimina una vez el atributo de cuarentena:

xattr -dr com.apple.quarantine "/Applications/Tinycast.app"

Permisos de accesibilidad y privacidad

Se requiere permiso de accesibilidad cuando Tinycast pega o expande texto en otra aplicación. También es el único permiso necesario para expandir palabras clave de fragmentos. macOS solicita acceso cuando una función lo necesita por primera vez; puedes gestionar el ajuste en Ajustes del Sistema → Privacidad y seguridad → Accesibilidad.

Los fragmentos están desactivados de forma predeterminada. La coincidencia de palabras clave se realiza localmente, y las pulsaciones no se almacenan ni se envían a ningún sitio. En términos más generales, el proyecto afirma que no tiene telemetría ni dependencias de terceros.

Compilación y contribución

El repositorio está escrito principalmente en Swift, con un uso declarado de lenguajes del 90,9 % de Swift, 5,8 % de JavaScript, 2 % de TypeScript y 1,3 % de otros lenguajes. Incluye un proyecto de Xcode, pruebas, scripts, documentación, fuentes del sitio web y configuración de CI.

Los desarrolladores que compilen desde el código fuente deben consultar docs/development.md para conocer la cadena de herramientas y los flujos de compilación, empaquetado, publicación y mantenimiento del sitio web. El directorio docs/ también incluye índices de la documentación de arquitectura, los estándares de ingeniería, el sistema de diseño y los documentos específicos de cada función.

Las reglas de contribución son intencionadamente estrictas. Los colaboradores deben abrir una incidencia antes de escribir código, y la incidencia debe aprobarse antes de aceptar una solicitud de cambios. Las solicitudes de cambios que no cierren una incidencia aprobada pueden cerrarse automáticamente. Los cambios que solo afectan a la documentación son la excepción.

El proyecto también pide a los colaboradores que lean CONTRIBUTING.md, donde se documentan el presupuesto de memoria requerido para las solicitudes de cambios, el requisito de vídeo del antes y el después para los cambios visuales y los motivos por los que ciertas funciones pueden rechazarse. Los problemas de seguridad deben notificarse mediante SECURITY.md, no en el sistema de incidencias.

Licencia y estado del proyecto

Tinycast es gratuito y está pensado para seguir siéndolo. Se distribuye bajo la licencia AGPL-3.0 y ofrece soporte mediante una opción de propina única, ya que GitHub Sponsors no está disponible en el país del autor. Los pagos se gestionan a través de Polar.sh.

El repositorio muestra más de 3.100 estrellas, 185 forks, 41 colaboradores, 92 versiones y la versión 0.10.23 como la última versión indicada en la página del proyecto. Estas cifras reflejan un proyecto de código abierto activo, no una pequeña prueba de concepto.

Para los desarrolladores que quieren una paleta de comandos rápida sin Electron, telemetría ni una colección de utilidades independientes, Tinycast es una alternativa nativa para macOS muy convincente. Su principal atractivo no es ninguna función concreta, sino la forma en que el lanzador, los atajos, el portapapeles, los fragmentos, las acciones de ventana, las notas y las integraciones opcionales encajan en un único flujo de trabajo ligero.

Fuente

abue-ammar/tinycast: Tinycast — un lanzador diminuto y totalmente nativo para macOS, con atajos e historial del portapapeles.