Todos los proyectos

TabLight - Spotlight para Pestañas de Chrome

Si vives con decenas de pestañas abiertas, la barra de pestañas deja de servir - todo se reduce a una fila de favicons idénticos. TabLight reemplaza esa búsqueda manual por una paleta de comandos: pulsa Ctrl/Cmd+Shift+K, empieza a escribir y salta directamente a lo que quieres.

Qué hace en realidad

Es un único campo de búsqueda que abarca todo lo que querrías alcanzar, agrupado en secciones:

  • Pestañas abiertas - cambia al instante a cualquier pestaña de cualquier ventana.
  • Marcadores - se abren en una pestaña nueva, ordenados por la frecuencia con que realmente los usas.
  • Cerradas recientemente - restaura pestañas desde el historial de sesión de Chrome.
  • Accedidas recientemente - tus pestañas más usadas, para ir y venir rápido.
  • Páginas de Chrome - acceso rápido a integradas como Ajustes y el Administrador de contraseñas.

Un segundo atajo, Alt+Q, hace el truco de Alt+Tab para pestañas: cambia a la pestaña activa anterior, para rebotar entre dos pestañas sin tocar el ratón.

La experiencia de búsqueda

La búsqueda es en tiempo real y con debounce (~100ms). Mientras escribes, los resultados se reordenan en vivo, los caracteres coincidentes se resaltan y un autocompletado en línea sugiere la finalización del primer resultado - pulsa Tab para aceptarlo. Todo es teclado primero: las flechas recorren la lista plana de resultados (la selección entra en vista al desplazarse), Enter abre el elemento resaltado y Escape limpia el campo. Cada resultado muestra un favicon, el título, un host + ruta truncados y una etiqueta de tipo.

Cómo se mantiene rápido y actualizado

Un worker en segundo plano mantiene un índice sincronizado a medida que las pestañas se crean, cargan, activan y cierran - omitiendo URLs privilegiadas chrome:// que no puede leer. Un content script extrae la meta descripción y las palabras clave de cada página para que el índice tenga más que el título con que coincidir. Los eventos de marcadores y pestañas actualizan estadísticas de uso (número de accesos, último acceso) que alimentan el ranking.

Todo reside en el cliente con IndexedDB en cuatro stores - pestañas, marcadores, una lista MRU limitada y ajustes - así que nada sale del navegador. El ranking es una pasada propia en vez de una librería: el título exacto puntúa más alto, luego que el título contenga el término, coincidencia de URL y aciertos por término, con una coincidencia difusa carácter a carácter que añade un impulso por alineación parcial. Los resultados se ordenan por puntuación y luego por recencia.

Stack

  • Plataforma: APIs de extensiones de Chrome - service worker en segundo plano, content script, panel lateral, comandos de teclado, APIs de sesiones y marcadores
  • Lenguaje: JavaScript, HTML, CSS
  • Almacenamiento: IndexedDB (cuatro object stores, totalmente local)
  • Búsqueda: algoritmo propio de puntuación por términos + coincidencia difusa con autocompletado en vivo
  • Herramientas: scripts de shell para empaquetar; publicada en la Chrome Web Store