summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Rustand2019-08-01 22:07:49 +0200
committerLars Rustand2019-08-01 22:07:49 +0200
commitf9e08ef0ee05eb56efb5961219d5b8ad549f3fd0 (patch)
treea3f6ccfebdc2ac22612cbbac69b69158a8902acb
parent871ab97cdfd2f85fc3be45673a643db39245cbfb (diff)
downloadaur-f9e08ef0ee05eb56efb5961219d5b8ad549f3fd0.tar.gz
Update to 4.16.1
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD31
-rw-r--r--iconsupport.patch66
3 files changed, 62 insertions, 49 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bf9cf1678c9d..4117098b73d5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = i3-wm-iconpatch
pkgdesc = An improved dynamic tiling window manager (with titlebar icon patch)
- pkgver = 4.14.1
- pkgrel = 2
+ pkgver = 4.16.1
+ pkgrel = 1
url = http://i3wm.org/
arch = i686
arch = x86_64
@@ -21,7 +21,7 @@ pkgbase = i3-wm-iconpatch
depends = libxkbcommon-x11
optdepends = dmenu: As menu.
optdepends = i3lock: For locking your screen.
- optdepends = i3status: To display systeminformation with a bar.
+ optdepends = i3status: To display system information with a bar.
optdepends = perl: i3-save-tree and i3-dmenu-desktop
optdepends = perl-anyevent-i3: Features like saving the layout.
optdepends = perl-json-xs: Features like saving the layout.
@@ -29,13 +29,13 @@ pkgbase = i3-wm-iconpatch
conflicts = i3-wm
options = docs
options = !strip
- source = http://i3wm.org/downloads/i3-4.14.1.tar.bz2
- source = http://i3wm.org/downloads/i3-4.14.1.tar.bz2.asc
+ source = http://i3wm.org/downloads/i3-4.16.1.tar.bz2
+ source = http://i3wm.org/downloads/i3-4.16.1.tar.bz2.asc
source = iconsupport.patch
validpgpkeys = 424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D
- sha1sums = 2f98fdebbdc8b6214d8c258db062ae02095ca2f9
+ sha1sums = 95607b8e09bdf5d18032b2ec391cb1000efcdf5a
sha1sums = SKIP
- sha1sums = 9b91e6490c32c05d6f619e21ae1a7850dd0bc745
+ sha1sums = 2ccc24022d4bbf1b1f5aa423e0a977ba99447f33
pkgname = i3-wm-iconpatch
diff --git a/PKGBUILD b/PKGBUILD
index b5f6b218a62a..868bb05236ec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,13 +1,14 @@
+# Maintainer: Lars Rustand <rustand dot lars at gmail dot com>
# Upstream Maintainer (i3-wm): Thorsten Töpper <atsutane-tu@freethoughts.de>
# Patch Contributor: Marius Muja <mariusm@cs.ubc.ca>
# Patch Contributor: mickael9 <mickael9@gmail.com>
# Patch Contributor: Esteve Varela Colominas <esteve.varela@gmail.com>
-# Package Maintainer: cornholio <vigo.the.unholy.carpathian@gmail.com>
+# Contributor: cornholio <vigo.the.unholy.carpathian@gmail.com>
pkgname=i3-wm-iconpatch
_pkgsourcename=i3
-pkgver=4.14.1
-pkgrel=2
+pkgver=4.16.1
+pkgrel=1
pkgdesc='An improved dynamic tiling window manager (with titlebar icon patch)'
arch=('i686' 'x86_64')
url='http://i3wm.org/'
@@ -15,12 +16,12 @@ license=('BSD')
provides=('i3-wm')
conflicts=('i3-wm')
groups=('i3')
-depends=('xcb-util-cursor' 'xcb-util-keysyms' 'xcb-util-wm' 'xcb-util-xrm'
+depends=('xcb-util-cursor' 'xcb-util-keysyms' 'xcb-util-wm' 'xcb-util-xrm'
'libev' 'yajl' 'startup-notification' 'pango' 'libxkbcommon-x11')
makedepends=('bison' 'flex' 'pkg-config')
optdepends=('dmenu: As menu.'
'i3lock: For locking your screen.'
- 'i3status: To display systeminformation with a bar.'
+ 'i3status: To display system information with a bar.'
'perl: i3-save-tree and i3-dmenu-desktop'
'perl-anyevent-i3: Features like saving the layout.'
'perl-json-xs: Features like saving the layout.')
@@ -28,15 +29,17 @@ options=('docs' '!strip')
source=("http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2"
"http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2.asc"
"iconsupport.patch")
-sha1sums=('2f98fdebbdc8b6214d8c258db062ae02095ca2f9'
- 'SKIP'
- '9b91e6490c32c05d6f619e21ae1a7850dd0bc745')
+sha1sums=(
+ '95607b8e09bdf5d18032b2ec391cb1000efcdf5a'
+ 'SKIP'
+ '2ccc24022d4bbf1b1f5aa423e0a977ba99447f33'
+)
validpgpkeys=('424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D') # Michael Stapelberg
prepare() {
cd "$srcdir/$_pkgsourcename-$pkgver"
-
+
patch -p1 < "$srcdir/iconsupport.patch"
}
@@ -44,9 +47,11 @@ prepare() {
build() {
cd "$srcdir/$_pkgsourcename-$pkgver"
+ [ -d build ] && rm -rf build
+ mkdir build
+ cd build
- ./configure --prefix=/usr --sysconfdir=/etc
- cd ${CARCH}-pc-linux-gnu
+ ../configure --prefix=/usr --sysconfdir=/etc
# In order to avoid problems with bison use only a single process
MAKEFLAGS="-j1"
@@ -56,7 +61,7 @@ build() {
package() {
- cd "$srcdir/$_pkgsourcename-$pkgver/${CARCH}-pc-linux-gnu"
+ cd "$srcdir/$_pkgsourcename-$pkgver/build"
make DESTDIR="$pkgdir/" install
@@ -64,7 +69,7 @@ package() {
install -m644 ../man/*.1 "${pkgdir}/usr/share/man/man1/"
install -Dm644 ../LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/iconsupport.patch b/iconsupport.patch
index 2dbb39055246..1e3096df85b4 100644
--- a/iconsupport.patch
+++ b/iconsupport.patch
@@ -1,5 +1,5 @@
diff --git a/include/atoms_rest.xmacro b/include/atoms_rest.xmacro
-index d461dc08..f32a7e1e 100644
+index b65a81d..df56fd3 100644
--- a/include/atoms_rest.xmacro
+++ b/include/atoms_rest.xmacro
@@ -1,6 +1,7 @@
@@ -11,10 +11,10 @@ index d461dc08..f32a7e1e 100644
xmacro(WM_DELETE_WINDOW)
xmacro(UTF8_STRING)
diff --git a/include/data.h b/include/data.h
-index 31ef1dc1..0d24b8b7 100644
+index f55e003..d7e22a3 100644
--- a/include/data.h
+++ b/include/data.h
-@@ -470,6 +470,11 @@ struct Window {
+@@ -483,6 +483,11 @@ struct Window {
/* aspect ratio from WM_NORMAL_HINTS (MPlayer uses this for example) */
double aspect_ratio;
@@ -27,10 +27,10 @@ index 31ef1dc1..0d24b8b7 100644
/**
diff --git a/include/libi3.h b/include/libi3.h
-index b7a1e2aa..612dfd3f 100644
+index 790baba..cc88ee7 100644
--- a/include/libi3.h
+++ b/include/libi3.h
-@@ -601,6 +601,11 @@ color_t draw_util_hex_to_color(const char *color);
+@@ -614,6 +614,11 @@ color_t draw_util_hex_to_color(const char *color);
*/
void draw_util_text(i3String *text, surface_t *surface, color_t fg_color, color_t bg_color, int x, int y, int max_width);
@@ -43,7 +43,7 @@ index b7a1e2aa..612dfd3f 100644
* Draws a filled rectangle.
* This function is a convenience wrapper and takes care of flushing the
diff --git a/include/window.h b/include/window.h
-index 77e3f48f..894ee9fd 100644
+index 77e3f48..894ee9f 100644
--- a/include/window.h
+++ b/include/window.h
@@ -89,3 +89,9 @@ void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop, bool *ur
@@ -57,7 +57,7 @@ index 77e3f48f..894ee9fd 100644
+ */
+void window_update_icon(i3Window *win, xcb_get_property_reply_t *prop);
diff --git a/libi3/draw_util.c b/libi3/draw_util.c
-index 6a2e93dc..2147effc 100644
+index f88360d..59a9d8e 100644
--- a/libi3/draw_util.c
+++ b/libi3/draw_util.c
@@ -140,6 +140,42 @@ void draw_util_text(i3String *text, surface_t *surface, color_t fg_color, color_
@@ -100,14 +100,14 @@ index 6a2e93dc..2147effc 100644
+ cairo_restore(surface->cr);
+}
+
- /**
+ /*
* Draws a filled rectangle.
* This function is a convenience wrapper and takes care of flushing the
diff --git a/src/handlers.c b/src/handlers.c
-index 3140e405..621c38e8 100644
+index b967791..efab679 100644
--- a/src/handlers.c
+++ b/src/handlers.c
-@@ -1402,6 +1402,19 @@ static bool handle_strut_partial_change(void *data, xcb_connection_t *conn, uint
+@@ -1392,6 +1392,19 @@ static bool handle_strut_partial_change(void *data, xcb_connection_t *conn, uint
return true;
}
@@ -127,7 +127,7 @@ index 3140e405..621c38e8 100644
/* Returns false if the event could not be processed (e.g. the window could not
* be found), true otherwise */
typedef bool (*cb_property_handler_t)(void *data, xcb_connection_t *c, uint8_t state, xcb_window_t window, xcb_atom_t atom, xcb_get_property_reply_t *property);
-@@ -1423,7 +1436,8 @@ static struct property_handler_t property_handlers[] = {
+@@ -1413,7 +1426,8 @@ static struct property_handler_t property_handlers[] = {
{0, 128, handle_class_change},
{0, UINT_MAX, handle_strut_partial_change},
{0, UINT_MAX, handle_window_type},
@@ -137,7 +137,7 @@ index 3140e405..621c38e8 100644
#define NUM_HANDLERS (sizeof(property_handlers) / sizeof(struct property_handler_t))
/*
-@@ -1445,6 +1459,7 @@ void property_handlers_init(void) {
+@@ -1435,6 +1449,7 @@ void property_handlers_init(void) {
property_handlers[8].atom = A__NET_WM_STRUT_PARTIAL;
property_handlers[9].atom = A__NET_WM_WINDOW_TYPE;
property_handlers[10].atom = A__MOTIF_WM_HINTS;
@@ -146,7 +146,7 @@ index 3140e405..621c38e8 100644
static void property_notify(uint8_t state, xcb_window_t window, xcb_atom_t atom) {
diff --git a/src/manage.c b/src/manage.c
-index 004e8038..9bf910d8 100644
+index c4706b0..4e240d7 100644
--- a/src/manage.c
+++ b/src/manage.c
@@ -91,6 +91,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
@@ -184,7 +184,7 @@ index 004e8038..9bf910d8 100644
if (!xcb_icccm_get_wm_size_hints_reply(conn, wm_normal_hints_cookie, &wm_size_hints, NULL))
memset(&wm_size_hints, '\0', sizeof(xcb_size_hints_t));
diff --git a/src/window.c b/src/window.c
-index 68c6933a..9df3e631 100644
+index 6128255..797be6a 100644
--- a/src/window.c
+++ b/src/window.c
@@ -17,6 +17,7 @@ void window_free(i3Window *win) {
@@ -195,7 +195,7 @@ index 68c6933a..9df3e631 100644
FREE(win->ran_assignments);
FREE(win);
}
-@@ -365,3 +366,91 @@ void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, bo
+@@ -371,3 +372,91 @@ void window_update_motif_hints(i3Window *win, xcb_get_property_reply_t *prop, bo
#undef MWM_DECOR_BORDER
#undef MWM_DECOR_TITLE
}
@@ -288,10 +288,10 @@ index 68c6933a..9df3e631 100644
+ FREE(prop);
+}
diff --git a/src/x.c b/src/x.c
-index 09a60493..ed118b52 100644
+index 267372f..51ea062 100644
--- a/src/x.c
+++ b/src/x.c
-@@ -544,8 +544,9 @@ void x_draw_decoration(Con *con) {
+@@ -576,11 +576,35 @@ void x_draw_decoration(Con *con) {
/* 5: draw two unconnected horizontal lines in border color */
x_draw_title_border(con, p);
@@ -299,13 +299,12 @@ index 09a60493..ed118b52 100644
+ /* 6: draw the icon and title */
int text_offset_y = (con->deco_rect.height - config.font.height) / 2;
+ int text_offset_x = 0;
++
++ struct Window *win = con->window;
- struct Window *win = con->window;
- if (win == NULL) {
-@@ -572,6 +573,25 @@ void x_draw_decoration(Con *con) {
- goto after_title;
- }
-
+ const int title_padding = logical_px(2);
+ const int deco_width = (int)con->deco_rect.width;
++
+ /* Draw the icon */
+ if (win->icon) {
+ uint16_t icon_size = con->deco_rect.height - 2 * logical_px(1);
@@ -325,18 +324,27 @@ index 09a60493..ed118b52 100644
+ icon_size);
+ }
+
++
int mark_width = 0;
if (config.show_marks && !TAILQ_EMPTY(&(con->marks_head))) {
char *formatted_mark = sstrdup("");
-@@ -611,9 +631,9 @@ void x_draw_decoration(Con *con) {
+@@ -619,7 +643,6 @@ void x_draw_decoration(Con *con) {
+ }
+
+ i3String *title = NULL;
+- struct Window *win = con->window;
+ if (win == NULL) {
+ if (con->title_format == NULL) {
+ char *_title;
+@@ -663,9 +686,9 @@ void x_draw_decoration(Con *con) {
draw_util_text(title, &(parent->frame_buffer),
p->color->text, p->color->background,
-- con->deco_rect.x + logical_px(2),
-+ con->deco_rect.x + text_offset_x + logical_px(2),
+- con->deco_rect.x + title_offset_x,
++ con->deco_rect.x + text_offset_x + title_offset_x,
con->deco_rect.y + text_offset_y,
-- con->deco_rect.width - mark_width - 2 * logical_px(2));
-+ con->deco_rect.width - text_offset_x - mark_width - 2 * logical_px(2));
+- deco_width - mark_width - 2 * title_padding);
++ deco_width - text_offset_x - mark_width - 2 * title_padding);
- if (con->title_format != NULL) {
+ if (win == NULL || con->title_format != NULL) {
I3STRING_FREE(title);