#1 Le 07/08/2022, à 23:30
- Vivi936
[RESOLU][BASH] if ... else ...
J'ai créé 2 racourcis clavier
win+T pour switcher vers un colors scheme 'prefer-dark'
et win+shift+T pour switcher vers un colors scheme 'prefer-light'
win+T fais ceci :
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
win+shift+T fais cela :
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
J'aimerais faire les rassembler en un seul raccourci pour faire un toggle/switch entre le dark et le light.
J'ai pensé à faire un if ... else ...
donc j'ai pensé faire un truc du genre :
if [[ gsettings get org.gnome.desktop.interface color-scheme -eq 'prefer-light' ]]
then
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
else
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
fi
Mais j'ai du mal à mettre la bonne condition dans le if.
Il y a une extension gnome qui permet de le faire mais j'ai l'impression qu'installer une extension juste pour faire ça c'est un peu overkill
Dernière modification par Vivi936 (Le 08/08/2022, à 09:43)
Hors ligne
#2 Le 07/08/2022, à 23:35
- Watael
Re : [RESOLU][BASH] if ... else ...
salut,
if test "$(gsettings get org.gnome.desktop.interface color-scheme)" = 'prefer-light'
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 08/08/2022, à 00:17
- Vivi936
Re : [RESOLU][BASH] if ... else ...
[vira@vira-TM1701:~] gsettings get org.gnome.desktop.interface color-scheme
'prefer-light'
[vira@vira-TM1701:~] if test "$(gsettings get org.gnome.desktop.interface color-scheme)" = 'prefer-light'
then
echo 'light'
else
echo 'dark'
fi
dark
J'ai essayé, mais il me fait rentrer dans le else quoi qu'il arrive. Et j'ai aussi essayé ça :
[vira@vira-TM1701:~] gsettings get org.gnome.desktop.interface color-scheme
'prefer-dark'
[vira@vira-TM1701:~] if test "$(gsettings get org.gnome.desktop.interface color-scheme)"='prefer-light' (sans les espaces à coté du 'egal' )
then
echo 'light'
else
echo 'dark'
fi
light
mais il me fait jamais rentrer dans le else
Dernière modification par Vivi936 (Le 08/08/2022, à 00:18)
Hors ligne
#4 Le 08/08/2022, à 03:24
- Watael
Re : [RESOLU][BASH] if ... else ...
d'accord. les apostrophes font parties de la sortie de la commande, donc :
if test "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-light'"
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 08/08/2022, à 09:42
- Vivi936
Re : [RESOLU][BASH] if ... else ...
Merci !
J'ai du créé une commande,
/usr/local/bin/switch-theme :
if test "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-light'"
then
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
else
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
fi
et ça marche
Hors ligne