Rust终端壁纸管理库wallust的使用,wallust提供动态壁纸设置与主题切换功能

Rust终端壁纸管理库wallust的使用

wallust是一个用Rust编写的终端壁纸管理工具,可以从图像生成颜色方案并为终端设置主题。

wallust演示gif

主要功能

  • 从图像生成颜色方案
  • 支持动态壁纸设置
  • 提供主题切换功能
  • 支持多种终端类型(Linux、MacOS、Windows)
  • 丰富的模板功能(支持Jinja2子集或pywal语法)
  • 内置主题支持(编译时特性)
  • 缓存机制提高性能

安装方法

使用Cargo安装

cargo install wallust

从源码安装

git clone https://codeberg.org/explosion-mental/wallust
cd wallust
make
sudo make install  # 需要root权限

基本使用

wallust run my_wallpaper.png

使用wallust -h查看概览帮助,wallust --help查看详细说明。

配置

wallust会检查~/.config/wallust/wallust.toml作为配置文件,如果没有找到则使用默认实现。

完整示例

1. 设置壁纸并生成主题

// 设置壁纸并生成颜色方案
wallust run ~/Pictures/wallpaper.jpg

2. 使用内置主题

// 列出可用主题
wallust theme list

// 应用特定主题
wallust theme apply "theme-name"

3. 使用模板功能

// 创建模板文件
echo '{{ colors.0.hex }}' > ~/.config/wallust/templates/my_template

// 应用模板
wallust template my_template output_file

4. 设置动态壁纸

// 创建动态壁纸配置文件
cat > ~/.config/wallust/wallust.toml <<EOF
[dynamic]
interval = 3600  # 每小时更换一次
path = "~/Pictures/Wallpapers"
EOF

// 运行动态壁纸服务
wallust dynamic

5. 高级颜色方案控制

// 使用不同的后端提取颜色
wallust run --backend kmeans wallpaper.png

// 使用特定颜色空间
wallust run --colorspace lab wallpaper.png

// 使用特定调色板
wallust run --palette dark wallpaper.png

帮助文档

可以通过以下方式获取详细文档:

man wallust          # 查看终端颜色和模板语法
man wallust.5        # 配置文档
man wallust-subcommand  # 查看子命令帮助

wallust是一个功能强大的终端主题管理工具,可以帮助您轻松定制终端外观,实现动态壁纸切换和主题管理。


1 回复

wallust - Rust终端壁纸管理库

介绍

wallust是一个用Rust编写的终端壁纸管理工具,它提供了动态壁纸设置和主题切换功能。这个工具特别适合喜欢自定义终端外观的开发者和Linux用户。

wallust的主要特点包括:

  • 支持动态壁纸设置
  • 提供主题切换功能
  • 轻量级且高效
  • 易于集成到现有工作流中

安装方法

使用Cargo安装wallust:

cargo install wallust

或者从GitHub仓库克隆并构建:

git clone https://github.com/wallust/wallust.git
cd wallust
cargo build --release

基本使用方法

1. 设置壁纸

wallust set /path/to/your/wallpaper.jpg

2. 切换主题

wallust theme dark  # 切换到暗色主题
wallust theme light # 切换到亮色主题

3. 动态壁纸

设置动态壁纸(根据时间自动切换):

wallust dynamic --day /path/to/day.jpg --night /path/to/night.jpg

高级功能

配置文件

wallust支持配置文件(通常位于~/.config/wallust/config.toml),示例配置:

[theme]
default = "dark"

[wallpapers]
day = "/path/to/day.jpg"
night = "/path/to/night.jpg"

与终端颜色同步

wallust可以同步壁纸的主色到终端:

wallust sync-terminal

创建自定义主题

wallust create-theme mytheme --primary "#FF0000" --secondary "#00FF00"

示例脚本

这是一个使用wallust自动根据时间切换主题的bash脚本示例:

#!/bin/bash

HOUR=$(date +%H)
if [ $HOUR -ge 6 ] && [ $HOUR -lt 18 ]; then
    wallust theme light
    wallust set ~/wallpapers/day.jpg
else
    wallust theme dark
    wallust set ~/wallpapers/night.jpg
fi

完整示例

以下是一个完整的wallust使用示例,包含配置文件和自动化脚本:

  1. 首先创建配置文件 ~/.config/wallust/config.toml:
[theme]
default = "dark"

[wallpapers]
day = "~/Pictures/day.jpg"
night = "~/Pictures/night.jpg"
  1. 创建一个自动化脚本 wallust_auto.sh:
#!/bin/bash

# 检查wallust是否安装
if ! command -v wallust &> /dev/null; then
    echo "wallust未安装,请先安装"
    exit 1
fi

# 获取当前小时
HOUR=$(date +%H)

# 根据时间设置主题和壁纸
if [ $HOUR -ge 6 ] && [ $HOUR -lt 18 ]; then
    echo "设置白天主题"
    wallust theme light
    wallust set ~/Pictures/day.jpg
else
    echo "设置夜间主题"
    wallust theme dark
    wallust set ~/Pictures/night.jpg
fi

# 同步终端颜色
wallust sync-terminal

echo "壁纸和主题设置完成"
  1. 使脚本可执行并添加到crontab中每小时运行:
chmod +x wallust_auto.sh
(crontab -l ; echo "0 * * * * /path/to/wallust_auto.sh") | crontab -

注意事项

  1. wallust目前主要支持Linux系统
  2. 某些功能可能需要额外的依赖(如imagemagick)
  3. 对于某些终端模拟器,可能需要重启才能看到颜色变化

wallust是一个活跃开发的项目,建议定期更新以获取最新功能和错误修复。

回到顶部