Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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