summarylogtreecommitdiffstats
path: root/iconsupport.patch
diff options
context:
space:
mode:
Diffstat (limited to 'iconsupport.patch')
-rw-r--r--iconsupport.patch32
1 files changed, 5 insertions, 27 deletions
diff --git a/iconsupport.patch b/iconsupport.patch
index 1e3096df85b4..f6df6e4cbb24 100644
--- a/iconsupport.patch
+++ b/iconsupport.patch
@@ -10,22 +10,21 @@ index b65a81d..df56fd3 100644
xmacro(WM_PROTOCOLS)
xmacro(WM_DELETE_WINDOW)
xmacro(UTF8_STRING)
-diff --git a/include/data.h b/include/data.h
-index f55e003..d7e22a3 100644
--- a/include/data.h
+++ b/include/data.h
-@@ -483,6 +483,11 @@ struct Window {
+@@ -483,7 +483,12 @@ struct Window {
/* aspect ratio from WM_NORMAL_HINTS (MPlayer uses this for example) */
- double aspect_ratio;
+ double min_aspect_ratio;
+ double max_aspect_ratio;
+
+ /** Window icon, as array of ARGB pixels */
+ uint32_t* icon;
+ int icon_width;
+ int icon_height;
- };
- /**
+ /** The window has a nonrectangular shape. */
+ bool shaped;
diff --git a/include/libi3.h b/include/libi3.h
index 790baba..cc88ee7 100644
--- a/include/libi3.h
@@ -42,8 +41,6 @@ index 790baba..cc88ee7 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 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
@@ -56,8 +53,6 @@ index 77e3f48..894ee9f 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 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_
@@ -103,8 +98,6 @@ index f88360d..59a9d8e 100644
/*
* 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 b967791..efab679 100644
--- a/src/handlers.c
+++ b/src/handlers.c
@@ -1392,6 +1392,19 @@ static bool handle_strut_partial_change(void *data, xcb_connection_t *conn, uint
@@ -145,8 +138,6 @@ index b967791..efab679 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 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
@@ -174,17 +165,6 @@ index c4706b0..4e240d7 100644
window_update_leader(cwindow, xcb_get_property_reply(conn, leader_cookie, NULL));
window_update_transient_for(cwindow, xcb_get_property_reply(conn, transient_cookie, NULL));
window_update_strut_partial(cwindow, xcb_get_property_reply(conn, strut_cookie, NULL));
-@@ -185,6 +189,8 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
- window_update_hints(cwindow, xcb_get_property_reply(conn, wm_hints_cookie, NULL), &urgency_hint);
- border_style_t motif_border_style = BS_NORMAL;
- window_update_motif_hints(cwindow, xcb_get_property_reply(conn, motif_wm_hints_cookie, NULL), &motif_border_style);
-+
-+
- xcb_size_hints_t wm_size_hints;
- 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 6128255..797be6a 100644
--- a/src/window.c
+++ b/src/window.c
@@ -17,6 +17,7 @@ void window_free(i3Window *win) {
@@ -287,8 +267,6 @@ index 6128255..797be6a 100644
+
+ FREE(prop);
+}
-diff --git a/src/x.c b/src/x.c
-index 267372f..51ea062 100644
--- a/src/x.c
+++ b/src/x.c
@@ -576,11 +576,35 @@ void x_draw_decoration(Con *con) {