summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Borzek2023-04-21 18:03:47 +0200
committerDavid Borzek2023-04-21 18:03:47 +0200
commit04e81e60878488c7a4126200ace4e43f30e049a2 (patch)
treede7a61d8ecdef8004bedd7b6f0236ec9aee602c6
downloadaur-04e81e60878488c7a4126200ace4e43f30e049a2.tar.gz
i3 with rounded border patch
-rw-r--r--.SRCINFO39
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD49
-rw-r--r--rounded-border.patch26
4 files changed, 119 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f301159c4166
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,39 @@
+pkgbase = i3-rounded-border-patch-git
+ pkgdesc = An improved dynamic tiling window manager
+ pkgver = 4.22.r31.gd06f97c4
+ pkgrel = 1
+ url = http://i3wm.org/
+ arch = i686
+ arch = x86_64
+ groups = i3
+ groups = i3-vcs
+ license = BSD
+ makedepends = git
+ makedepends = bison
+ makedepends = flex
+ makedepends = asciidoc
+ makedepends = xmlto
+ makedepends = meson
+ depends = xcb-util-keysyms
+ depends = xcb-util-wm
+ depends = libev
+ depends = yajl
+ depends = startup-notification
+ depends = pango
+ depends = perl
+ depends = xcb-util-cursor
+ depends = xcb-util-xrm
+ depends = libxkbcommon-x11
+ optdepends = i3lock: For locking your screen.
+ optdepends = i3status: To display system information with a bar.
+ provides = i3-wm
+ conflicts = i3-wm
+ conflicts = i3-gaps
+ conflicts = i3-gaps-next-git
+ options = docs
+ source = git+https://github.com/i3/i3#branch=next
+ source = rounded-border.patch
+ sha1sums = SKIP
+ sha1sums = SKIP
+
+pkgname = i3-rounded-border-patch-git
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..ff50a9b45218
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+i3/
+pkg/
+src/
+*.xz
+*.zst
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e853e10d53bf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: David Borzek <dev@davidborzek.de>
+
+pkgname=i3-rounded-border-patch-git
+pkgver=4.22.r31.gd06f97c4
+pkgrel=1
+pkgdesc='An improved dynamic tiling window manager'
+arch=('i686' 'x86_64')
+url='http://i3wm.org/'
+license=('BSD')
+provides=('i3-wm')
+conflicts=('i3-wm' 'i3-gaps' 'i3-gaps-next-git')
+groups=('i3' 'i3-vcs')
+depends=('xcb-util-keysyms' 'xcb-util-wm' 'libev' 'yajl'
+ 'startup-notification' 'pango' 'perl' 'xcb-util-cursor' 'xcb-util-xrm'
+ 'libxkbcommon-x11')
+makedepends=('git' 'bison' 'flex' 'asciidoc' 'xmlto' 'meson')
+optdepends=('i3lock: For locking your screen.'
+ 'i3status: To display system information with a bar.')
+options=('docs')
+source=('git+https://github.com/i3/i3#branch=next' 'rounded-border.patch')
+sha1sums=('SKIP' 'SKIP')
+
+prepare() {
+ cd "$srcdir/i3"
+ patch --forward --strip=1 --input="../rounded-border.patch"
+}
+
+pkgver() {
+ cd "$srcdir/i3"
+ git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+build() {
+ cd "i3"
+ arch-meson \
+ -Ddocs=true \
+ -Dmans=true \
+ ../build
+ meson compile -C ../build
+}
+
+package() {
+ cd "i3"
+ DESTDIR="${pkgdir}" meson install -C ../build
+
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/rounded-border.patch b/rounded-border.patch
new file mode 100644
index 000000000000..40b219087b46
--- /dev/null
+++ b/rounded-border.patch
@@ -0,0 +1,26 @@
+diff '--color=auto' --unified --recursive --text i3.orig/src/x.c i3.new/src/x.c
+--- i3.orig/src/x.c 2023-04-21 17:48:10.480025097 +0200
++++ i3.new/src/x.c 2023-04-21 17:48:44.040025554 +0200
+@@ -902,6 +902,22 @@
+ FREE(state->name);
+ }
+
++ if (con != NULL && con->window != NULL) {
++ Rect r = {
++ con->current_border_width, /* left */
++ con->current_border_width, /* right */
++ con->current_border_width, /* top */
++ con->current_border_width /* bottom */
++ };
++ xcb_change_property(
++ conn,
++ XCB_PROP_MODE_REPLACE,
++ con->window->id,
++ A__NET_FRAME_EXTENTS,
++ XCB_ATOM_CARDINAL, 32, 4,
++ &r);
++ }
++
+ if (con->window == NULL && (con->layout == L_STACKED || con->layout == L_TABBED)) {
+ /* Calculate the height of all window decorations which will be drawn on to
+ * this frame. */