summaryrefslogtreecommitdiff
path: root/gui-libs/pixdecor/pixdecor-0.1.0_p20261006-r9.ebuild
blob: 51913235edf85e42d3ffe70c55363ab2284e8e73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Hedronfire (2026-11-01): focus flash on the Sculpted frame edge when keyboard focus lands on a window you are not pointing at (optionally also on pointer focus: focus_flash_pointer); another plugin can opt a window out with the view property pixdecor-focus-flash = none / skip-once (drawers), on top of r6 (sculpted inner padding)
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit meson

DESCRIPTION="Wayfire decorator with rounded corners, shadows, and animated effects"
HOMEPAGE="https://github.com/soreau/pixdecor"
# Snapshot of the commit pixdecor-9999-r5 pins (2026-10-06); upstream has no releases.
COMMIT="222e61d971b045a821cf212a6e221367c05d966b"
SRC_URI="https://github.com/soreau/pixdecor/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-${COMMIT}"

PATCHES=(
	"${FILESDIR}/${PN}-sculpted-frames.patch"
	"${FILESDIR}/${PN}-shell-theme.patch"
	"${FILESDIR}/${PN}-shade-input.patch"
	"${FILESDIR}/${PN}-render-hook-tracking.patch"
	"${FILESDIR}/${PN}-shade-deco-lifetime.patch"
	"${FILESDIR}/${PN}-shade-output-lifetime.patch"
	"${FILESDIR}/${PN}-theme-ipc-validate.patch"
	"${FILESDIR}/${PN}-corner-resize.patch"
	"${FILESDIR}/${PN}-theme-owner.patch"
	"${FILESDIR}/pixdecor-theme-init.patch"
	"${FILESDIR}/pixdecor-shade-callback-lifetime.patch"
	"${FILESDIR}/pixdecor-srcux-defaults.patch"
	"${FILESDIR}/pixdecor-sculpted-padding.patch"
	"${FILESDIR}/pixdecor-focus-flash.patch"
	"${FILESDIR}/pixdecor-focus-flash-pointer.patch"
	"${FILESDIR}/pixdecor-focus-flash-property.patch"
)

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
# Upstream has no test suite.
RESTRICT="test"

RDEPEND="
	dev-libs/glib:2
	dev-libs/wayland
	gui-libs/wf-config:=
	gui-libs/wlroots:0.20=
	>=gui-wm/wayfire-0.11.0:=[gles3]
	media-libs/libglvnd
	x11-libs/cairo
	x11-libs/pango
	x11-libs/pixman
"
DEPEND="
	${RDEPEND}
	media-libs/glm
	sys-kernel/linux-headers
"
BDEPEND="
	sys-devel/gettext
	virtual/pkgconfig
"

src_install() {
    meson_src_install
    dodoc README.md
}

pkg_postinst() {
	elog "Add pixdecor to the plugins list in the [core] section of wayfire.ini."
	elog "Disable other decoration plugins; Pixdecor owns window frames."
	elog "Frame settings are in WCM -> Pix Decoration -> Window frames."
	elog "Sculpted adds border depth, pinstripe color/opacity and inner padding."
	elog "border_padding (default 0) ends the bevel before the window and closes it with a bead;"
	elog "with an 11 px border, try border_padding = 7 in [pixdecor]."
	elog "focus_flash (default on) lights up the Sculpted frame edge for a moment when keyboard"
	elog "focus lands on a window you are not pointing at; see WCM -> Pix Decoration -> Focus flash."
	elog "With follow-focus, focus_flash_pointer = true flashes hover focus changes too."
}