diff options
Diffstat (limited to 'sway/desktop/wl_shell.c')
-rw-r--r-- | sway/desktop/wl_shell.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sway/desktop/wl_shell.c b/sway/desktop/wl_shell.c new file mode 100644 index 00000000..8bfa605e --- /dev/null +++ b/sway/desktop/wl_shell.c @@ -0,0 +1,30 @@ +#define _POSIX_C_SOURCE 199309L +#include <stdbool.h> +#include <stdlib.h> +#include <wayland-server.h> +#include <wlr/types/wlr_wl_shell.h> +#include "sway/container.h" +#include "sway/layout.h" +#include "sway/server.h" +#include "sway/view.h" +#include "log.h" + +static bool assert_wl_shell(struct sway_view *view) { + return sway_assert(view->type == SWAY_WL_SHELL_VIEW, + "Expecting wl_shell view!"); +} + +static const char *get_prop(struct sway_view *view, enum sway_view_prop prop) { + if (!assert_wl_shell(view)) { + return NULL; + } + switch (prop) { + case VIEW_PROP_TITLE: + return view->wlr_wl_shell_surface->title; + case VIEW_PROP_APP_ID: + return view->wlr_wl_shell_surface->class; + default: + return NULL; + } +} + |