Executa um comando quando o tema é alterado

2

O comando que eu quero que o sistema rode quando o usuário mudar o tema atual é

wallch --changetheme

Como posso conseguir isso?

    
por Leon Vitanos 03.01.2013 / 12:36

2 respostas

0

Use dconf watch para monitorar alterações no caminho de configuração com o qual você está interessado

#!/bin/bash

while read -r line; do
    [[ -n $line ]] || echo "Change in theme setting detected"
done < <(dconf watch /org/gnome/desktop/interface/gtk-theme)

[[ -n $line ]] está lá como solução alternativa porque dconf watch dispara 3 linhas em sua saída toda vez que uma alteração é detectada

    
por Flint 05.12.2014 / 21:12
0

Legal pergunta!

Não há uma maneira fácil que eu saiba. No entanto, você pode configurar um script executando este comando:

gsettings get org.gnome.desktop.interface gtk-theme

retornará o tema atual:

'Adwaita'

(Eu estou no GNOME).

Então, esse é o script:

#! /bin/bash

pretheme="$(gsettings get org.gnome.desktop.interface gtk-theme)"

while :
do
    ctheme="$(gsettings get org.gnome.desktop.interface gtk-theme)"
    if [ "$ctheme" = "$pretheme" ]
    then
      echo "nochange"
    else
      wallch --changetheme
    fi
    pretheme="$(gsettings get org.gnome.desktop.interface gtk-theme)"
    sleep 10        
done
    
por Tim 05.12.2014 / 20:10