diff options
-rw-r--r-- | include/river.h | 7 | ||||
-rw-r--r-- | src/river.c | 14 |
2 files changed, 18 insertions, 3 deletions
diff --git a/include/river.h b/include/river.h index f1f8128..881ca75 100644 --- a/include/river.h +++ b/include/river.h @@ -79,10 +79,15 @@ G_DECLARE_FINAL_TYPE (AstalRiverRiver, astal_river_river, ASTAL_RIVER, RIVER, GO * * Returns: (nullable): a newly created connection to river */ - AstalRiverRiver *astal_river_river_new(); /** + * astal_river_river_get_default + * + * Returns: (nullable) (transfer none): gets the default River object. + */ +AstalRiverRiver* astal_river_river_get_default(); +/** * astal_river_river_get_outputs * @self: the AstalRiverRiver object * diff --git a/src/river.c b/src/river.c index 44225a6..61c5c9d 100644 --- a/src/river.c +++ b/src/river.c @@ -1,5 +1,6 @@ +#include "river.h" #include "river-private.h" #include <gio/gio.h> #include <wayland-client-protocol.h> @@ -295,7 +296,7 @@ static gboolean astal_river_river_initable_init (GInitable *initable, GCancellab } static void astal_river_river_initable_iface_init (GInitableIface *iface) { - iface->init = astal_river_river_initable_init; + iface->init = astal_river_river_initable_init; } static void astal_river_river_init(AstalRiverRiver *self) { @@ -303,7 +304,7 @@ static void astal_river_river_init(AstalRiverRiver *self) { } AstalRiverRiver *astal_river_river_new() { - return g_initable_new(ASTAL_RIVER_TYPE_RIVER, NULL, NULL, NULL); + return g_initable_new(ASTAL_RIVER_TYPE_RIVER, NULL, NULL, NULL); } static void disconnect_signal (gpointer key, gpointer value, gpointer user_data) { @@ -314,6 +315,15 @@ static void disconnect_signal (gpointer key, gpointer value, gpointer user_data) g_signal_handler_disconnect (output, GPOINTER_TO_UINT(value)); } +AstalRiverRiver* astal_river_river_get_default() { + static AstalRiverRiver *self = NULL; + + if (self == NULL) + self = astal_river_river_new(); + + return self; +} + static void astal_river_river_finalize(GObject *object) { AstalRiverRiver *self = ASTAL_RIVER_RIVER(object); |