惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
博客园_首页
G
Google Developers Blog
有赞技术团队
有赞技术团队
Vercel News
Vercel News
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
IT之家
IT之家
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - Franky
A
About on SuperTechFans
The Register - Security
The Register - Security
腾讯CDC
月光博客
月光博客
GbyAI
GbyAI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
D
Docker
D
DataBreaches.Net
博客园 - 聂微东
C
Check Point Blog
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
F
Full Disclosure
Martin Fowler
Martin Fowler
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
美团技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
小众软件
小众软件
量子位
L
LangChain Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
F
Fortinet All Blogs

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法 券商费率调整记 迷你主机组装记 Labwc更换定制皮肤 树莓派跑分流代理 实用自动代理配置示例 九年老鼠标复活记 Openvpn示例 Mac下如何旋转webp图片 如何隐藏Vscode中Markdown PDF插件的头部内容 解决Linux下网络配置无法变更保存的问题 labwc环境启用wlogout Ubuntu下新官方微信尝鲜 简单检测用户是否开启广告屏蔽 Atuin ZFS下卡顿问题解决 Wine安装64位微信 Fish 和 Atuin使用记 Fastapi简单实现临时下载链接 Fastapi微信公众号开发简要 Hugo根据语种展示不同内容 如何修复Waybar微信图标错误 信封加密简要 Linux环境下维护公众号记录 快速隐藏和呼出终端 SuperTuxKart 试玩 简单抓取雪球股票快讯 为什么你的kill命令不能列出信号表 Wine安装微信保姆教程 Hysteria科学上网简要 Ubuntu 23.10 钉钉无法启动解决方法 网站导航栏防止插入Adsense自动广告 Linux环境按键检测 Hugo文末添加最后修改时间 Wayland环境ksnip无法复制问题解决 我眼中的股票市场 Caddy简单图片防盗链 greetd和regreet使用教程 Wayland环境下截图加后期修改 Wayland 环境下gif录屏 Firefox的一些有趣功能 Ubuntu 切换系统语言 Firefox 标题栏高度调整 网站添加回到顶部功能 Hugo自定义字体 Labwc 便捷配置 Wofi使用教程 窗口管理器labwc使用记 文件共享软件Dufs推荐 Hugo静态站点接入Adsense广告 Fcitx5配置详解 Ubuntu安装chrome的方法总结 一种Xterm.js的全屏方案 Google网址收录api Python示例 手机听离线音乐 Snipe it资产导入 应用启动器yofi使用配置 Snipe it资产管理系统安装使用 Ubuntu开机启动加速 Vue3 vite TypeScript跨域等相关设置 Ubuntu手动升级Libreoffice Ubuntu设置alacritty为默认终端 简体文章批量转换为繁体 使用Inkscape调整svg图片大小 实用命令 使用mitmproxy给手机app抓包 Python中rstrip方法细解 Github同主机多仓库部署deploy key问题处理 Linux安装最新版本Python KeePassXC使用教程 Ubuntu 22.10连接蓝牙耳机报错br-connection-profile-unavailable解决方法 Caddy日志配置轮转和格式化
Wayland环境自动切换壁纸
2023-11-30 · via mephisto.cc

自从切换到 labwc 这个窗口管理器后,桌面组件都是自己定制,越用越喜欢。

但是有两点不是很满意:

    1. alt-tab 切换活动窗口是没有缩略图,不方便判断后快捷选中;
    1. 壁纸软件不能自动切换(严格来说,这个和 labwc 没关系,壁纸软件是自己选择的 swaybg)。

第一个问题我一般是状态栏鼠标点击选择,缺点是手离键盘,影响效率,勉强可以接受。

本文解决第二个问题,wayland 下面的壁纸程序其实很多,各个的侧重点不一样,作者设计初衷不同。

罗列如下:

  • swaybg 可选一个图片当静态壁纸

  • swww 标星多,功能略强大,能用色彩当壁纸,也能对单个图片做各种操作,还能控制切换过程中的效果,但是想要自动切换得单独整一个脚本。

     1➜  ~ swww --help
     2A Solution to your Wayland Wallpaper Woes
     3
     4Change what your monitors display as a background by controlling the swww daemon at runtime. Supports animated gifs and putting different stuff in different monitors. I also did my best to make it as resource
     5efficient as possible.
     6
     7Note `swww` will only work in a compositor that implements the layer-shell protocol. Typically, wlr-roots based compositors.
     8
     9Usage: swww <COMMAND>
    10
    11Commands:
    12clear Fills the specified outputs with the given color
    13img Sends an image (or animated gif) for the daemon to display
    14init Initializes the daemon
    15kill Kills the daemon
    16query Asks the daemon to print output information (names and dimensions)
    17help Print this message or the help of the given subcommand(s)
    18
    19Options:
    20-h, --help
    21Print help (see a summary with '-h')
    22
    23-V, --version
    24Print version
    
  • mpvpaper 这个就有点离谱,会用 mpv 播放视频作为壁纸,可能适合企业宣传、特殊人群使用。

  • wpaperd 还在开发中,个人选择这个,逻辑简单清晰。关键是能设置一个壁纸目录(里面放壁纸图片),隔一段时间随机更换壁纸,这正是我需要的功能,所以笔者推荐用这个 👍。

1. 安装

  • 下载编译
1$ git clone https://github.com/danyspin97/wpaperd
2$ cd wpaperd
3$ cargo build --release
  • 把程序放入目标 PATH 目录

编译后会有 2 个二进制程序 wpaperctlwpaperd,放入/usr/local/bin中, 方便调用执行。

前者为控制程序,后者为守护进程,符合套路,一切都是熟悉的感觉。

1cp target/release/wpaperctl target/release/wpaperd /usr/local/bin

2. 配置文件

创建配置文件目录后,调整配置,我的示例如下:

 1mkdir /home/mephisto/.config/wpaperd/
 2➜  ~ cd .config/wpaperd
 3➜  wpaperd pwd
 4/home/mephisto/.config/wpaperd
 5➜  wpaperd cat wallpaper.toml
 6[default]
 7path = "/home/mephisto/Pictures/Wallpapers/"
 8duration = "30m"
 9sorting = "random"
10
11[eDP-1]
12path = "/home/mephisto/Pictures/Wallpapers/"
13duration = "30m"
14sorting = "random"
15
16[DP-2]
17path = "/home/mephisto/Pictures/Wallpapers/"
18duration = "30m"
19sorting = "random"

上述配置的意思,每 30 分钟随机切换壁纸,壁纸来源就是 path 中配置的目录, sorting 还有非随机的升序(ascending), 降序(descending),我喜欢随机,博彩人生。

3. 设置开机启动

在 labwc 环境中,很简单,注释掉 swaybg,切换成 wpaperd 守护进程

1➜  ~ head -n 5 ~/.config/labwc/autostart
2# Example autostart file
3
4# Set background color.
5# swaybg -i ~/Pictures/land.jpg >/dev/null 2>&1 &
6wpaperd >/dev/null 2>&1 &

最后,去网上找点好看的壁纸放入 path 中的壁纸目录就好了,图片格式支持 jpeg 、png 、webp 等。

最终效果就是,每个屏幕随机展示不同壁纸,当然你也可以设置为双屏相同。

另外,可以查看当前真正显示的图片

1➜  ~ wpaperctl all-wallpapers
2eDP-1: "/home/mephisto/Pictures/Wallpapers/road.jpeg"
3DP-1: "/home/mephisto/Pictures/Wallpapers/th.jpeg"

更多玩法可查看文档, 读者自己试试,个人觉得这个作者是懂用户的,该有的都有了,整个设计很简洁方便。

4. 其它知识

好奇宝宝可能要问,你怎么知道显示器链接名叫什么的?

  • X11 环境, 运行 xrandr

  • Wayland 环境,运行 wlr-randr

如果提示没有这个命令,可能需要安装相关软件包。

例如下面所示 wayland 环境,显示有 2 块屏幕 eDP-1DP-1

1sudo apt install wlr-randr
2
3~ wlr-randr | grep -i dp
4DP-1 "Dell Inc. DELL P2417H C9G5D83N67HI (DP-1)"
5eDP-1 "Chimei Innolux Corporation 0x14C0 (eDP-1)"

eDP 意为 embedded display, 电脑自带屏幕。 DP 意为 display,外接显示屏。

waybar 状态栏、dunst 桌面通知等程序,都有类似让你选择屏幕的配置项,知道名字,就能配置在哪个屏幕显示目标信息。