aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/wl_shell.c
blob: 8bfa605eb2c3de529bfa5e64d2ecce798ea916af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
	}
}