如何在 Roxterm 终端仿真器中禁用粗体文本?

如何在 Roxterm 终端仿真器中禁用粗体文本?

从 SO 移至 SU:

我搜索了互联网并阅读了 roxterm 手册页,但无济于事。有人能解释一下吗:我正在尝试禁用 roxterm 中的粗体文本。我个人认为粗体文本看起来很糟糕。

我假设我必须在 ~/.config/roxterm.sourceforge.net/Colours/theme 文件或 ~/.Xresources 中放入一些内容

答案1

有两个方面:

  1. 可能会删除终端绘制粗体文本的功能
  2. 告诉终端中运行的应用程序不要使用粗体文本

对于前者,您可能不会取得太大的成功:roxterm 缺乏 xterm 的可配置性。相反,它假设字体提供了该功能,并在应用程序要求时使用它。

对于应用程序来说,至少有三种类型:

  1. 那些使用 termcap/terminfo 的人
  2. 那些使用他们的自己的数据库(ls最常见的是 GNU)
  3. 硬编码应用程序(那些只编写转义序列的应用程序)。groff 不会,但如果您设置了环境变量GROFF_NO_SGR,则可以抑制这种情况。还有其他情况。

如果您可以忽略最后一个,那么对于前两个,可以修改终端数据库条目。即使是 Linux 上的“termcap”应用程序也几乎总是使用 ncurses 的 terminfo 数据库(Slackware 可能仍提供 termcap...)。您可以制作不使用 SGR 1 的自定义终端描述,例如,\E[1m在 terminfo 语法中(该bold功能也显示为部分sgr能力)。至少,可以使用以下命令完成此操作,并使用以下命令进行编译tic

nobold|my custom,
    bold@, sgr@, use=xterm,

并设置TERM为“nobold”。这样做的ls副作用是破坏数据库。

相关内容