首页
/ Compton 项目技术文档

Compton 项目技术文档

2024-12-20 09:27:59作者:吴年前Myrtle

1. 安装指南

依赖项

在安装 Compton 之前,请确保系统中已安装以下依赖项:

  • 构建时依赖项 (B)

    • libx11 (B,R)
    • libxcomposite (B,R)
    • libxdamage (B,R)
    • libxfixes (B,R)
    • libXext (B,R)
    • libxrender (B,R)
    • libXrandr (B,R)
    • libXinerama (B,R) (可通过 NO_XINERAMA 禁用)
    • pkg-config (B)
    • make (B)
    • xproto / x11proto (B)
    • libpcre (B,R) (可通过 NO_REGEX_PCRE 禁用)
    • libconfig (B,R) (可通过 NO_LIBCONFIG 禁用)
    • libdrm (B) (可通过 NO_VSYNC_DRM 禁用)
    • libGL (B,R) (可通过 NO_VSYNC_OPENGL 禁用)
    • libdbus (B,R) (可通过 NO_DBUS 禁用)
    • asciidoc (以及 docbook-xml-dtd-4.5, libxml-utils, libxslt, xsltproc, xmlto 等,如果发行版未自动安装)
  • 运行时依赖项 (R)

    • sh (R)
    • xprop, xwininfo / x11-utils (R)

构建与安装

  1. 克隆项目仓库:

    git clone https://github.com/chjj/compton.git
    cd compton
    
  2. 构建主程序:

    make
    
  3. 构建手册页:

    make docs
    
  4. 安装:

    make install
    

注意:Compton 项目中包含一个 _CMakeLists.txt 文件,但目前尚未决定是否切换到 CMake。当前的 Makefile 是完全可用的。

2. 项目使用说明

基本使用

Compton 是一个 X11 合成器,提供了多种功能来增强桌面体验。以下是一些常用的功能:

  • OpenGL 后端:使用 --backend glx 启用 OpenGL 后端,以获得更好的性能。
  • 窗口透明度:使用 -i 设置非活动窗口的透明度,或使用 --inactive-dim 设置非活动窗口的暗度。
  • 标题栏透明度:使用 -e 设置标题栏的透明度。
  • 菜单透明度:使用 -m 设置菜单的透明度。
  • 阴影效果:支持 ARGB 窗口的阴影效果,并可通过 --shadow-[red/green/blue] 设置阴影颜色。
  • VSync 支持:尽管 VSync 支持并不总是有效,但可以通过相关选项启用。
  • 背景模糊:使用 --blur-background 模糊透明窗口的背景。

配置文件

Compton 支持通过配置文件进行自定义设置。项目中提供了一个示例配置文件 compton.sample.conf,用户可以根据需要进行修改。

常见问题

  • VSync 问题:VSync 可能无法正常工作,建议参考 VSync 指南 获取更好的效果。
  • 屏幕闪烁:当启用 --unredir-if-possible 时,窗口重定向可能会导致屏幕闪烁。使用 --paint-on-overlay 可以减少此问题。
  • 焦点跟踪问题:焦点跟踪代码尚处于实验阶段,使用 --use-ewmh-active-win 可能有助于改善此问题。

3. 项目 API 使用文档

Compton 项目本身并不提供传统的 API,但其通过命令行参数和配置文件提供了丰富的自定义选项。以下是一些常用的命令行选项:

  • --backend <backend>:设置合成器的后端,如 glxxrender
  • -i <opacity>:设置非活动窗口的透明度。
  • --inactive-dim <dim>:设置非活动窗口的暗度。
  • -e <opacity>:设置标题栏的透明度。
  • -m <opacity>:设置菜单的透明度。
  • --shadow-[red/green/blue] <value>:设置阴影的颜色。
  • --blur-background:启用背景模糊效果。
  • --vsync:启用 VSync 支持。

更多详细信息请参考 man/compton.1.asciidocman/compton-trans.1.asciidoc 手册页。

4. 项目安装方式

Compton 的安装方式主要包括以下步骤:

  1. 克隆仓库:从 GitHub 克隆 Compton 项目。
  2. 构建项目:使用 make 命令构建主程序和手册页。
  3. 安装项目:使用 make install 命令将 Compton 安装到系统中。

通过以上步骤,用户可以顺利安装并使用 Compton 合成器,享受其提供的多种桌面增强功能。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
177
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
864
512
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
261
302
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K