[gtk/present-toplevel: 45/54] toplevel: Add more api
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/present-toplevel: 45/54] toplevel: Add more api
- Date: Sun, 1 Mar 2020 19:37:29 +0000 (UTC)
commit f22310e8a9ec2112c06ee9eeb7eae0fb250efc96
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Mar 1 11:03:42 2020 -0800
toplevel: Add more api
gdk/gdktoplevel.c | 31 +++++++++++++++++++++++++++++++
gdk/gdktoplevel.h | 5 +++++
gdk/gdktoplevelprivate.h | 3 +++
3 files changed, 39 insertions(+)
---
diff --git a/gdk/gdktoplevel.c b/gdk/gdktoplevel.c
index dbfe61a0d5..24c944603b 100644
--- a/gdk/gdktoplevel.c
+++ b/gdk/gdktoplevel.c
@@ -74,6 +74,13 @@ gdk_toplevel_default_set_icon_list (GdkToplevel *toplevel,
{
}
+static gboolean
+gdk_toplevel_default_show_window_menu (GdkToplevel *toplevel,
+ GdkEvent *event)
+{
+ return FALSE;
+}
+
static void
gdk_toplevel_default_init (GdkToplevelInterface *iface)
{
@@ -83,6 +90,7 @@ gdk_toplevel_default_init (GdkToplevelInterface *iface)
iface->set_startup_id = gdk_toplevel_default_set_startup_id;
iface->set_transient_for = gdk_toplevel_default_set_transient_for;
iface->set_icon_list = gdk_toplevel_default_set_icon_list;
+ iface->show_window_menu = gdk_toplevel_default_show_window_menu;
}
/**
@@ -204,3 +212,26 @@ gdk_toplevel_set_icon_list (GdkToplevel *toplevel,
GDK_TOPLEVEL_GET_IFACE (toplevel)->set_icon_list (toplevel, surfaces);
}
+
+/**
+ * gdk_toplevel_show_window_menu:
+ * @toplevel: a #GdkToplevel
+ * @event: a #GdkEvent to show the menu for
+ *
+ * Asks the windowing system to show the window menu.
+ *
+ * The window menu is the menu shown when right-clicking the titlebar
+ * on traditional windows managed by the window manager. This is useful
+ * for windows using client-side decorations, activating it with a
+ * right-click on the window decorations.
+ *
+ * Returns: %TRUE if the window menu was shown and %FALSE otherwise.
+ */
+gboolean
+gdk_toplevel_show_window_menu (GdkToplevel *toplevel,
+ GdkEvent *event)
+{
+ g_return_val_if_fail (GDK_IS_TOPLEVEL (toplevel), FALSE);
+
+ return GDK_TOPLEVEL_GET_IFACE (toplevel)->show_window_menu (toplevel, event);
+}
diff --git a/gdk/gdktoplevel.h b/gdk/gdktoplevel.h
index 9439f539f2..18de8ecb61 100644
--- a/gdk/gdktoplevel.h
+++ b/gdk/gdktoplevel.h
@@ -59,6 +59,11 @@ GDK_AVAILABLE_IN_ALL
void gdk_toplevel_set_icon_list (GdkToplevel *toplevel,
GList *surfaces);
+GDK_AVAILABLE_IN_ALL
+gboolean gdk_toplevel_show_window_menu (GdkToplevel *toplevel,
+ GdkEvent *event);
+
+
G_END_DECLS
diff --git a/gdk/gdktoplevelprivate.h b/gdk/gdktoplevelprivate.h
index abebb3ce96..2954494651 100644
--- a/gdk/gdktoplevelprivate.h
+++ b/gdk/gdktoplevelprivate.h
@@ -28,6 +28,9 @@ struct _GdkToplevelInterface
void (* set_icon_list) (GdkToplevel *toplevel,
GList *surfaces);
+
+ gboolean (* show_window_menu) (GdkToplevel *toplevel,
+ GdkEvent *event);
};
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]