shell: Handle set_title and set_class
This commit is contained in:
parent
4577adce8c
commit
e7afd919c9
25
src/shell.c
25
src/shell.c
|
@ -116,6 +116,7 @@ struct shell_surface {
|
|||
struct desktop_shell *shell;
|
||||
|
||||
enum shell_surface_type type, next_type;
|
||||
char *title, *class;
|
||||
int32_t saved_x, saved_y;
|
||||
bool saved_position_valid;
|
||||
bool saved_rotation_valid;
|
||||
|
@ -476,6 +477,26 @@ shell_surface_pong(struct wl_client *client, struct wl_resource *resource,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
shell_surface_set_title(struct wl_client *client,
|
||||
struct wl_resource *resource, const char *title)
|
||||
{
|
||||
struct shell_surface *shsurf = resource->data;
|
||||
|
||||
free(shsurf->title);
|
||||
shsurf->title = strdup(title);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_surface_set_class(struct wl_client *client,
|
||||
struct wl_resource *resource, const char *class)
|
||||
{
|
||||
struct shell_surface *shsurf = resource->data;
|
||||
|
||||
free(shsurf->class);
|
||||
shsurf->class = strdup(class);
|
||||
}
|
||||
|
||||
static int
|
||||
weston_surface_move(struct weston_surface *es,
|
||||
struct weston_input_device *wd)
|
||||
|
@ -1137,7 +1158,9 @@ static const struct wl_shell_surface_interface shell_surface_implementation = {
|
|||
shell_surface_set_transient,
|
||||
shell_surface_set_fullscreen,
|
||||
shell_surface_set_popup,
|
||||
shell_surface_set_maximized
|
||||
shell_surface_set_maximized,
|
||||
shell_surface_set_title,
|
||||
shell_surface_set_class
|
||||
};
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue