commit 625eb821992b57bb354a7f775be9a685ee47d67e
parent f39e4fa0db279aa7dde9b527ccfa48d67c16f0d0
Author: Michael Forney <mforney@mforney.org>
Date: Tue, 5 Aug 2014 00:06:22 -0700
window: Add swc_window_close method
This allows the window manager to close a window using a key binding.
Diffstat:
3 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/libswc/swc.h b/libswc/swc.h
@@ -103,6 +103,11 @@ struct swc_window
};
/**
+ * Request that the specified window close.
+ */
+void swc_window_close(struct swc_window * window);
+
+/**
* Make the specified window visible.
*/
void swc_window_show(struct swc_window * window);
diff --git a/libswc/window.c b/libswc/window.c
@@ -56,6 +56,15 @@ struct wl_listener window_enter_listener = {
};
EXPORT
+void swc_window_close(struct swc_window * base)
+{
+ struct window * window = INTERNAL(base);
+
+ if (window->impl->close)
+ window->impl->close(window);
+}
+
+EXPORT
void swc_window_show(struct swc_window * window)
{
compositor_view_show(INTERNAL(window)->view);
diff --git a/libswc/window.h b/libswc/window.h
@@ -61,6 +61,7 @@ struct window_impl
const struct swc_rectangle * geometry);
void (* focus)(struct window * window);
void (* unfocus)(struct window * window);
+ void (* close)(struct window * window);
};
extern struct wl_listener window_enter_listener;