7 个版本 (4 个重大更新)

0.5.1 2021 年 9 月 7 日
0.5.0 2021 年 8 月 17 日
0.4.0 2018 年 4 月 9 日
0.3.1 2018 年 3 月 31 日
0.1.0 2018 年 3 月 19 日

#1364命令行工具

每月 50 次下载

MIT 许可证

465KB
1K SLoC

xcolor 🌈

Build Status Latest Version GitHub release dependency status License: MIT

X11 轻量级颜色选择器。使用鼠标选择屏幕上任何位置的可见颜色以获取它们的 RGB 表示。

安装

使用 Cargo

xcolor 可以使用 cargo 安装

cargo install xcolor

构建和运行 xcolor 需要 xcbXlib 库。

要获取 xcolor 的最新开发版本,可以直接让 cargo 从 git 仓库安装

cargo install --git 'https://github.com/Soft/xcolor.git'

使用 cargo 安装 xcolor 不会安装其手册页或桌面文件。要安装这些附加文件,请在项目目录中调用 make install。默认情况下,安装脚本会将文件放置在 /usr/local/ 目录层次结构下。

Arch Linux

xcolor 可在 Arch 用户仓库 中找到。要从 AUR 安装 xcolor

git clone https://aur.archlinux.org/xcolor.git
cd xcolor
makepkg -isr

用法

只需调用 xcolor 命令即可选择颜色。选中的颜色将被打印到标准输出。

xcolor 0.5.0
Samuel Laurén <[email protected]>:Callum Osmotherly <[email protected]>
Lightweight color picker for X11

USAGE:
    xcolor [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --custom <FORMAT>                Custom output format
    -f, --format <NAME>                  Output format (defaults to hex) [possible values: hex, HEX, hex!, HEX!, plain,
                                         rgb]
    -P, --preview-size <PREVIEW_SIZE>    Size of preview, must be odd (defaults to 255)
    -S, --scale <SCALE>                  Scale of magnification (defaults to 8)
    -s, --selection <SELECTION>          Output to selection (defaults to clipboard) [possible values: primary,
                                         secondary, clipboard]

保存到选择

默认情况下,选中的颜色将被打印到标准输出。通过指定 -s 标志,xcolor 可以被指示将颜色保存到 X11 的选择中。要使用的选择可以指定为参数。可能的选择值有 clipboard(默认值)、primarysecondary

由于 X11 中的选择方式,使用 -s 模式时,xcolor 将在后台进行分叉。可以通过定义 XCOLOR_FOREGROUND 环境变量来禁用此行为。

颜色预览

-S--scale 标志控制预览的放大(或缩放)。默认设置为 8,表示 8 倍缩放级别。

-P》或《--preview-size》标志控制预览的大小(以像素为单位)。因此,预览始终具有中心像素,这个数字必须是奇数,如果传入偶数,则将其更改为下一个奇数。

格式化

默认情况下,颜色值将以小写十六进制格式打印。可以使用《-f NAME》开关更改输出格式。下面列出了支持的格式名称

格式说明符 描述 示例 自定义格式等效
hex 小写十六进制(默认) #ff00ff #%{02hr}%{02hg}%{02hb}
HEX 大写十六进制 #00FF00 #%{02Hr}%{02Hg}%{02Hb}
hex! 紧凑型小写十六进制1 #fff 无法表示
HEX! 紧凑型大写十六进制1 #F0F 无法表示
rgb 十进制RGB rgb(255, 255, 255) rgb(%{r}, %{g}, %{b})
plain 十进制;分隔 0;0;0 %{r};%{g};%{b}

1:紧凑形式指的是CSS规定的三位字母颜色代码,如《CSS颜色模块第3级》中所述。如果颜色无法以三位字母形式表示,则将使用常规的六位字母形式。

自定义格式

-》》开关提供了对一些常用格式选项的快速访问。然而,如果需要自定义输出格式,可以使用《-FORMAT》开关。参数《FORMAT》指定了输出模板,并支持简单的模板语言。

FORMAT》模板可以包含特殊扩展,这些扩展以《%{...}》块的形式书写。这些块将根据块内定义的说明符扩展为颜色值。以下是一些有效的格式字符串示例及其可能的输出

格式字符串 示例输出
%{r}, %{g}, %{b} 255, 0, 100
绿色: %{-4g} 绿色: ---7
#%{02hr}%{02hg}%{02hb} #00ff00
%{016Br} 0000000000000011

格式字符串中的扩展块始终包含一个通道说明符(r代表红色,g代表绿色,b代表蓝色)。此外,它们还可以包含一个可选的数字格式说明符(h代表小写十六进制,H代表大写十六进制,o代表八进制,B代表二进制,d代表十进制)和一个可选的填充说明符,包括用于填充的字符和字符串应填充到的长度。我们可以使用这些规则来解码上面的示例字符串

  %{016Br}
    | |||
    | ||`- Channel (red)
    | |`-- Number format specifier (binary)
    | `--- Padding length (16)
    `----- Character to use for padding (0)

在输出中,我们得到红色颜色通道的内容,以二进制格式表示,并用零填充,长度为十六个字符。

问题

错误和问题应在《GitHub》上报告。

依赖关系

~4.5MB
~85K SLoC