‹ Pantalla de inicioDesarrollo

Desarrollar LineXinBar: documentación, código fuente, traducciones

Documentación

La referencia completa para usuarios y desarrolladores vive junto al código, en docs/. Todas las guías:

Cómo está hecho

Dos programas, ambos en Rust: lxb, un pequeño compositor Wayland construido sobre Smithay, y lxb-desktop, el shell, dibujado en la GPU con wgpu.

  • El compositor maneja las pantallas él mismo a través de DRM/KMS —cada conector, una salida real con su propia swapchain y su propio bucle marcado por el vblank— o funciona anidado en una ventana para el desarrollo. Ejecuta los programas X11 a través de un Xwayland privado.
  • El shell es un cliente layer-shell, así que también funciona sobre otros compositores que implementen layer-shell. Habla con el compositor mediante un protocolo privado, lxb_shell_v1, que solo pueden usar los programas propios de la sesión.
  • El aspecto se calcula, no se pinta. El fondo es una única función analítica del punto al que se mira, evaluada en cada píxel; cada marca es una silueta blanca medida en un campo de distancias y levantada como una gota de agua por el shader. Este sitio web ejecuta adaptaciones de esos mismos dos shaders.
  • A su alrededor: lxb-portal para compartir pantalla, los diálogos de archivos y el resto del portal de escritorio; lxb-updates, el coordinador de actualizaciones; y los asistentes opcionales para RetroArch, Heroic y RPCS3.

Traducciones

Cada palabra que muestra el shell sale de un catálogo Fluent, en diez idiomas: alemán, inglés británico y estadounidense, español, francés, hindi, polaco, portugués de Brasil, ruso y chino simplificado.

Los catálogos son archivos de texto sencillos en crates/lxb-desktop/locales/. Corregir una traducción es editar una línea; un idioma nuevo es un catálogo nuevo, y las pruebas comprueban que todos los catálogos llevan los mismos mensajes con los mismos argumentos. La pantalla de inicio de sesión y las aplicaciones hermanas tienen sus propios catálogos con la misma forma.

Informar de un error

Abra una incidencia en GitHub e incluya las cuatro cosas que hacen que un problema se pueda reproducir:

  • su distribución y su versión;
  • su tarjeta gráfica y su controlador;
  • cómo inició LineXinBar: desde la pantalla de inicio de sesión, con lxb --shell en una consola o anidado;
  • los registros del momento en que algo salió mal: journalctl --user -b para una sesión, o la salida del terminal de una ejecución anidada.

Un problema con un mando es más fácil de seguir con la marca y el modelo del mando, y sabiendo si está conectado por cable o por Bluetooth.

Colaborar

Los informes de errores, las pruebas de hardware, las traducciones y el código son bienvenidos.

  • Las pruebas de hardware son lo que más importa ahora: otros fabricantes de gráficos, portátiles de juego, varias GPU, pantallas y mandos poco habituales.
  • Traducciones: corrija lo que suene mal en su idioma, o añada uno.
  • Código: la compilación es cargo build --release --locked, las pruebas son cargo test, y la sesión anidada es la forma de ver un cambio funcionando.

Licencia

LineXinBar es software libre, con licencia GNU General Public License, solo la versión 3.

Las fuentes Roboto y Roboto Mono incluidas tienen sus propias licencias libres, igual que las fuentes Noto que el shell lleva para el hindi y el chino y el tema de cursor Bibata. Este sitio web forma parte del repositorio y tiene la misma licencia.