From 1d01b013182810c5dd40641088d0153fdd3c096a Mon Sep 17 00:00:00 2001 From: Tiago Vignatti Date: Thu, 27 Sep 2012 17:48:36 +0300 Subject: [PATCH] compositor: Add kill signal For now it's being emitted only on the desktop shell kill binding. Signed-off-by: Tiago Vignatti --- src/compositor.c | 1 + src/compositor.h | 1 + src/shell.c | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/src/compositor.c b/src/compositor.c index 417c508..95ee258 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -2737,6 +2737,7 @@ weston_compositor_init(struct weston_compositor *ec, ec->wl_display = display; wl_signal_init(&ec->destroy_signal); wl_signal_init(&ec->activate_signal); + wl_signal_init(&ec->kill_signal); wl_signal_init(&ec->lock_signal); wl_signal_init(&ec->unlock_signal); wl_signal_init(&ec->show_input_panel_signal); diff --git a/src/compositor.h b/src/compositor.h index aea4f8d..bde4772 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -294,6 +294,7 @@ struct weston_compositor { struct weston_shell_interface shell_interface; struct wl_signal activate_signal; + struct wl_signal kill_signal; struct wl_signal lock_signal; struct wl_signal unlock_signal; diff --git a/src/shell.c b/src/shell.c index 7827977..cb1f840 100644 --- a/src/shell.c +++ b/src/shell.c @@ -3505,12 +3505,16 @@ force_kill_binding(struct wl_seat *seat, uint32_t time, uint32_t key, { struct wl_surface *focus_surface; struct wl_client *client; + struct desktop_shell *shell = data; + struct weston_compositor *compositor = shell->compositor; pid_t pid; focus_surface = seat->keyboard->focus; if (!focus_surface) return; + wl_signal_emit(&compositor->kill_signal, focus_surface); + client = focus_surface->resource.client; wl_client_get_credentials(client, &pid, NULL, NULL); -- 2.7.4