跳转到主要内容

确定shell是否具有浅色或深色背景

项目描述

该Python模块是更广泛的脚本集的一部分

对于shell脚本,如果您从shell会话中引用它,它将设置并导出COLORFGBG0;15(深色背景)和15;0(浅色背景),这是某些程序使用的约定。由于我觉得这有点晦涩难懂,程序还将设置并导出LC_DARK_BG为1(深色背景)和0(浅色背景)。LC_(地区)有助于某些ssh配置,这些配置通常会允许带有该前缀的环境变量传递并设置到远程ssh会话中。

它使用的启发式方法是尝试使用xterm控制序列查询背景颜色。

许多但并非所有终端都支持此查询。因此,作为后备方案,我们查询环境变量COLORFGBG,如果失败,则使用从TERM环境变量设置的某些已知的终端的默认值。OSX有其自己的查询特性的方式,因此如果在该操作系统上运行,我们也使用该方式。

当我们能够获取背景的红色、蓝色和绿色值的像素强度时,我们可以使用它们来确定浅色和深色,基于合并的总和:零值表示特定颜色的缺失,并与前景的值进行比较。

您可以将这些环境变量中的任何一个设置以影响输出决策。

非常感谢Thomas Dickey, Egmont Koblinger和Gilles,他们通过unix.stackexchange提供了解释(以及代码!)。John Green提出了比较前景和背景颜色的想法,而不是将背景与中间灰色颜色进行比较,并将此更改在此实现中。

当然,此代码中的错误和遗漏都是我的。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

此版本没有提供源代码发行版文件。请参阅生成发行版存档的教程

构建发行版

term_background-1.0.1-py3.9.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3.8.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3.7.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3.6.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3.4.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3.3.egg (6.6 kB 查看散列值)

上传时间

term_background-1.0.1-py3.2.egg (6.5 kB 查看散列值)

上传时间

term_background-1.0.1-py3-none-any.whl (11.6 kB 查看散列值)

上传时间 Python 3

term_background-1.0.1-py2.7.egg (6.4 kB 查看散列值)

上传于

term_background-1.0.1-py2.6.egg (6.4 kB 查看哈希值)

上传于

term_background-1.0.1-py2.5.egg (6.4 kB 查看哈希值)

上传于

term_background-1.0.1-py2.4.egg (5.0 kB 查看哈希值)

上传于

term_background-1.0.1-py2-none-any.whl (11.6 kB 查看哈希值)

上传于 Python 2

由以下组织支持