mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-13 08:55:58 +01:00
Unify view events naming, remove client from event structs
This commit is contained in:
parent
a268f57ed5
commit
17d9e2ce35
6 changed files with 55 additions and 111 deletions
|
@ -12,8 +12,8 @@ struct roots_wl_shell_surface {
|
|||
struct wl_listener destroy;
|
||||
struct wl_listener request_move;
|
||||
struct wl_listener request_resize;
|
||||
struct wl_listener request_set_maximized;
|
||||
struct wl_listener request_set_fullscreen;
|
||||
struct wl_listener request_maximize;
|
||||
struct wl_listener request_fullscreen;
|
||||
struct wl_listener set_state;
|
||||
|
||||
struct wl_listener surface_commit;
|
||||
|
|
|
@ -81,8 +81,8 @@ struct wlr_wl_shell_surface {
|
|||
|
||||
struct wl_signal request_move;
|
||||
struct wl_signal request_resize;
|
||||
struct wl_signal request_set_fullscreen;
|
||||
struct wl_signal request_set_maximized;
|
||||
struct wl_signal request_fullscreen;
|
||||
struct wl_signal request_maximize;
|
||||
|
||||
struct wl_signal set_state;
|
||||
struct wl_signal set_title;
|
||||
|
@ -93,14 +93,12 @@ struct wlr_wl_shell_surface {
|
|||
};
|
||||
|
||||
struct wlr_wl_shell_surface_move_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_wl_shell_surface *surface;
|
||||
struct wlr_seat_client *seat;
|
||||
uint32_t serial;
|
||||
};
|
||||
|
||||
struct wlr_wl_shell_surface_resize_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_wl_shell_surface *surface;
|
||||
struct wlr_seat_client *seat;
|
||||
uint32_t serial;
|
||||
|
@ -108,15 +106,13 @@ struct wlr_wl_shell_surface_resize_event {
|
|||
};
|
||||
|
||||
struct wlr_wl_shell_surface_set_fullscreen_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_wl_shell_surface *surface;
|
||||
enum wl_shell_surface_fullscreen_method method;
|
||||
uint32_t framerate;
|
||||
struct wlr_output *output;
|
||||
};
|
||||
|
||||
struct wlr_wl_shell_surface_set_maximized_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_wl_shell_surface_maximize_event {
|
||||
struct wlr_wl_shell_surface *surface;
|
||||
struct wlr_output *output;
|
||||
};
|
||||
|
|
|
@ -138,14 +138,12 @@ struct wlr_xdg_surface_v6 {
|
|||
};
|
||||
|
||||
struct wlr_xdg_toplevel_v6_move_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_xdg_surface_v6 *surface;
|
||||
struct wlr_seat_client *seat;
|
||||
uint32_t serial;
|
||||
};
|
||||
|
||||
struct wlr_xdg_toplevel_v6_resize_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_xdg_surface_v6 *surface;
|
||||
struct wlr_seat_client *seat;
|
||||
uint32_t serial;
|
||||
|
@ -153,19 +151,16 @@ struct wlr_xdg_toplevel_v6_resize_event {
|
|||
};
|
||||
|
||||
struct wlr_xdg_toplevel_v6_set_fullscreen_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_xdg_surface_v6 *surface;
|
||||
bool fullscreen;
|
||||
struct wlr_output *output;
|
||||
};
|
||||
|
||||
struct wlr_xdg_toplevel_v6_show_window_menu_event {
|
||||
struct wl_client *client;
|
||||
struct wlr_xdg_surface_v6 *surface;
|
||||
struct wlr_seat_client *seat;
|
||||
uint32_t serial;
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
uint32_t x, y;
|
||||
};
|
||||
|
||||
struct wlr_xdg_shell_v6 *wlr_xdg_shell_v6_create(struct wl_display *display);
|
||||
|
|
|
@ -50,23 +50,21 @@ static void handle_request_resize(struct wl_listener *listener, void *data) {
|
|||
roots_seat_begin_resize(seat, view, e->edges);
|
||||
}
|
||||
|
||||
static void handle_request_set_maximized(struct wl_listener *listener,
|
||||
static void handle_request_maximize(struct wl_listener *listener,
|
||||
void *data) {
|
||||
struct roots_wl_shell_surface *roots_surface =
|
||||
wl_container_of(listener, roots_surface, request_set_maximized);
|
||||
wl_container_of(listener, roots_surface, request_maximize);
|
||||
struct roots_view *view = roots_surface->view;
|
||||
//struct wlr_wl_shell_surface_set_maximized_event *e = data;
|
||||
//struct wlr_wl_shell_surface_maximize_event *e = data;
|
||||
view_maximize(view, true);
|
||||
}
|
||||
|
||||
static void handle_request_set_fullscreen(struct wl_listener *listener,
|
||||
static void handle_request_fullscreen(struct wl_listener *listener,
|
||||
void *data) {
|
||||
struct roots_wl_shell_surface *roots_surface =
|
||||
wl_container_of(listener, roots_surface, request_set_fullscreen);
|
||||
wl_container_of(listener, roots_surface, request_fullscreen);
|
||||
struct roots_view *view = roots_surface->view;
|
||||
struct wlr_wl_shell_surface_set_fullscreen_event *e = data;
|
||||
|
||||
// TODO: support e->method, e->framerate
|
||||
view_set_fullscreen(view, true, e->output);
|
||||
}
|
||||
|
||||
|
@ -95,8 +93,8 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
|
|||
wl_list_remove(&roots_surface->destroy.link);
|
||||
wl_list_remove(&roots_surface->request_move.link);
|
||||
wl_list_remove(&roots_surface->request_resize.link);
|
||||
wl_list_remove(&roots_surface->request_set_maximized.link);
|
||||
wl_list_remove(&roots_surface->request_set_fullscreen.link);
|
||||
wl_list_remove(&roots_surface->request_maximize.link);
|
||||
wl_list_remove(&roots_surface->request_fullscreen.link);
|
||||
wl_list_remove(&roots_surface->set_state.link);
|
||||
wl_list_remove(&roots_surface->surface_commit.link);
|
||||
wl_list_remove(&roots_surface->view->link);
|
||||
|
@ -125,13 +123,13 @@ void handle_wl_shell_surface(struct wl_listener *listener, void *data) {
|
|||
roots_surface->request_resize.notify = handle_request_resize;
|
||||
wl_signal_add(&surface->events.request_resize,
|
||||
&roots_surface->request_resize);
|
||||
roots_surface->request_set_maximized.notify = handle_request_set_maximized;
|
||||
wl_signal_add(&surface->events.request_set_maximized,
|
||||
&roots_surface->request_set_maximized);
|
||||
roots_surface->request_set_fullscreen.notify =
|
||||
handle_request_set_fullscreen;
|
||||
wl_signal_add(&surface->events.request_set_fullscreen,
|
||||
&roots_surface->request_set_fullscreen);
|
||||
roots_surface->request_maximize.notify = handle_request_maximize;
|
||||
wl_signal_add(&surface->events.request_maximize,
|
||||
&roots_surface->request_maximize);
|
||||
roots_surface->request_fullscreen.notify =
|
||||
handle_request_fullscreen;
|
||||
wl_signal_add(&surface->events.request_fullscreen,
|
||||
&roots_surface->request_fullscreen);
|
||||
roots_surface->set_state.notify = handle_set_state;
|
||||
wl_signal_add(&surface->events.set_state, &roots_surface->set_state);
|
||||
roots_surface->surface_commit.notify = handle_surface_commit;
|
||||
|
|
|
@ -108,25 +108,17 @@ static void shell_surface_protocol_pong(struct wl_client *client,
|
|||
static void shell_surface_protocol_move(struct wl_client *client,
|
||||
struct wl_resource *resource, struct wl_resource *seat_resource,
|
||||
uint32_t serial) {
|
||||
wlr_log(L_DEBUG, "got shell surface move");
|
||||
struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource);
|
||||
struct wlr_seat_client *seat =
|
||||
wl_resource_get_user_data(seat_resource);
|
||||
|
||||
struct wlr_wl_shell_surface_move_event *event =
|
||||
calloc(1, sizeof(struct wlr_wl_shell_surface_move_event));
|
||||
if (event == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
return;
|
||||
}
|
||||
event->client = client;
|
||||
event->surface = surface;
|
||||
event->seat = seat;
|
||||
event->serial = serial;
|
||||
struct wlr_wl_shell_surface_move_event event = {
|
||||
.surface = surface,
|
||||
.seat = seat,
|
||||
.serial = serial,
|
||||
};
|
||||
|
||||
wl_signal_emit(&surface->events.request_move, event);
|
||||
|
||||
free(event);
|
||||
wl_signal_emit(&surface->events.request_move, &event);
|
||||
}
|
||||
|
||||
static struct wlr_wl_shell_popup_grab *shell_popup_grab_from_seat(
|
||||
|
@ -174,26 +166,18 @@ static void shell_surface_destroy_popup_state(
|
|||
static void shell_surface_protocol_resize(struct wl_client *client,
|
||||
struct wl_resource *resource, struct wl_resource *seat_resource,
|
||||
uint32_t serial, enum wl_shell_surface_resize edges) {
|
||||
wlr_log(L_DEBUG, "got shell surface resize");
|
||||
struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource);
|
||||
struct wlr_seat_client *seat =
|
||||
wl_resource_get_user_data(seat_resource);
|
||||
|
||||
struct wlr_wl_shell_surface_resize_event *event =
|
||||
calloc(1, sizeof(struct wlr_wl_shell_surface_resize_event));
|
||||
if (event == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
return;
|
||||
}
|
||||
event->client = client;
|
||||
event->surface = surface;
|
||||
event->seat = seat;
|
||||
event->serial = serial;
|
||||
event->edges = edges;
|
||||
struct wlr_wl_shell_surface_resize_event event = {
|
||||
.surface = surface,
|
||||
.seat = seat,
|
||||
.serial = serial,
|
||||
.edges = edges,
|
||||
};
|
||||
|
||||
wl_signal_emit(&surface->events.request_resize, event);
|
||||
|
||||
free(event);
|
||||
wl_signal_emit(&surface->events.request_resize, &event);
|
||||
}
|
||||
|
||||
static void shell_surface_set_state(struct wlr_wl_shell_surface *surface,
|
||||
|
@ -279,7 +263,6 @@ static void shell_surface_protocol_set_fullscreen(struct wl_client *client,
|
|||
struct wl_resource *resource,
|
||||
enum wl_shell_surface_fullscreen_method method, uint32_t framerate,
|
||||
struct wl_resource *output_resource) {
|
||||
wlr_log(L_DEBUG, "got shell surface fullscreen");
|
||||
struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource);
|
||||
struct wlr_output *output = NULL;
|
||||
if (output_resource != NULL) {
|
||||
|
@ -289,24 +272,16 @@ static void shell_surface_protocol_set_fullscreen(struct wl_client *client,
|
|||
shell_surface_set_state(surface, WLR_WL_SHELL_SURFACE_STATE_FULLSCREEN,
|
||||
NULL, NULL);
|
||||
|
||||
struct wlr_wl_shell_surface_set_fullscreen_event *event =
|
||||
calloc(1, sizeof(struct wlr_wl_shell_surface_set_fullscreen_event));
|
||||
if (event == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
return;
|
||||
}
|
||||
event->client = client;
|
||||
event->surface = surface;
|
||||
event->method = method;
|
||||
event->framerate = framerate;
|
||||
event->output = output;
|
||||
struct wlr_wl_shell_surface_set_fullscreen_event event = {
|
||||
.surface = surface,
|
||||
.method = method,
|
||||
.framerate = framerate,
|
||||
.output = output,
|
||||
};
|
||||
|
||||
wl_signal_emit(&surface->events.request_set_fullscreen, event);
|
||||
|
||||
free(event);
|
||||
wl_signal_emit(&surface->events.request_fullscreen, &event);
|
||||
}
|
||||
|
||||
|
||||
static void shell_surface_protocol_set_popup(struct wl_client *client,
|
||||
struct wl_resource *resource, struct wl_resource *seat_resource,
|
||||
uint32_t serial, struct wl_resource *parent_resource, int32_t x,
|
||||
|
@ -368,7 +343,6 @@ static void shell_surface_protocol_set_popup(struct wl_client *client,
|
|||
|
||||
static void shell_surface_protocol_set_maximized(struct wl_client *client,
|
||||
struct wl_resource *resource, struct wl_resource *output_resource) {
|
||||
wlr_log(L_DEBUG, "got shell surface maximized");
|
||||
struct wlr_wl_shell_surface *surface = wl_resource_get_user_data(resource);
|
||||
struct wlr_output *output = NULL;
|
||||
if (output_resource != NULL) {
|
||||
|
@ -378,19 +352,12 @@ static void shell_surface_protocol_set_maximized(struct wl_client *client,
|
|||
shell_surface_set_state(surface, WLR_WL_SHELL_SURFACE_STATE_MAXIMIZED,
|
||||
NULL, NULL);
|
||||
|
||||
struct wlr_wl_shell_surface_set_maximized_event *event =
|
||||
calloc(1, sizeof(struct wlr_wl_shell_surface_set_maximized_event));
|
||||
if (event == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
return;
|
||||
}
|
||||
event->client = client;
|
||||
event->surface = surface;
|
||||
event->output = output;
|
||||
struct wlr_wl_shell_surface_maximize_event event = {
|
||||
.surface = surface,
|
||||
.output = output,
|
||||
};
|
||||
|
||||
wl_signal_emit(&surface->events.request_set_maximized, event);
|
||||
|
||||
free(event);
|
||||
wl_signal_emit(&surface->events.request_maximize, &event);
|
||||
}
|
||||
|
||||
static void shell_surface_protocol_set_title(struct wl_client *client,
|
||||
|
@ -545,8 +512,8 @@ static void shell_protocol_get_shell_surface(struct wl_client *client,
|
|||
wl_signal_init(&wl_surface->events.ping_timeout);
|
||||
wl_signal_init(&wl_surface->events.request_move);
|
||||
wl_signal_init(&wl_surface->events.request_resize);
|
||||
wl_signal_init(&wl_surface->events.request_set_fullscreen);
|
||||
wl_signal_init(&wl_surface->events.request_set_maximized);
|
||||
wl_signal_init(&wl_surface->events.request_fullscreen);
|
||||
wl_signal_init(&wl_surface->events.request_maximize);
|
||||
wl_signal_init(&wl_surface->events.set_state);
|
||||
wl_signal_init(&wl_surface->events.set_title);
|
||||
wl_signal_init(&wl_surface->events.set_class);
|
||||
|
|
|
@ -564,23 +564,15 @@ static void xdg_toplevel_protocol_show_window_menu(struct wl_client *client,
|
|||
return;
|
||||
}
|
||||
|
||||
struct wlr_xdg_toplevel_v6_show_window_menu_event *event =
|
||||
calloc(1, sizeof(struct wlr_xdg_toplevel_v6_show_window_menu_event));
|
||||
if (event == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
return;
|
||||
}
|
||||
struct wlr_xdg_toplevel_v6_show_window_menu_event event = {
|
||||
.surface = surface,
|
||||
.seat = seat,
|
||||
.serial = serial,
|
||||
.x = x,
|
||||
.y = y,
|
||||
};
|
||||
|
||||
event->client = client;
|
||||
event->surface = surface;
|
||||
event->seat = seat;
|
||||
event->serial = serial;
|
||||
event->x = x;
|
||||
event->y = y;
|
||||
|
||||
wl_signal_emit(&surface->events.request_show_window_menu, event);
|
||||
|
||||
free(event);
|
||||
wl_signal_emit(&surface->events.request_show_window_menu, &event);
|
||||
}
|
||||
|
||||
static void xdg_toplevel_protocol_move(struct wl_client *client,
|
||||
|
@ -598,7 +590,6 @@ static void xdg_toplevel_protocol_move(struct wl_client *client,
|
|||
}
|
||||
|
||||
struct wlr_xdg_toplevel_v6_move_event event = {
|
||||
.client = client,
|
||||
.surface = surface,
|
||||
.seat = seat,
|
||||
.serial = serial,
|
||||
|
@ -622,7 +613,6 @@ static void xdg_toplevel_protocol_resize(struct wl_client *client,
|
|||
}
|
||||
|
||||
struct wlr_xdg_toplevel_v6_resize_event event = {
|
||||
.client = client,
|
||||
.surface = surface,
|
||||
.seat = seat,
|
||||
.serial = serial,
|
||||
|
@ -672,7 +662,6 @@ static void xdg_toplevel_protocol_set_fullscreen(struct wl_client *client,
|
|||
surface->toplevel_state->next.fullscreen = true;
|
||||
|
||||
struct wlr_xdg_toplevel_v6_set_fullscreen_event event = {
|
||||
.client = client,
|
||||
.surface = surface,
|
||||
.fullscreen = true,
|
||||
.output = output,
|
||||
|
@ -688,7 +677,6 @@ static void xdg_toplevel_protocol_unset_fullscreen(struct wl_client *client,
|
|||
surface->toplevel_state->next.fullscreen = false;
|
||||
|
||||
struct wlr_xdg_toplevel_v6_set_fullscreen_event event = {
|
||||
.client = client,
|
||||
.surface = surface,
|
||||
.fullscreen = false,
|
||||
.output = NULL,
|
||||
|
|
Loading…
Reference in a new issue