21 个稳定版本
3.0.0 | 2024 年 8 月 5 日 |
---|---|
3.0.0-alpha | 2024 年 2 月 14 日 |
2.10.0 | 2024 年 1 月 26 日 |
2.9.0 | 2023 年 12 月 26 日 |
1.0.0 | 2023 年 3 月 30 日 |
#91 in 命令行工具
418 每月下载量
255KB
4K SLoC
wallust - 从图片生成颜色
来源: adwaita - 山景 - rms by marco novo - pixels - linus talking
如果是从 v2 版本升级,请检查 v3 版本的重大变更。
用法
wallust run my_wallpaper.png
使用 wallust -h
获取概览,使用 wallust --help
获取更详细的说明
文档
为了方便使用,您可以查看带有手册页的 详细 文档(而不是每次都使用 cmd -h
)
man wallust
,有关终端颜色和 模板语法 的信息;man wallust.5
,配置文档;man wallust-subcommand
,显示 子命令 的手册页。
还有一个用于文档的 网页!它基于纯 Markdown,因此您也可以在 docs/
目录中本地阅读。
功能
- 包括 手册页 和 补全!
- 在所有(或当前,
-u
)活动终端上设置终端颜色- Windows:通过更新 Windows Terminal 上的
settings.json
添加 Windows Terminal 的颜色方案,第一次启用此方案时,您必须手动选择它 - *NIX: ASCII转义序列
/dev/pts/
在 Linux 上ps
用于搜索活动终端 在 OpenBSD 上
- MacOS: iTerm2 序列,
/dev/ttys00
在 MacOS 上
- Windows:通过更新 Windows Terminal 上的
- 缓存调色板,被
-w
- Linux:
$XDG_CACHE_HOME
或$HOME/.cache
- MacOs:
$HOME/Library/Caches
- Windows:
{FOLDERID_LocalAppData}
- Linux:
- 使用
wallust cs
读取 pywal/terminal-sexy 颜色方案。 - 内置 主题,使用
wallust theme
(编译时功能)。 - 可选配置文件,
wallust.toml
方法 | 描述 |
---|---|
后端 | 如何从图像中提取颜色。(例如,pywal 使用 convert) |
色彩空间 | 获取最突出的颜色,并按 Palette 排序,可根据 阈值 配置 |
调色板 | 使用收集到的颜色创建方案调色板(例如,设置浅色背景) |
安装
您可以通过以下图表查看您的发行版是否在其仓库中包含 wallust。有关详细信息,您可以查看维护者留下的发行版安装说明。
使用 cargo
cargo install wallust
这将使用最新版本(非预发布版本)。
使用 git
简单 git clone https://codeberg.org/explosion-mental/wallust
。
建议使用 Makefile
,因为它将安装手册页和补全。
- 编辑
Makefile
以满足您的本地设置(对于大多数 Linux 发行版应该已经很好)。 - 使用
make
构建它 - 安装wallust(如果需要,以root身份进行):
make install
可选地,使用以下命令仅安装二进制文件,该命令将二进制文件移动到您的 $CARGO_HOME/bin
cargo install --path .
或构建它并将二进制文件复制到您的 $PATH
中现有的文件夹,如 /usr/local/bin
cargo build --release
cp -f ./target/release/wallust /usr/local/bin
背景
我开始这个工具主要是出于 速度 的原因,因为我使用了一个 快捷键,它会以随机的壁纸图片启动 pywal,这导致在两次之间出现了明显的延迟。
当然,现在我了解到 pywal 使用 image magick 的 convert
来收集颜色,而 wallust 也可以使用 wal
后端来做到这一点。集成原生方法,甚至更复杂的算法,如 kmeans
或 SIMD 后端 fast_resize
,使得让用户决定哪种最适合的需求变得必要。
虽然目标是关注速度,但用例已经扩展到升级 wallust 和 存档 的 Python 工具共享的功能。
我选择使用 rust,因为它提供了丰富的库(crates)和原生功能。我还尝试在观看了一个关于在 C 中实现直方图的视频后,用 C 重新编写 pywal。那是我开始这段旅程的小推动力。
相关
- wallust-themes - 内置 wallust 颜色方案
- wallust-templates - 一些已知程序的模板
- pywal - 🎨动态生成和更改颜色方案
- pywal16 - pywal 的 16 种颜色分支
- wpgtk - 🎴用于 *nix 的颜色方案、壁纸和模板管理器
- wal-theme-picker - 选择最适合图像的主题(而不是生成一个)
- pigmnts - 🎨使用 WebAssembly 和 Rust 从图像生成调色板
- Chameleon - 🦎将您的 Linux 系统主题化以匹配任何图像
- lule_bash - 从壁纸生成所有 255 种颜色
- lule -
lule_bash
的效率重写 - 使用 vscode-wal-theme 与
wallust
- base16 - Tomorrow 风格主题的框架
- flavours - 🎨💧易于使用的 base16 方案管理器,可集成到任何工作流程中
- oxidec - 使用 Rust 编写的 eye-candy 管理器
- raventhemer - 桌面 Linux 的主题管理器和切换器
- rose-pine 问题 #2 - 使用整个 15 种颜色调色板的想法
依赖项
~13–27MB
~363K SLoC