Questions sur l'installation et la configuration de Manjaro Linux.
Répondre

Comment modifier un thème ZSH ?

#1Messageil y a 3 mois

Bonjour à tous.
Je viens de faire la bascule de BASH vers ZSH.
J'en suis très content, j'ai choisi un thème qui me plaît « Fade » sauf que :
L'heure indiquée est inscrite en format 12h.
Là, il m'indique : jeu. avril 21 12:51:00 alors qu'en format 24h, il est 00h51.
Est-il possible de modifier le thème ou de lui donner une option pour passer en format 24h ?
J'ai fait une recherche et sur les captures d'écran du thème, sur les images, parfois il est indiqué l'heure sans rien, ou avec un « P » ou « PM ».
Quelqu'un peut-il m'aider ?
Merci.
Ignace.

Comment modifier un thème ZSH ?

#2Messageil y a 3 mois

Bonjour,

Le mieux serait de faire ton thème toi-même (quitte à t’inspirer de fade) pour définir le PS1, et surtout de comprendre les différentes variables disponibles.

Pour la date et l’heure cela se présente sous la forme “%D %*” (date et heure au format local).
Pour formater la date, celle de fade doit ressembler à quelque chose comme “%D{%I:%M:%S%P}” (ce qui est entre accolades indique le format : I pour les heures sur 12h, M pour les minutes (avec éventuellement un 0 devant si < 10), S pour les secondes, et P pour l’indication AM/PM).
Pour les heures au format 24h, c’est “%H” qu’il faut utiliser.

Comment modifier un thème ZSH ?

#3Messageil y a 3 mois

Pour connaître tous les formats disponibles, il peut être aussi utile de consulter le man de date (qui est utilisé par zsh).

Comment modifier un thème ZSH ?

#4Messageil y a 3 mois

Bonjour, cellix.
Merci pour les infos.
Je m'y suis pris à l'envers :
Après avoir fait une sauvegarde, j'ai modifié le fichier prompt_fade_setup.
Ça donne ça :
Image
Ça me laisse le temps d'apprendre à faire un thème.
Ignace.

Comment modifier un thème ZSH ?

#5Messageil y a 3 mois

Salut,
ignace72 a écrit : il y a 3 mois Ça me laisse le temps d'apprendre à faire un thème.
En général, les thèmes de prompt que tu trouveras sur le net n'utilisent même pas le système par défaut (promptinit+fichier setup), mais la syntaxe utilisée reste la même.
Je fais aussi mes thèmes, pas très complexes, mais qui suffisent à mes besoins :
Image

Comment modifier un thème ZSH ?

#6Messageil y a 3 mois

Elles sont sympas les icônes. Tirées de quelle police ?

Comment modifier un thème ZSH ?

#7Messageil y a 3 mois

bonjour,
j'ai regroupé ce message sur 3 sujets ouverts
ignace72 a écrit : il y a 3 mois En fait, plus je lis sur zsh et plus ce shell m'intéresse, il paraît extrêmement puissant, notamment l'autocomplétion.
Existe aussi fish, toutes les fonctionnalités que peut avoir zsh avec une grosse config mais lui, tout par défaut (mais compatibilité avec bash moyenne !)
ignace72 a écrit : il y a 3 mois Quand vous installez le shell Unix ZSH, il tient compte des caractères génériques pour chercher une correspondance
Attention, ici tu parles de ton installation !
- Existe des frameworks pour zsh comme oh-my-zsh ou prezto
- Manjaro fournit un paquet manjaro-zsh-config et parfois, avec certaines iso, c'est même la configuration par défaut.
Toi, tu fais une install façon archlinux KISS, dans notre .zshrc. On a généralement légion de paramètres donc il me semble inutile de créer un sujet dans "astuces" pour un seul paramètre.

--------

Thème:
manjaro a choisi d'utiliser une application pour définir le prompt, ces applications sont parfois compatibles avec les 3 shells (bash, zsh et fish)
manjaro a fait le choix de powerlevel
perso, j'utilise plutôt powerline-go (compatible pour mes 3 shells)
Existe un bon choix, dont starship qui est compatible avec de nombreux shells ...

Intérêt ? c'est que ce programme est compilé (parfois fonctionne en // pour chaque segment) donc est beaucoup plus rapide qu'un plugin écrit en bash et souvent avec une configuration plus avancée que ce que l'on a avec notre shell. Attention : surtout plus rapide si on a des choses avancées dans notre prompt "zsh/bash" pur (git, python env, ...)

Comment modifier un thème ZSH ?

#8Messageil y a 3 mois

Bonsoir, papajoke.
Ben oui, je parle de mon installation, car c'est l'installation et la configuration par défaut par la commande sudo pacman -Syu zsh.
On a besoin de rien d'autre pour utiliser pleinement ZSH.
Donc sans manjaro-zsh-config car si on l’installe, Powerlevel10k paquet ArcLinux est installé aussi.
Donc on est loin d'une configuration par défaut avec manjaro-zsh-config.

Maintenant, si tu penses que le fil sur l'astuce sur ZSH est inutile, tu peux le supprimer.

Certainement, Manjaro a fait le choix de Powerlevel10k en utilisant le paquet ArchLinux du dépôt officiel.
Voilà ce que dit l'auteur de ton lien :
Il existe également zsh-theme-powerlevel10k. Historiquement, il s'est cassé souvent et pendant de longues périodes . Ne l'utilise pas.
.
Il donne même le lien vers un fil de discutions ou tout le monde s'échappe pour dire que c'est le paquet du dépôt officiel ou le paquet Git AUR que c'est lui le meilleur.
Ça ne fait pas envie.

Merci, Smurf pour l'info.

Ignace.
Dernière modification par ignace72il y a 3 mois, modifié au total 4 fois.

Comment modifier un thème ZSH ?

#9Messageil y a 3 mois

cellix a écrit : il y a 3 mois Elles sont sympas les icônes. Tirées de quelle police ?
Ce n'est pas une police patchée, mais un pack d'icônes installé sur mon système comme dépendance de ls-icons.

https://github.com/sebastiencs/icons-in-terminal

Image

papajoke a écrit : il y a 3 mois Intérêt ? c'est que ce programme est compilé (parfois fonctionne en // pour chaque segment) donc est beaucoup plus rapide qu'un plugin écrit en bash et souvent avec une configuration plus avancée que ce que l'on a avec notre shell. Attention : surtout plus rapide si on a des choses avancées dans notre prompt "zsh/bash" pur (git, python env, ...)
Il n'y a aucun intérêt d'utiliser ces "usines à gaz" à moins d'être développeur, je parle aussi des environnements type Oh-My-Zsh ou Prezto, je ne suis pas dev, j'ai un prompt de 5 lignes qui ne gère pas git ou les versions de langage, et un gestionnaire de plugins de 35 lignes. Je n'ai pas non plus installé le paquet zsh pour Manjaro à cause de son prompt justement, et je me suis servi de l'outil interne pour la config de base.

Comment modifier un thème ZSH ?

#10Messageil y a 3 mois

Je suis bien d'accord avec toi, Smurf.
Ignace.

Comment modifier un thème ZSH ?

#11Messageil y a 3 mois

Smurf a écrit : il y a 3 mois
papajoke a écrit : il y a 3 mois Attention : surtout plus rapide si on a des choses avancées dans notre prompt
Il n'y a aucun intérêt d'utiliser ces "usines à gaz" à moins d'être développeur
Nous sommes donc tous d'accord :gsourire:
Pas sûr que cela soit réservé aux développeurs, certains veulent avoir
- le nombre de fichiers dans le répertoire courant
- la taille restante sur la partition courante
- durée de la commande
- niveau de la batterie du pc
- emails en attente :roll:
...

En fait, tant que l'on ne retourne que des variables d'environnement, oui la vitesse est clairement du côté "prompt pur", si on utilise des process externe, la tendance s'inverse vite (oui, les principaux plugins/sections sont pour dev/administrateurs)
ps: perso, avec fish, j'ai pas besoin (déjà une usine à gaz)

Comment modifier un thème ZSH ?

#12Messageil y a 3 mois

Comment modifier un thème ZSH ?

#13Messageil y a 3 mois

Fish est en effet excellent. C’est ce que j’utilisais jusqu’assez récemment, jusqu’à ce que je passe à Elvish.

Comment modifier un thème ZSH ?

#14Messageil y a 3 mois

papajoke a écrit : il y a 3 mois Pas sûr que cela soit réservé aux développeurs, certains veulent avoir
- le nombre de fichiers dans le répertoire courant
- la taille restante sur la partition courante
- emails en attente :roll:
Tu as des liens, ça m'intéresserait de savoir comment c'est fait.
En fait, tant que l'on ne retourne que des variables d'environnement, oui la vitesse est clairement du côté "prompt pur", si on utilise des process externe, la tendance s'inverse vite (oui, les principaux plugins/sections sont pour dev/administrateurs)
ps: perso, avec fish, j'ai pas besoin (déjà une usine à gaz)
Je ne remet pas en cause la complexité et l'optimisation de ces environnements pour rester rapide/réactif, je considère qu'avoir à installer un truc avec une grande quantité de fonctionnalités pour en utiliser quelques unes seulement est anormal.

Comment modifier un thème ZSH ?

#15Messageil y a 3 mois

Smurf a écrit : il y a 3 mois Tu as des liens, ça m'intéresserait de savoir comment c'est fait.
pas de liens particulier, mais c'est en fait simple, il suffit de créer une fonction (bash,zsh) puis d'insérer l'appel dans notre la variable PS1="xxx/yy/\$(mafonction)/xxxxxxxx $"
ps: bien sûr cette fonction dans notre .bashrc peut appeler tout programme externe

quelques exemples que j'ai écrit dans .bashrc ou .zshrc

prompt_get_nb_files() {  # nombre de fichiers dans rep courant
    nb=$(ls -AGU --width=1 | wc -l)
    ((nb>0)) && echo -n " ($nb)"
}
prompt_mem() { # facile à comprendre...
    echo -n " ($(free -h | awk '/^Mem/ {print $3"/"$2}'))"
}
prompt_hour() { # juste amusant !
# mais avec exactement le même principe, on peut afficher le niveau de la batterie du pc
 declare h=($(date +%_I))
 declare hs='🕛🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛'
 echo -n "${hs:$h:1}"
}
PS1='\u@\h \$(prompt_get_nb_files) \$(prompt_mem)  \$(prompt_hour) \W \$ '
# avec zsh, ce n'est pas PS1 mais la variable change de nom pour PROMPT et RPROMPT(aligné à droite)

----------

Même horloge mais avec fish (pas de variable ps1 ou prompt mais une seule fonction qui retourne le prompt):
Dans ~/.config/fish/functions/fish_prompt.fish

...
    set h (date +%_I) | string trim
    set hs 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 🕛
    echo -n $hs[$h]'➤ '
ps: fish est loin de bash donc il faut apprendre un autre langage :pleure:

----------

Donc, en fait il n'y a pas de limitations, ici c'est notre imagination/besoins (le nombre d'erreurs dans journald depuis 15 minutes, ...)
Par exemple ici, le truc rien que pour moi ! une icone particulière en fonction de mes répertoires courant

last_char()
    {
        declare MANJARO='\uf312'      # logo manjaro par defaut
        [[ "$(pwd)" =~ "/workspace" ]] && MANJARO='\ue70c'      
        [[ "$(pwd)" =~ "/www" ]] && MANJARO='\uf81e'
        [[ "$(pwd)" =~ "/C++" ]] && MANJARO='\ufb71'
        [[ "$(pwd)" =~ "/bash" ]] && MANJARO='\uf489'
        [[ "$(pwd)" =~ "/etc" ]] && MANJARO='\uf425'
        [[ "$(pwd)" == "/home/$(whoami)" ]] && MANJARO='\uf46d'
        [[ "$(pwd)" =~ "/Images" ]] && MANJARO='\ue60d'
        echo -en "\n${MANJARO}"
    }
résultat (en fonction de ma police perso), prompt sur 2 lignes , je sais par l'icone où je suis ...
Image

Comment modifier un thème ZSH ?

#16Messageil y a 3 mois

papajoke a écrit : il y a 3 mois pas de liens particulier, mais c'est en fait simple, il suffit de créer une fonction (bash,zsh) puis d'insérer l'appel dans notre la variable PS1="xxx/yy/\$(mafonction)/xxxxxxxx $"
ps: bien sûr cette fonction dans notre .bashrc peut appeler tout programme externe
J'avais fait plus "crade", en insérant les commandes directement dans le prompt. :sourire:
Nombre de fichiers : $(ls -pa $PWD | grep -v /|wc -l)
Espace partition libre : $(df --output=avail -h $PWD| tail -1)

Image
Par exemple ici, le truc rien que pour moi ! une icone particulière en fonction de mes répertoires courant
Merci, je garde ça dans un coin.
Répondre