From 88d2858736dc234a2f93697a59b378b1e4610fa8 Mon Sep 17 00:00:00 2001 From: Tom Beckmann Date: Sun, 20 Jul 2014 22:16:21 +0200 Subject: [PATCH] forgot ActivatableComponent --- lib/ActivatableComponent.vala | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lib/ActivatableComponent.vala diff --git a/lib/ActivatableComponent.vala b/lib/ActivatableComponent.vala new file mode 100644 index 00000000..b8b557f4 --- /dev/null +++ b/lib/ActivatableComponent.vala @@ -0,0 +1,35 @@ + +namespace Gala +{ + /** + * Implement this interface on your {@link Plugin} class if you want to + * replace a component like the window overview or the multitasking view. + * It allows gala to hook up functionality like hotcorners and dbus + * invocation of your component. + */ + public interface ActivatableComponent : Object + { + /** + * The component was requested to be opened. + * + * @param hints The hashmap may contain special parameters that are useful + * to the component. Currently, the only one implemented is the + * 'all-windows' hint to the windowoverview. + */ + public abstract void open (Gee.HashMap? hints = null); + + /** + * The component was requested to be closed. + */ + public abstract void close (); + + /** + * Should return whether the component is currently opened. Used mainly for + * toggling by the window manager. + * + * @return Return true if the component is opened. + */ + public abstract bool is_opened (); + } +} +