picom
picom 是一个X窗口系统的合成管理器,它是Compton的一个分支。
这是一个开发分支,可能会存在bug
您可以在讨论区留下反馈或想法,或者在Discord上与其他用户聊天!
更新日志
请查看发布版本
构建
依赖项
假设您已经安装了所有常用的构建工具(如gcc、python、meson、ninja等),您还需要:
- libx11
- libx11-xcb
- xproto
- xcb
- xcb-util
- xcb-damage
- xcb-xfixes
- xcb-shape
- xcb-renderutil
- xcb-render
- xcb-randr
- xcb-composite
- xcb-image
- xcb-present
- xcb-glx
- pixman
- libconfig
- libdbus(可选,使用
-Ddbus=false
meson配置标志禁用) - libGL, libEGL, libepoxy(可选,使用
-Dopengl=false
meson配置标志禁用) - libpcre2(可选,使用
-Dregex=false
meson配置标志禁用) - libev
- uthash
在基于Debian的发行版(如Ubuntu)上,需要的软件包是:
libconfig-dev libdbus-1-dev libegl-dev libev-dev libgl-dev libepoxy-dev libpcre2-dev libpixman-1-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-image0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-util-dev libxcb-xfixes0-dev meson ninja-build uthash-dev
在Fedora上,需要的软件包是:
dbus-devel gcc git libconfig-devel libdrm-devel libev-devel libX11-devel libX11-xcb libxcb-devel libGL-devel libEGL-devel libepoxy-devel meson pcre2-devel pixman-devel uthash-devel xcb-util-image-devel xcb-util-renderutil-devel xorg-x11-proto-devel xcb-util-devel
要构建文档,您需要 asciidoc
构建步骤
$ meson setup --buildtype=release build
$ ninja -C build
构建好的二进制文件可以在 build/src
中找到
如果您的库和/或头文件安装在非默认位置(例如在 /usr/local/
下),您可能需要告诉meson它们的位置,因为meson默认不会在那里查找依赖项。
您可以通过在运行 meson
时设置 CPPFLAGS
和 LDFLAGS
环境变量来实现这一点。像这样:
$ LDFLAGS="-L/path/to/libraries" CPPFLAGS="-I/path/to/headers" meson setup --buildtype=release build
例如,在FreeBSD上,您可能需要这样运行meson:
$ LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" meson setup --buildtype=release build
$ ninja -C build
安装
$ ninja -C build install
默认安装前缀是 /usr/local
,您可以通过 meson configure -Dprefix=<path> build
来更改它
如何贡献
欢迎所有形式的贡献!
无论是您认为应该包含在picom中的新功能,还是您发现的bug修复 - 请开启一个PR!
您可以查看问题列表。
我们也欢迎对文档和wiki的贡献。
即使您不想为picom添加任何内容,编译和运行这个分支并报告您发现的任何问题也是在帮助我们。
成为协作者
成为picom的协作者需要投入大量时间。您需要回复问题报告、审查PR,有时还需要修复bug或实现新功能。您将无法直接推送到主分支,所有代码仍需经过代码审查。
如果这听起来不错,请随时联系我。
贡献者
请查看贡献者列表
原始Compton项目的README可以在这里找到。