2010-01-22 6 views
2

J'utilise actuellement un jeu de couleurs basé sur le répertoire dans lequel je travaille. J'ouvre manuellement un shell Konsole, puis cd dans un répertoire et je me rends dans les paramètres et change le schéma de couleurs. Ce que je voudrais faire, c'est que Konsole définisse automatiquement ses couleurs de premier plan et d'arrière-plan en fonction du répertoire dans lequel je suis. En gros, si je suis dans un sous-répertoire/home/me/src/java, je voudrais pour utiliser du texte blanc, fond bleu, par exemple. Si je suis en dessous de/home/me/src/documentation, je veux du texte en noir, en fond blanc, par exemple. Je voudrais que le changement de couleur se produise automatiquement, par programmation, lorsque j'appelle la commande "cd".Comment changer les couleurs par programme dans Konsole basé sur le répertoire courant?

Est-ce possible? Si oui, pouvez-vous me dire comment?

La façon dont je le vois, je dois pouvoir faire deux choses:.

  • pouvoir détecter qui Konsole le processus shell (bash) est en cours d'exécution dans
  • Pouvoir Dites à Konsole, probablement via un appel API, de modifier le schéma de couleurs à la volée.
+0

Question pour superuser.com –

+0

Si cela implique que je programme des API, alors c'est un problème de programmation. – rayd09

Répondre

2

Pour commencer, here donne quelques informations sur l'utilisation de D-Bus pour le script Konsole.

Vous ne dites pas quel shell vous utilisez, mais si c'est Bash, vous pouvez utiliser la variable $PROMPT_COMMAND qui contient une commande à exécuter chaque fois que l'invite $ PS1 est émise. Le shell Z a une fonctionnalité similaire qui est probablement un peu plus puissante (voir man zshmisc pour chpwd et precmd). Dans le cas contraire, vous pouvez utiliser xterm escape sequences.

Questions connexes