top of page
Fondo degradado
Buscar

TitalcruiseOS: integración del panel «Escritorio de TitalcruiseOS» en GNOME Control Center

hace 17 horas
5 min de lectura

Tipo de documento: Documentación técnica de desarrollo

Proyecto: TitalcruiseOS

Componente: GNOME Control Center

Estado: Implementado y funcional

Versión del entorno registrada: GNOME Shell 50.5 / GNOME Control Center 51.1

Directorio de trabajo: ~/Descargas/gnome-control-center-debian-latest


1. Objetivo

Integrar una sección de configuración propia llamada «Escritorio de TitalcruiseOS» directamente en la barra lateral de GNOME Configuración.

El propósito es centralizar las opciones relacionadas con la apariencia y el comportamiento de Dash to Panel sin depender exclusivamente de herramientas externas o de la aplicación independiente de configuración de extensiones.

El resultado es un panel nativo dentro de GNOME Control Center, desarrollado en C y Blueprint, que utiliza GSettings para modificar las preferencias de Dash to Panel.


2. Arquitectura de la implementación

La integración está compuesta por cuatro partes principales:

  1. Interfaz gráfica: construida con GTK y libadwaita mediante Blueprint.

  2. Lógica del panel: implementada en C, encargada de leer y modificar los ajustes.

  3. Registro en GNOME Control Center: permite que el panel aparezca en la navegación lateral y pueda abrirse mediante su identificador.

  4. Configuración de Dash to Panel: utiliza GSettings y los valores predeterminados de la extensión para controlar la barra de tareas.


Tecnologías utilizadas

  • C

  • GTK

  • libadwaita

  • Blueprint

  • Meson y Ninja

  • GSettings y dconf

  • GNOME Control Center

  • Extensión Dash to Panel


3. Archivos principales

La implementación del panel se encuentra en:

panels/titalcruise-desktop/

Archivo

Función

cc-titalcruise-desktop-panel.c

Lógica, lectura y modificación de ajustes

cc-titalcruise-desktop-panel.h

Declaración de la clase del panel

cc-titalcruise-desktop-panel.blp

Diseño de la interfaz gráfica

gnome-titalcruise-desktop-panel.desktop.in

Metadatos del panel

meson.build

Integración del componente en el sistema de compilación

También se modificó el registro de paneles de GNOME Control Center en shell/cc-panel-loader.c.

El archivo de metadatos generado e instalado es:

/usr/local/share/applications/gnome-titalcruise-desktop-panel.desktop

El identificador utilizado para abrir el panel es:

titalcruise-desktop


4. Diseño de la interfaz

La interfaz utiliza Adw.ToolbarView, Adw.HeaderBar y Adw.PreferencesPage.

La página tiene como título «Escritorio de TitalcruiseOS» y utiliza el icono simbólico video-display-symbolic.

La integración busca mantener la apariencia de los paneles habituales de GNOME Configuración, respetando su estructura de navegación y sus componentes visuales.


5. Funcionalidades implementadas

El panel incorpora controles para gestionar distintas opciones de Dash to Panel, entre ellas:

  • Posición de la barra de tareas.

  • Tamaño de la barra.

  • Configuración para varios monitores.

  • Color de fondo personalizado.

  • Opacidad del fondo.

  • Longitud dinámica de la barra.

  • Centrado de los elementos de la barra de tareas.

La posición, el tamaño y el color personalizado se probaron durante el desarrollo. También se corrigió el comportamiento inicial de los interruptores de longitud dinámica y centrado.


Nota técnica: la opacidad personalizada debe considerarse pendiente de validación funcional independiente hasta completar una prueba específica.

6. Corrección de los interruptores

Durante las pruebas se detectó que algunos interruptores podían mostrar un estado distinto del comportamiento predeterminado esperado.

Se corrigió la lógica en cc-titalcruise-desktop-panel.c para que la interfaz interprete correctamente los ajustes de Dash to Panel.

Las funciones principales implicadas son:

  • set_all_monitor_lengths_dynamic()

  • set_taskbar_centered()

  • get_all_taskbars_centered()

La lógica contempla los valores predeterminados cuando todavía no existen preferencias guardadas y actualiza los ajustes cuando el usuario activa o desactiva las opciones.

La compilación y las pruebas posteriores confirmaron que los interruptores funcionan correctamente.


7. Valores predeterminados de Dash to Panel

Además del panel de configuración, se ajustó la extensión instalada en:

/usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/


Longitud dinámica


En panelSettings.js, el valor de reserva utilizado cuando no existe una longitud específica se modificó de 100 a -1.

El objetivo es que la barra utilice la longitud dinámica como comportamiento predeterminado.


Centrado de la barra de tareas


En panelPositions.js, la posición predeterminada del grupo de aplicaciones se modificó para utilizar CENTERED_MONITOR, cuyo valor es centerMonitor.


Configuración global mediante dconf


Se configuraron valores predeterminados del sistema en:

/etc/dconf/db/local.d/00-titalcruise-gnome

Entre ellos se encuentran la posición inferior de la barra, el tamaño de 48, la longitud dinámica predeterminada, la opacidad configurada y otros ajustes de apariencia.

El perfil de dconf utiliza:

user-db:user
system-db:local

Después de modificar los valores predeterminados, se ejecuta:

sudo dconf update

Estos valores son predeterminados del sistema. No equivalen a políticas obligatorias y las preferencias personales pueden prevalecer sobre ellos.


8. Compilación del proyecto

El directorio de trabajo es:

cd ~/Descargas/gnome-control-center-debian-latest

Para compilar los cambios:

ninja -C build

El proceso debe finalizar correctamente antes de instalar o probar la versión recién compilada.

Para iniciar directamente la versión de desarrollo:

pkill -x gnome-control-center 2>/dev/null || true
./build/shell/gnome-control-center

Este comando permite comprobar el panel desde el ejecutable construido en el directorio build.


9. Instalación global

La instalación de los archivos compilados se realiza mediante:

sudo meson install -C build

El prefijo configurado para esta compilación es /usr/local.

El ejecutable instalado se encuentra en:

/usr/local/bin/gnome-control-center

Los metadatos globales del panel se encuentran en:

/usr/local/share/applications/gnome-titalcruise-desktop-panel.desktop

Durante la integración también se ajustó el servicio D-Bus de GNOME Settings para utilizar el ejecutable instalado:

/usr/local/bin/gnome-control-center --gapplication-service

Se conservó una copia de seguridad del servicio original en:

/usr/share/dbus-1/services/org.gnome.Settings.service.backup


Precaución: no eliminar ni sobrescribir esa copia sin comprobar antes que el servicio instalado funciona correctamente.

10. Verificación de la instalación

Para comprobar que el ejecutable instalado reconoce el panel:

/usr/local/bin/gnome-control-center --list

La lista debe incluir:

titalcruise-desktop

Para verificar los metadatos globales:

grep -E '^(Name|Icon|Exec)=' \
  /usr/local/share/applications/gnome-titalcruise-desktop-panel.desktop

El archivo debe incluir el nombre del panel, el icono video-display-symbolic y el comando de apertura correspondiente.

Para verificar las modificaciones de Dash to Panel:

grep -nE 'return -1|CENTERED_MONITOR' \
  /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelSettings.js \
  /usr/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panelPositions.js

Finalmente, se recomienda abrir GNOME Configuración y comprobar visualmente la sección, los controles y sus efectos sobre la barra de tareas.


11. Resolución del conflicto con el icono

Durante el desarrollo existía una copia de los metadatos en el directorio personal:

~/.local/share/applications/gnome-titalcruise-desktop-panel.desktop

Esa copia contenía un icono diferente y tenía prioridad sobre el archivo global.

Se corrigió el icono y, posteriormente, se deshabilitó la copia local para que GNOME utilizara los metadatos instalados globalmente.

La resolución se verificó mediante la consulta de los metadatos, que identificó como archivo activo:

/usr/local/share/applications/gnome-titalcruise-desktop-panel.desktop

Este caso demuestra la importancia de comprobar si existen archivos de usuario que estén ocultando una instalación global.


12. Respaldos y mantenimiento

Durante el desarrollo se crearon copias de seguridad de los archivos del panel y de Dash to Panel.

Después de verificar la instalación, se eliminaron los respaldos antiguos que ya no eran necesarios.

Se conservaron temporalmente los siguientes archivos:

  • cc-titalcruise-desktop-panel.c.bak-before-switch-fix

  • panelSettings.js.bak-titalcruise-defaults

  • panelPositions.js.bak-titalcruise-defaults

Conviene conservarlos hasta validar el comportamiento de la instalación en nuevas cuentas de usuario y comprobar que los valores predeterminados se aplican correctamente.


13. Consideraciones de compatibilidad

Las modificaciones de GNOME Control Center y Dash to Panel están vinculadas a las versiones de los componentes instalados.

Una actualización puede reemplazar los archivos de la extensión o cambiar las interfaces de programación utilizadas por el panel.

Después de una actualización importante, se recomienda:

  1. Comprobar que el panel continúa apareciendo en GNOME Configuración.

  2. Revisar la compatibilidad del código C y Blueprint.

  3. Comprobar los valores predeterminados de Dash to Panel.

  4. Compilar y ejecutar las pruebas.

  5. Instalar la nueva versión únicamente después de verificar la compilación.

Las modificaciones de archivos del sistema pueden necesitar reaplicarse tras una actualización del paquete correspondiente.


14. Estado final

La integración de «Escritorio de TitalcruiseOS» está implementada y funciona correctamente en el entorno probado.

Se verificó la presencia del identificador titalcruise-desktop en el ejecutable instalado, la utilización de los metadatos globales y el funcionamiento de los controles corregidos.

Quedan como tareas de mantenimiento la validación específica de la opacidad personalizada y la comprobación de los valores predeterminados con una cuenta nueva.


Resultado: GNOME Control Center dispone de una sección de configuración propia de TitalcruiseOS para gestionar opciones de Dash to Panel desde la interfaz nativa del escritorio.

 
 
 

Entradas recientes

Ver todo
Introducimos TitalcruiseOS 5 Essential/BLFS

TitalcruiseOS 5 Essential/BLFS TitalcruiseOS 5 Essential es una distribución GNU/Linux de escritorio basada en Debian 13 "Trixie" y usando el libro de Linux From Scratch (https://linuxfromscratch.org/

 
 
 

Comentarios


Titalcruise E.A 2026

bottom of page