diff --git a/x11-libs/libwm/Manifest b/x11-libs/libwm/Manifest
new file mode 100644
index 0000000..6913cf3
--- /dev/null
+++ b/x11-libs/libwm/Manifest
@@ -0,0 +1 @@
+DIST libwm-1.3.tar.bz2 6487 BLAKE2B c5af91b9ad54cc9cbe744e09362ee9896384e822c8e58cd5de877675b50e520e2291118c35ca095d59e92cc91f8e11ca3a4aad0894007d0dd40eb7b404890ea1 SHA512 b3855327483d8dcb4723e78a905112d7266d80ca4313836640ced52fed16a95d1ea783c2bfb7ff540216927beb2fc43e3a957f2162a16513e96c7fae0ca19560
diff --git a/x11-libs/libwm/libwm-1.3.ebuild b/x11-libs/libwm/libwm-1.3.ebuild
new file mode 100644
index 0000000..9435487
--- /dev/null
+++ b/x11-libs/libwm/libwm-1.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A small library for X window manipulation"
+HOMEPAGE="https://z3bra.org/libwm/"
+SRC_URI="https://dl.z3bra.org/releases/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="x11-libs/libxcb"
+RDEPEND="${DEPEND}"
+
+RESTRICT="mirror"
+
+src_configure() {
+ elog "Populating ${S}/config.mk with new values..."
+ echo "CC = $(tc-getCC)" > config.mk
+ echo "CFLAGS = -std=c99 -pedantic -Wall -fPIC ${CFLAGS}" >> config.mk
+ echo "LD = $(tc-getLD)" >> config.mk
+ echo "LDFLAGS = $(tc-getPKG_CONFIG) --libs xcb xcb-randr" >> config.mk
+ echo "PREFIX = ${EPREFIX}/usr" >> config.mk
+ elog "Done."
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/x11-libs/libwm/metadata.xml b/x11-libs/libwm/metadata.xml
new file mode 100644
index 0000000..a9ea785
--- /dev/null
+++ b/x11-libs/libwm/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+
diff --git a/x11-misc/wmutils/Manifest b/x11-misc/wmutils/Manifest
new file mode 100644
index 0000000..d154eba
--- /dev/null
+++ b/x11-misc/wmutils/Manifest
@@ -0,0 +1 @@
+DIST wmutils-1.7.tar.gz 12284 BLAKE2B 1d6d363868d11e329d8e7ca069464940716534192d37f1405b014cf7f5ace2e08587eeef7351ebb95bbcfab4a449b407f1d56178dfe2a6d525590cd4b85c87fe SHA512 726fb328f503c6338f3b855ea77d797db647a78d1de02cfbb3778f27d10dbaa6cec14f46558d46da866b33467a1ab7871634075800d8f2ef00d3e0b5d331c65a
diff --git a/x11-misc/wmutils/metadata.xml b/x11-misc/wmutils/metadata.xml
new file mode 100644
index 0000000..a9ea785
--- /dev/null
+++ b/x11-misc/wmutils/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+
diff --git a/x11-misc/wmutils/wmutils-1.7.ebuild b/x11-misc/wmutils/wmutils-1.7.ebuild
new file mode 100644
index 0000000..3eccd4d
--- /dev/null
+++ b/x11-misc/wmutils/wmutils-1.7.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Set of window manipulation tools"
+HOMEPAGE="https://github.com/wmutils/core"
+SRC_URI="https://github.com/wmutils/core/archive/refs/tags/v1.7.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/core-${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ x11-libs/libxcb
+"
+RDEPEND="${DEPEND}"
+
+RESTRICT="mirror"
+
+src_configure() {
+ elog "Populating ${S}/config.mk with new values..."
+ echo "CC = $(tc-getCC)" > config.mk
+ echo "CFLAGS = -std=c99 -pedantic -Wall ${CFLAGS}" >> config.mk
+ echo "LD = $(tc-getLD)" >> config.mk
+ echo "PREFIX = ${EPREFIX}/usr" >> config.mk
+ echo "MANDIR = ${EPREFIX}/usr/share/man" >> config.mk
+ echo "DESTDIR = ${D}" >> config.mk
+ elog "Done."
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ # DESTDIR has already been set in the configure step
+ emake install
+}
diff --git a/x11-wm/glazier/Manifest b/x11-wm/glazier/Manifest
new file mode 100644
index 0000000..8383de2
--- /dev/null
+++ b/x11-wm/glazier/Manifest
@@ -0,0 +1 @@
+DIST glazier-1.1.tar.bz2 12816 BLAKE2B 4cb502e7c23073c568ab9e9a460ac478057afcaef53a6540ca8b258a5373598ab84e00ed168827677a12490affd2eee55cd604b58b04f3d458ce296a016d5dbf SHA512 d51836df9df31f7d9a02af14da78675acc9c5aabfc8251690080886164b48dda1172495086ca3cc5a986265f4197a973a49c8557fd14fe837191fe420153db88
diff --git a/x11-wm/glazier/glazier-1.1.ebuild b/x11-wm/glazier/glazier-1.1.ebuild
new file mode 100644
index 0000000..bc2175a
--- /dev/null
+++ b/x11-wm/glazier/glazier-1.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2026 Shin'ya Minazuki
+EAPI=8
+
+inherit toolchain-funcs optfeature
+
+DESCRIPTION="X windows manipulator"
+HOMEPAGE="https://z3bra.org/glazier/"
+SRC_URI="https://dl.z3bra.org/releases/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ x11-libs/libxcb
+ x11-libs/libwm
+"
+RDEPEND="${DEPEND}"
+RESTRICT="mirror"
+
+src_configure() {
+ elog "Populating ${S}/config.mk with new values..."
+ echo "CC = $(tc-getCC)" > config.mk
+ echo "CFLAGS = -Wall -Wextra -pedantic -g ${CFLAGS}" >> config.mk
+ echo "LD = $(tc-getLD)" >> config.mk
+ echo "LDFLAGS = -lwm -lxcb-cursor -lxcb-image -lxcb-randr -lxcb" >> config.mk
+ echo "PREFIX = ${EPREFIX}/usr" >> config.mk
+ echo "MANDIR = ${EPREFIX}/usr/share/man" >> config.mk
+ elog "Done."
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ # A session isn't installed for this window manager
+ # because it's effectively a blank screen where
+ # one can't do anything
+ emake DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ optfeature "keyboard shortcuts" x11-misc/sxhkd
+ optfeature "fine-grained window manipulation utilities" x11-misc/wmutils
+}
diff --git a/x11-wm/glazier/metadata.xml b/x11-wm/glazier/metadata.xml
new file mode 100644
index 0000000..a9ea785
--- /dev/null
+++ b/x11-wm/glazier/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ shinyoukai@laidback.moe
+ Shin'ya Minazuki
+
+