60 个版本 (26 个破坏性更新)
新 0.50.0 | 2024 年 8 月 24 日 |
---|---|
0.48.1 | 2024 年 8 月 21 日 |
0.18.0 | 2024 年 7 月 31 日 |
#166 在 命令行工具
5,983 每月下载
120KB
2.5K SLoC
墙开关
多显示器随机壁纸
#-----------#-----------# ... ... #-----------#
| | | | |
| Monitor 1 | Monitor 2 | | Monitor n |
| | | | |
#-----------#-----------# ... ... #-----------#
描述
wallswitch
随机选择多显示器壁纸。
功能
-
随机壁纸选择: 动态地从指定的目录为每个显示器选择不同的壁纸。
-
可配置的过滤
-
尺寸控制: 通过设置最小和最大尺寸(高度和宽度)来细化壁纸选择,只包括特定尺寸范围内的图像。
-
文件大小管理: 指定搜索的最小和最大文件大小,允许您排除过大或过小的图像。
-
-
灵活配置: 使用以下选项自定义
wallswitch
:-
目录指定: 使用
directories
选项定义包含您壁纸图像的自定义目录。 -
图像文件类型: 通过
extensions
选项选择特定的图像扩展名(例如,JPG,PNG,SVG)。 -
分辨率匹配: 通过将壁纸与在
resolutions
数组中定义的显示器分辨率匹配来优化显示。
-
-
壁纸循环间隔: 使用
interval
选项设置壁纸更改的时间间隔。 -
图像排序: 可选地使用
sort
选项根据文件名对选定的图像进行排序。
用法
运行以下命令
wallswitch
默认的显示器数量设置为 m = 2
。
将在指定的目录("directories": [...]
)中递归搜索兼容扩展名("extensions": [...]
)的文件。
配置
配置文件位于 ~/.config/wallswitch/wallswitch.json
,是自定义 wallswitch 行为的关键。
- 显示配置
- 直接显示
wallswitch -c
- 使用 jq 解析
cat ~/.config/wallswitch/wallswitch.json | jq
- 直接显示
默认配置文件具有以下结构
{
"desktop": "gnome-xorg", // Desktop environment (e.g., gnome, xfce4)
"directories": [
"/home/user_name/Figures",
"/home/user_name/Images",
"/home/user_name/Pictures",
"/home/user_name/Wallpapers",
"/home/user_name/Imagens",
"/usr/share/wallpapers",
"/usr/share/backgrounds",
"/tmp/teste"
],
"extensions": [
"avif",
"jpg",
"jpeg",
"png",
"svg",
"tif",
"webp"
],
"interval": 1800, // Time interval (in seconds) between wallpaper changes
"min_dimension": 600, // Minimum dimension (width or height)
"max_dimension": 128000, // Maximum dimension (width or height)
"min_size": 1024, // Minimum file size (in bytes)
"max_size": 1073741824, // Maximum file size (in bytes)
"monitors": [
{
"picture_orientation": "Vertical", // Indicates how the pictures or images are combined
"pictures_per_monitor": 3, // Set number of pictures (or images) per monitor
"resolution": {
"width": 3840,
"height": 2160
}
},
{
"picture_orientation": "Horizontal", // Indicates how the pictures or images are combined
"pictures_per_monitor": 2, // Set number of pictures (or images) per monitor
"resolution": {
"width": 3840,
"height": 2160
}
}
],
"monitor_orientation": "Horizontal",
"sort": false, // Sort the images found
"verbose": false, // Show intermediate runtime messages
"wallpaper": "/home/user_name/wallswitch.jpg"
}
设置每个显示器上的壁纸数量(仅适用于Gnome桌面)
您可以通过使用带有所需数量(N
)的--p
标志来在每个显示器上显示N
种不同的壁纸。
wallswitch -p N
每个显示器上构建的图像的方向可以在水平
和垂直
之间切换。
壁纸建议
- 获取所有gnome 背景。
下载壁纸
git clone https://github.com/zebreus/all-gnome-backgrounds.git
帮助信息
要获取帮助信息,请运行以下命令
wallswitch -h
输出
randomly selects wallpapers for multiple monitors
Usage: wallswitch [OPTIONS]
Options:
-b, --min_size <MIN_SIZE>
Set a minimum file size (in bytes) for searching image files
-B, --max_size <MAX_SIZE>
Set a maximum file size (in bytes) for searching image files
-c, --config
Read the configuration file and exit the program
-d, --min_dimension <MIN_DIMENSION>
Set the minimum dimension that the height and width must satisfy
-D, --max_dimension <MAX_DIMENSION>
Set the maximum dimension that the height and width must satisfy
-i, --interval <INTERVAL>
Set the interval (in seconds) between each wallpaper displayed
-m, --monitor <MONITOR>
Set the number of monitors [default: 2]
-o, --orientation <MONITOR_ORIENTATION>
Inform monitor orientation: Horizontal (side-by-side) or Vertical (stacked)
-p, --pictures_per_monitor <PICTURES_PER_MONITOR>
Set number of pictures (or images) per monitor [default: 1]
-s, --sort
Sort the images found
-v, --verbose
Show intermediate runtime messages
-h, --help
Print help (see more with '--help')
-V, --version
Print version
min_dimension
是图像文件宽度和高度得到的最小值
min_dimension= min(width,height)
.
max_dimension
是图像文件宽度和高度得到的最大值
max_dimension= max(width,height)
.
桌面
修改源代码。
git clone https://github.com/claudiofsr/wallswitch.git
cd wallswitch
编辑文件:'src/desktops.rs'。
要从源代码构建和安装,请运行以下命令
cargo b -r && cargo install --path=.
gnome
创建壁纸文件并将其设置为您的桌面背景图像。
查看功能
fn set_gnome_wallpaper()
xfce
查看功能
fn set_xfce_wallpaper()
显示器1: "/backdrop/screen0/monitorDP-0/workspace0/last-image"
显示器2: "/backdrop/screen0/monitorDP-2/workspace0/last-image"
显示器N: ...
openbox
查看功能
fn set_openbox_wallpaper()
互斥功能
要使用clap(默认)
cargo b -r && cargo install --path=. --features args_v1
为了减小二进制文件大小,可替换使用我的命令行参数解析器(args_v2.rs)
cargo b -r && cargo install --path=. --features args_v2
依赖项
-
imagemagick(图像查看/处理程序)。
-
feh(快速且轻量级的图像查看器)。
依赖项
~0.8–8.5MB
~76K SLoC