我目前使用的颜色方案基于我正在使用的目录。我手动打开一个Konsole shell然后cd进入一个目录并进入设置并更改配色方案。
我想要做的是让Konsole根据我所在的目录自动设置其前景色和背景色。基本上如果我在/ home / me / src / java下面的任何子目录中,那么我想例如,使用文本白色,背景蓝色。如果我在/ home / me / src / documentation下面,我想要文本黑色,例如背景白色。当我调用“cd”命令时,我希望以编程方式自动进行颜色更改。
这可能吗?如果是这样,你能为我提供一些方向吗?
我看到它的方式我需要做几件事:
答案 0 :(得分:2)
为了帮助您入门,here提供了有关使用D-Bus编写Konsole脚本的一些信息。
你没有说你正在使用哪个shell,但是如果它是Bash你可能想要使用$PROMPT_COMMAND
变量来保存每次发出$ PS1提示时执行的命令。 Z shell具有类似的功能,可能更强大一些(man zshmisc
和chpwd
precmd
)。
否则,您可以使用xterm escape sequences。
答案 1 :(得分:1)
实际上,Konsole支持他们的个人资料。配置文件是一组设置(不仅是背景),您可以在Settings | Manage Profiles
及其附近进行手动定义。
此外,还有一个名为konsoleprofile
的命令行实用程序,可用于以编程方式更改配置文件。
Settings | Edit Current Profile... | Appearance
konsoleprofile ColorScheme=myprofile1
,konsoleprofile ColorScheme=standard
等。konsoleprofile
的呼叫插入您的$PROMPT_COMMAND
中,例如将此添加到您的.bashrc
:PROMPT_COMMAND='[[ "$PWD" = /home/me/src/java* ]] && konsoleprofile ColorScheme=myprofile1 || konsoleprofile ColorScheme=mystandard'";$PROMPT_COMMAND"