Solucion-al-tema-oscuro-en-elementary-OS-Hera

Parece ser que se ha liberado en elementary OS Hera, una mejora destinada a la próxima versión de este sistema. Como consecuencia de la misma no es posible cambiar o habilitar, completamente la variante oscura de los temas que tengamos disponibles.

A pesar de que tengamos habilitada la correspondiente opción desde elementary Tweaks.

elementary-tweak

La solución para que esto nos vuelva a funcionar, viene de la mano de Daniel Foré desde el forum de elementary. En la que nos propone actualizarnos algunos servicios, en concreto los disponibles en el archivo io.elementary.pantheon.AccountsService.xml, que son manejados a través de D-Bus.

Nos ponemos entonces manos a la obra, dicho archivo esta disponible en la carpeta /usr/share/dbus-1/interfaces/ el cual procedemos a su edición, con permisos de administrador para ello utilizaremos el comando sudo.

Accounts-Service

Buscamos en el mismo la propiedad llamada TimeFormat(como se muestra en la captura anterior), tras el termino de la definición de la propiedad anterior, insertamos el siguiente código,

<!--
   PrefersColorScheme:
   What color scheme the user prefers for the UI.
   Valid preferences: 0 = No Preference, 1 = Prefer Dark, 2 = Prefer Light.
   Unrecognized preferences should be considered equal to No Preference.
-->
<property name="PrefersColorScheme" type="i" access="readwrite">
  <annotation name="org.freedesktop.Accounts.DefaultValue" value="1"/>
</property>

Donde con value=1 estamos diciendo de usar la variante oscura(Prefer Dark), y si introducimos value=2, deseamos utilizar la variante clara(Prefer Light).

Tras esto, podemos ya salvar el archivo, y reiniciar el sistema. Una vez de nuevo operativo, el sistema reconocerá automáticamente la nueva propiedad y por lo tanto, deberá surtir los correspondientes efectos y deberá visualizar correctamente el tema actual.

Si bien, esto no es demasiado productivo que cada vez que deseamos cambiar la variante del tema, tengamos que editar dicho archivo, cambiar el correspondiente valor en value y volver reiniciar el sistema.

Algo podemos hacer respecto a esto, ya que D-Bus, tiene algunos comandos. En concreto no puede valer el comando dbus-send el cual podemos utilizar tanto cambiar dicho valor,  además de esperar a continuación de que surta el correspondiente cambio.

Quedaría por tanto, el comando y parámetros a lanzar desde el terminal, para la variante oscura,

$ dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User`id -u` org.freedesktop.DBus.Properties.Set string:io.elementary.pantheon.AccountsService string:PrefersColorScheme variant:int32:1

y para la variante clara,

$ dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User`id -u` org.freedesktop.DBus.Properties.Set string:io.elementary.pantheon.AccountsService string:PrefersColorScheme variant:int32:2

Recordar también que a pesar de esto, algunas aplicaciones continúan necesitando para que se refresquen adecuadamente, que las cerremos y volvamos abrir.

Finalmente, si a pesar de lo anterior, todavía te parece algo engorroso utilizar todo esto y si tienes alguna dote de desarrollador, puedes utilizar el proyecto wingpanel-indicator-daynight, que a pesar de seguir utilizando el mismo método para cambiar la variante como elementary Tweaks, pues puedes añadir el comando anterior y de esta manera, en forma de indicador lo tienes mas a mano y te será mucho más fácil cambiar de modo.

wingpanel-indicator-daynight

De cualquier manera ya he hecho estos cambios en el los fuentes y los he subido al blog, para que te los bajes y realices su construcción.

fuentes

Por tanto la instalación de todo quedaría de la siguiente manera.

Primeramente instalaremos algunas herramientas de construcciones y dependencias que requiere ese proyecto,

$ sudo apt install build-essential cmake git meson valac libglib2.0-dev libgranite-dev libgtk-3-dev libwingpanel-2.0-dev libxml2-dev

ahora bajamos y construimos los fuentes del proyecto,

$ cd
$ cd Documentos/
$ git clone https://github.com/maze-n/wingpanel-indicator-daynight.git wingpanel-indicator-daynight
$ cd wingpanel-indicator-daynight/src

aquí bajamos el fuente modificado, desde el blog. Construimos e instalamos.

$ wget -c http://entornosgnulinux.com/wp-content/uploads/2020/06/Indicator.vala_.tar.gz -O - | tar -xz
$ cd ..
$ meson build --prefix=/usr && cd build
$ ninja
$ sudo ninja install

Si al final ya no lo necesitamos, para su desinstalación, sería como a continuación,

$ cd
$ cd Documentos/wingpanel-indicator-daynight/build
$ sudo ninja uninstall

Pues eso es todo.

 

Fuente: ubunlog

 

Protege-3-

¿Quién está en línea?

Hay 19331 invitados y ningún miembro en línea