[metacity] window: add set_icon_geometry() method
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] window: add set_icon_geometry() method
- Date: Sun, 26 Feb 2017 22:23:31 +0000 (UTC)
commit 1911a8386b722f78c48301a7cf056f3d99084882
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Jan 23 01:11:23 2013 +0100
window: add set_icon_geometry() method
Using a public method for setting the (cached) icon geometry rather
than accessing the struct members directly allows setting the icon
geometry from extensions.
https://bugzilla.gnome.org/show_bug.cgi?id=692997
src/core/window-private.h | 3 +++
src/core/window-props.c | 15 +++++++++------
src/core/window.c | 15 +++++++++++++++
3 files changed, 27 insertions(+), 6 deletions(-)
---
diff --git a/src/core/window-private.h b/src/core/window-private.h
index d54d03f..fe36694 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -645,6 +645,9 @@ void meta_window_update_layer (MetaWindow *window);
gboolean meta_window_get_icon_geometry (MetaWindow *window,
MetaRectangle *rect);
+void meta_window_set_icon_geometry (MetaWindow *window,
+ MetaRectangle *rect);
+
const char* meta_window_get_startup_id (MetaWindow *window);
void meta_window_recalc_features (MetaWindow *window);
diff --git a/src/core/window-props.c b/src/core/window-props.c
index c9a972e..c45f09b 100644
--- a/src/core/window-props.c
+++ b/src/core/window-props.c
@@ -359,16 +359,19 @@ reload_icon_geometry (MetaWindow *window,
}
else
{
- window->icon_geometry.x = (int)value->v.cardinal_list.cardinals[0];
- window->icon_geometry.y = (int)value->v.cardinal_list.cardinals[1];
- window->icon_geometry.width = (int)value->v.cardinal_list.cardinals[2];
- window->icon_geometry.height = (int)value->v.cardinal_list.cardinals[3];
- window->icon_geometry_set = TRUE;
+ MetaRectangle geometry;
+
+ geometry.x = (int)value->v.cardinal_list.cardinals[0];
+ geometry.y = (int)value->v.cardinal_list.cardinals[1];
+ geometry.width = (int)value->v.cardinal_list.cardinals[2];
+ geometry.height = (int)value->v.cardinal_list.cardinals[3];
+
+ meta_window_set_icon_geometry (window, &geometry);
}
}
else
{
- window->icon_geometry_set = FALSE;
+ meta_window_set_icon_geometry (window, NULL);
}
}
diff --git a/src/core/window.c b/src/core/window.c
index 506ad15..6947248 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -5818,6 +5818,21 @@ meta_window_get_icon_geometry (MetaWindow *window,
return FALSE;
}
+void
+meta_window_set_icon_geometry (MetaWindow *window,
+ MetaRectangle *rect)
+{
+ if (rect)
+ {
+ window->icon_geometry = *rect;
+ window->icon_geometry_set = TRUE;
+ }
+ else
+ {
+ window->icon_geometry_set = FALSE;
+ }
+}
+
static Window
read_client_leader (MetaDisplay *display,
Window xwindow)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]