8 个版本
0.1.7 | 2024年5月10日 |
---|---|
0.1.6 | 2024年3月25日 |
0.1.5 | 2024年1月2日 |
0.1.4 | 2023年8月31日 |
0.1.2 | 2023年4月27日 |
#176 in 图像
43KB
1K SLoC
multibg-sway
为每个 Sway 工作区的背景设置不同的壁纸
用法
$ multibg-sway <WALLPAPER_DIR>
壁纸应按以下目录结构排列
wallpaper_dir/output/workspace_name.{jpg|png|...}
例如:
~/my_wallpapers/HDMI-A-1/1.jpg
更详细地说:
-
wallpaper_dir:一个目录,这将作为 multibg-sway 命令的参数
-
output:与 sway 输出同名的目录,例如 eDP-1、HDMI-A-1
-
如果有多个具有相同分辨率的输出,这可以是一个指向其他输出目录的符号链接。
-
要获取 sway 的当前输出名称,可以运行
$ swaymsg -t get_outputs
-
-
workspace_name:sway 工作区的名称,默认情况下:1、2、3、...、10
- 可以是手动定义的工作区名称(例如在 sway 配置中),但在 multibg-sway 运行时重命名工作区目前不受支持
- 可以定义一个具有特殊名称 _default 的备用壁纸
- 可以是符号链接,用于为多个工作区使用壁纸图像
壁纸图像现在在启动时自动调整大小以 填充 输出。尽管如此,最好使用与输出相同分辨率的壁纸图像,这样可以自动避免调整大小操作并减少启动时间。
示例
对于一台具有内置显示器 eDP-1 和外部显示器 HDMI-A-1 的笔记本电脑,壁纸可以排列如下:
~/my_wallpapers
├─ eDP-1
│ ├─ _default.jpg
│ ├─ 1.jpg
│ ├─ 2.png
│ └─ browser.jpg
└─ HDMI-A-1
├─ 1.jpg
└─ 3.png
然后启动 multibg_sway
$ multibg-sway ~/my_wallpapers
建议使用专门的图像编辑器编辑壁纸图像。尽管如此,这里可以调整对比度和亮度
$ multibg-sway --contrast=-25 --brightness=-60 ~/my_wallpapers
如果出现错误,multibg-sway 将记录到 stderr 并尝试继续。如果 multibg-sway 作为守护进程运行,可能希望重定向 stderr。
资源使用情况
加载的壁纸以未压缩格式存储,以实现几乎零 CPU 使用量的快速壁纸切换。例如,对于 10 个全高清壁纸,这意味着 10*1920*1080*4 = 83 MB 图形内存使用。
由于 multibg-sway 没有自己的 GPU 上下文,并且通过 sway 管理图形内存,因此所有这些使用情况可能会报告为 sway 进程使用的额外内存。
安装
-
使用 Rust
$ cargo install --locked multibg-sway
-
对于 Arch Linux 从 AUR: https://aur.archlinux.org/packages/multibg-sway
-
例如,使用 paru
$ paru -S multibg-sway
-
备选方案
依赖项
~10–20MB
~306K SLoC