summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2019-05-21 13:42:41 -0400
committerVictor Kareh <[email protected]>2019-06-05 10:49:37 -0400
commitb59538af6e5c2858fc0d01ac1db42957c303ec48 (patch)
treec4deb980a55181e37704314cb0ce1c8486cf74fc
parentb0a9363a46746a942841ce79766a0d0f96d51d45 (diff)
downloadmarco-b59538af6e5c2858fc0d01ac1db42957c303ec48.tar.bz2
marco-b59538af6e5c2858fc0d01ac1db42957c303ec48.tar.xz
ui: Add meta_ui_update_frame_style()
This method allows forcing a style update of a particular frame from the core, so that it can pick up style variants. https://bugzilla.gnome.org/show_bug.cgi?id=645355 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/97554dc4
-rw-r--r--src/include/ui.h2
-rw-r--r--src/ui/frames.c14
-rw-r--r--src/ui/frames.h2
-rw-r--r--src/ui/ui.c7
4 files changed, 25 insertions, 0 deletions
diff --git a/src/include/ui.h b/src/include/ui.h
index bbfaf287..652e8cfc 100644
--- a/src/include/ui.h
+++ b/src/include/ui.h
@@ -104,6 +104,8 @@ void meta_ui_set_frame_title (MetaUI *ui,
Window xwindow,
const char *title);
+void meta_ui_update_frame_style (MetaUI *ui,
+ Window window);
void meta_ui_repaint_frame (MetaUI *ui,
Window xwindow);
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 1adb3ccf..9f1ee8cb 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -1030,6 +1030,20 @@ meta_frames_set_title (MetaFrames *frames,
}
void
+meta_frames_update_frame_style (MetaFrames *frames,
+ Window xwindow)
+{
+ MetaUIFrame *frame;
+
+ frame = meta_frames_lookup_window (frames, xwindow);
+
+ g_assert (frame);
+
+ meta_frames_attach_style (frames, frame);
+ invalidate_whole_window (frames, frame);
+}
+
+void
meta_frames_repaint_frame (MetaFrames *frames,
Window xwindow)
{
diff --git a/src/ui/frames.h b/src/ui/frames.h
index 1262f148..6689cc1a 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -124,6 +124,8 @@ void meta_frames_set_title (MetaFrames *frames,
Window xwindow,
const char *title);
+void meta_frames_update_frame_style (MetaFrames *frames,
+ Window xwindow);
void meta_frames_repaint_frame (MetaFrames *frames,
Window xwindow);
diff --git a/src/ui/ui.c b/src/ui/ui.c
index cc26451e..bd753210 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -427,6 +427,13 @@ meta_ui_unmap_frame (MetaUI *ui,
}
void
+meta_ui_update_frame_style (MetaUI *ui,
+ Window xwindow)
+{
+ meta_frames_update_frame_style (ui->frames, xwindow);
+}
+
+void
meta_ui_repaint_frame (MetaUI *ui,
Window xwindow)
{