wxWidgets adopta por defecto archivos de configuración XDG

Fuentes: Using XDG-compliant Config Files
Imagen generada por IA con el prompt: Minimalist editorial illustration of a tidy Linux folder hierarchy showing ~/.config directory with config files, a tangled old dot file being reorganized, clean blue and gray tones, flat design
Imagen generada con IA

La especificación XDG Base Directory, presente en Linux desde hace años, define dónde deben ubicarse los archivos de configuración de las aplicaciones. Sin embargo, wxWidgets, un kit de herramientas para interfaces gráficas con más de tres décadas de historia, mantenía la convención anterior de los ficheros "dot" en el directorio personal del usuario, como ~/.myapp.

Hasta ahora, wxWidgets ofrecía la función wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG) para que las aplicaciones nuevas guardasen sus archivos en ~/.config, respetando así el estándar. El problema era que los desarrolladores debían conocer este mecanismo y que las aplicaciones ya existentes no podían migrar fácilmente sus ficheros al nuevo esquema.

La versión 3.3.0 de wxWidgets introduce dos cambios que resuelven la situación. En primer lugar, wxFileConfig crea por defecto los nuevos archivos en ~/.config si no existe un fichero previo en el directorio personal, lo que es retrocompatible: las instalaciones ya existentes siguen usando su dot file original, mientras que los sistemas nuevos generan la configuración en la ubicación correcta.

En segundo lugar, la nueva función wxFileConfig::MigrateLocalFile() permite migrar los archivos de configuración antiguos al esquema XDG con una sola llamada. Invocada durante el inicio de la aplicación con el flag wxCONFIG_USE_XDG, mueve ~/.myapp a ~/.config/myapp/myapp.conf si existe, y devuelve el resultado para su comprobación. Si la migración tiene éxito, wxFileConfig utiliza automáticamente la nueva ubicación.

Para quienes prefieran conservar el comportamiento clásico, wxWidgets incorpora el flag wxCONFIG_USE_HOME, que fuerza el uso del directorio personal. Con estas modificaciones, el proyecto espera que las aplicaciones wx dejen de llenar la carpeta de inicio con archivos de configuración en 2024.