shell: Handle set_title and set_class

This commit is contained in:
Kristian Høgsberg 2012-05-02 09:47:44 -04:00
parent 4577adce8c
commit e7afd919c9
1 changed files with 24 additions and 1 deletions

View File

@ -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