6个版本 (2个稳定版)
1.1.0 | 2024年1月22日 |
---|---|
1.0.0 | 2023年6月14日 |
0.3.1 | 2023年1月3日 |
0.3.0 | 2022年11月16日 |
0.1.0 | 2022年10月25日 |
#123 in 图像
320KB
1.5K SLoC
功能
- 支持MacOS中使用的原始HEIF/HEIC动态壁纸文件。
- 支持所有计划类型:基于太阳位置、基于时间、暗/亮模式。
- 设置壁纸一次,持续显示(守护进程模式)。
- 预览壁纸变化。
- 显示壁纸元数据。
- 将所有图像和元数据提取为XML。
安装
先决条件
timewall
依赖于 libheif
以支持HEIF,请确保已安装。如果您从源代码构建它,您可能还需要 libheif-dev
,具体取决于您的发行版。
Arch Linux (AUR)
AUR软件包可用: timewall 和 timewall-bin。
二进制文件
您可以从发布页面下载包含最新预构建二进制文件和shell补全的tar包。名为 timewall
的二进制文件必须放在您的 $PATH
目录中,例如 /usr/local/bin
。
Cargo
cargo install timewall
用法
初始配置
如果您打算使用基于太阳位置壁纸,则需要向 timewall
提供您的近似位置。为此,创建一个配置文件 $XDG_CONFIG_HOME/timewall/config.toml
(如果您不确定,可能是 ~/.config/timewall/config.toml
)。此文件也会在您首次运行 timewall set
时生成。
在文件中放入以下内容,同时将 lat
(纬度)和 lon
(经度)值更改为您的需求
[location]
lat = 51.11
lon = 17.02
设置壁纸
一次性模式
要设置壁纸,只需运行
timewall set path/to/wallpaper.heif
这将根据壁纸计划设置正确的壁纸,考虑当前时间或太阳位置。请注意,这种方式设置的壁纸不会随时间更新。您可以通过重复上述命令来更新它,也可以将其缩短为仅timewall set
- 最后使用的壁纸将被记住。
另请参阅:动态壁纸的位置。
守护进程模式
您可能不想每次都手动更新壁纸。为了自动执行此操作,您可以使用守护进程模式
timewall set --daemon
此命令将连续运行,并随时间更新您的壁纸。将其作为后台进程在启动时自动运行是个好主意。
如您所见,上述命令不包括要设置的壁纸。这是因为守护进程模式默认使用上次设置的壁纸。如果您已经手动运行了timewall set
,那么守护进程将使用您当时设置的任何壁纸。此外,如果您想更改壁纸,只需运行timewall set path/to/new/wall.heif
即可。守护进程将拾取更改,并从现在开始更新新的壁纸。
Systemd服务
实现此功能的一种方法是通过systemd
服务。将以下内容写入~/.config/systemd/user/timewall.service
[Unit]
Description=Dynamic wallpapers daemon
[Service]
Type=simple
ExecStart=timewall set --daemon
[Install]
WantedBy=default.target
然后运行
systemctl --user enable --now timewall.service
之后,timewall
应在启动时自动启动,并在白天更新您的壁纸。
预览
要预览壁纸,请运行
timewall preview path/to/wallpaper.heif
这将快速循环壁纸中的所有图像,以模拟一天中的变化。预览速度可以通过指定连续壁纸更改之间的延迟(以毫秒为单位)使用--delay
选项来控制。您还可以使用--repeat
选项无限循环预览。
解包
要解包壁纸中存储的所有图像以及其XML格式的元数据,请运行
timewall unpack path/to/wallpaper.heif path/to/output/directory
读取元数据
可以使用以下方式显示timewall
所知的所有元数据
timewall info path/to/wallpaper.heif
配置
自定义壁纸设置命令
如果由于某些原因默认壁纸设置在您的情况下不起作用,或者您只想自定义它,您可以指定要使用的自定义命令。例如,要使用feh
设置壁纸,您可以将以下内容添加到您的~/.config/timewall/config.toml
[setter]
command = ['feh', '--bg-fill', '%f']
%f
是一个占位符,它将被替换为设置壁纸的图像的完整绝对路径。
动态壁纸的位置
- 原始MacOS动态壁纸。如果您有权访问运行MacOS的计算机,您只需复制动态壁纸即可。您也可以通过一些努力在线找到这些文件。由于法律原因,我不会链接任何文件。
- 动态壁纸俱乐部。许多用户创建的壁纸。遗憾的是,其中许多质量一般。只有少数使用太阳位置计划(对我来说,这是整个概念中最好的部分),而且通常做得不好。
- dynwalls.com。一些免费、高质量的壁纸。
- Jetson Creative。三张免费壁纸和一些您可以购买捆绑包。
- mczachurski/wallpaper。两张高质量的自制壁纸。
资源/鸣谢
以下资源帮助我在timewall
开发中
依赖项
~12–44MB
~610K SLoC