Picom ソースからビルドする

2020年3月25日

i3wm コンポジター ソースからビルド

コンポジットマネージャー Picom
Comptonの代わりに。

https://github.com/yshui/picom
https://wiki.archlinux.jp/index.php/Picom

Debian sid でビルドする

sudo apt install meson ninja-build

依存パッケージ

sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev  libpcre2-dev  libevdev-dev uthash-dev libev-dev libx11-xcb-dev

ビルド開始

$ git submodule update --init --recursive
$ meson --buildtype=release . build
$ ninja -C build

インストール

$ ninja -C build install

porgを使うときは:
sudo porg -lD "ninja -C build install"

バイナリは `build/src` にある。
インストールしなくても `build/src/picom` で実行できる。

設定

compton-conf qt で設定できるが、一部機能が異なる。

ウィンドウマネージャー i3 の時、最上部のタイトルバーに影がつく

~/.config/compton.conf に
shadow-exclude に `"class_g = 'i3-frame'"` を追加する

インプットメソッドはフェードさせない

fade-exclude に "class_g = 'fcitx'" を追加。

Ubuntu 18.04 でビルドする

sudo apt install meson ninja-build
sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev  libpcre2-dev  libevdev-dev uthash-dev libev-dev libx11-xcb-dev

meson --buildtype=release . build
nice ninja -C build
sudo porg -E$PWD -lD "ninja -C build install"

※porgを使用してインストール