mirror of
https://github.com/labwc/labwc.git
synced 2026-02-07 04:07:42 -05:00
Fix coding style following 824282dd
This commit is contained in:
parent
824282dd2e
commit
a9042e3cde
5 changed files with 59 additions and 49 deletions
62
src/server.c
62
src/server.c
|
|
@ -79,62 +79,68 @@ drop_permissions(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void seat_inhibit_input(struct seat *seat, struct wl_client *active_client)
|
||||
static void
|
||||
seat_inhibit_input(struct seat *seat, struct wl_client *active_client)
|
||||
{
|
||||
seat->active_client_while_inhibited = active_client;
|
||||
|
||||
if(seat->focused_layer &&
|
||||
(wl_resource_get_client(seat->focused_layer->resource) !=
|
||||
active_client))
|
||||
{
|
||||
if (seat->focused_layer &&
|
||||
(wl_resource_get_client(seat->focused_layer->resource) !=
|
||||
active_client)) {
|
||||
seat_set_focus_layer(seat, NULL);
|
||||
}
|
||||
struct wlr_surface * previous_kb_surface = seat->seat->keyboard_state.focused_surface;
|
||||
struct wlr_surface *previous_kb_surface =
|
||||
seat->seat->keyboard_state.focused_surface;
|
||||
if (previous_kb_surface &&
|
||||
wl_resource_get_client(previous_kb_surface->resource) != active_client) {
|
||||
seat_focus_surface(seat, NULL); /* keyboard focus */
|
||||
}
|
||||
|
||||
struct wlr_seat_client * previous_ptr_client = seat->seat->pointer_state.focused_client;
|
||||
struct wlr_seat_client *previous_ptr_client =
|
||||
seat->seat->pointer_state.focused_client;
|
||||
if (previous_ptr_client &&
|
||||
(previous_ptr_client->client != active_client)) {
|
||||
wlr_seat_pointer_clear_focus(seat->seat);
|
||||
}
|
||||
}
|
||||
|
||||
static void seat_disinhibit_input(struct seat *seat)
|
||||
static void
|
||||
seat_disinhibit_input(struct seat *seat)
|
||||
{
|
||||
seat->active_client_while_inhibited = NULL;
|
||||
// Triggers a refocus of the topmost surface layer if necessary
|
||||
// TODO: Make layer surface focus per-output based on cursor position
|
||||
|
||||
/*
|
||||
* Triggers a refocus of the topmost surface layer if necessary
|
||||
* TODO: Make layer surface focus per-output based on cursor position
|
||||
*/
|
||||
struct output *output;
|
||||
wl_list_for_each(output, &seat->server->outputs, link)
|
||||
wl_list_for_each(output, &seat->server->outputs, link) {
|
||||
arrange_layers(output);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void handle_input_inhibit(struct wl_listener *listener, void *data) {
|
||||
static void
|
||||
handle_input_inhibit(struct wl_listener *listener, void *data)
|
||||
{
|
||||
wlr_log(WLR_INFO, "activate input inhibit");
|
||||
|
||||
struct server *server = wl_container_of(
|
||||
listener, server, input_inhibit_activate);
|
||||
|
||||
seat_inhibit_input(&server->seat,
|
||||
server->input_inhibit->active_client);
|
||||
struct server *server =
|
||||
wl_container_of(listener, server, input_inhibit_activate);
|
||||
seat_inhibit_input(&server->seat, server->input_inhibit->active_client);
|
||||
}
|
||||
|
||||
static void handle_input_disinhibit(struct wl_listener *listener, void *data) {
|
||||
static void
|
||||
handle_input_disinhibit(struct wl_listener *listener, void *data)
|
||||
{
|
||||
wlr_log(WLR_INFO, "deactivate input inhibit");
|
||||
|
||||
struct server *server = wl_container_of(
|
||||
listener, server, input_inhibit_deactivate);
|
||||
|
||||
struct server *server =
|
||||
wl_container_of(listener, server, input_inhibit_deactivate);
|
||||
seat_disinhibit_input(&server->seat);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
server_init(struct server *server)
|
||||
{
|
||||
|
|
@ -260,17 +266,19 @@ server_init(struct server *server)
|
|||
wlr_data_control_manager_v1_create(server->wl_display);
|
||||
wlr_gamma_control_manager_v1_create(server->wl_display);
|
||||
|
||||
// struct wlr_input_inhibit_manager *input_inhibit_mgr = NULL;
|
||||
server->input_inhibit = wlr_input_inhibit_manager_create(server->wl_display);
|
||||
server->input_inhibit =
|
||||
wlr_input_inhibit_manager_create(server->wl_display);
|
||||
if (!server->input_inhibit) {
|
||||
wlr_log(WLR_ERROR, "unable to create the input inhibit manager");
|
||||
wlr_log(WLR_ERROR, "unable to create input inhibit manager");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
wl_signal_add(&server->input_inhibit->events.activate, &server->input_inhibit_activate);
|
||||
wl_signal_add(&server->input_inhibit->events.activate,
|
||||
&server->input_inhibit_activate);
|
||||
server->input_inhibit_activate.notify = handle_input_inhibit;
|
||||
|
||||
wl_signal_add(&server->input_inhibit->events.deactivate, &server->input_inhibit_deactivate);
|
||||
wl_signal_add(&server->input_inhibit->events.deactivate,
|
||||
&server->input_inhibit_deactivate);
|
||||
server->input_inhibit_deactivate.notify = handle_input_disinhibit;
|
||||
|
||||
server->foreign_toplevel_manager =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue