#壁纸 #窗口管理器 #xorg #sdl2 #x11 #图形

app wallpepper

一个工具,用于在 Linux 极简窗口管理器上使用 Xorg 将视频和 SDL 内容显示为壁纸

3 个稳定版本

1.1.1 2022年9月2日
1.1.0 2022年8月28日
1.0.1 2022年8月25日

#199 in 视频

GPL-3.0-only

21KB
400 代码行

Wallpepper

一个工具,用于在 Linux 极简窗口管理器上使用 Xorg 将视频和 SDL 内容显示为壁纸

视频

安装

您可以从源代码运行它,或者使用以下命令安装它:

$ cargo install wallpepper

依赖关系

要运行此程序,您需要通过包管理器安装 ffmpeg 和 SDL2,以及它们的头文件(有时它们是捆绑在一起的,只需在您发行版的维基百科上查找即可)

用法

Wallpepper 的基本用法如下

$ wallpepper <wallpaper> [wallpaper args]

目前,仅支持两种壁纸

  • chroma,它只是一个彩虹
  • 视频,它将使用 ffmpeg 循环显示指定的视频文件

示例用法

$ wallpepper chroma
$ wallpepper video path/to/video.mp4

它是如何工作的

Wallpepper 使用 SDL2 和 X11 库直接在根窗口中绘制,在极简窗口管理器中这将作为您的背景。但是,其他一些,如 plasma 或 gnome,会在根窗口上绘制,因此它将不可见。

您可以使用 SDL2 通过几个步骤创建自己的动态壁纸

  1. wallpapers/ 中为您的壁纸创建一个新的模块
  2. 为您的壁纸创建一个新的结构体,您可以将任何需要的元素放入其中
  3. 在您的结构体上实现 Wallpaper 特性
  4. 将其添加到 wallpapers/mod.rs 中(请参见第 3 和 21 行的示例)
  5. 就是这样!您现在可以在 get_wallpaper_by_name 函数中通过您为其提供的名称尝试您的壁纸!
  6. 可选:如果您想,可以将 TEST 常量设置为 true,使您的壁纸在浮动的窗口中打开。
  7. 可选:创建一个 pull request 将您的壁纸添加到默认设置中 😎

依赖关系

~19MB
~408K SLoC