swc

(Pinephone) swc with touch and other mobile stuff
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit c24ebecc4d5695f01d01eb1fec6ce8960291cac7
parent a07636521fd6a486acc7c9c80b85c906a2a7f041
Author: Jens Nyberg <jens.nyberg@gmail.com>
Date:   Sun, 20 Jul 2014 23:59:29 +0200

Add a proper termination sequence to example wm

Diffstat:
Mexample/wm.c | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/example/wm.c b/example/wm.c @@ -51,6 +51,7 @@ static const uint32_t border_color_normal = 0xff888888; static struct screen * active_screen; static struct window * focused_window; +static struct wl_display * display; static struct wl_event_loop * event_loop; /* This is a basic grid arrange function that tries to give each window an @@ -245,10 +246,16 @@ static void spawn(void * data, uint32_t time, uint32_t value, uint32_t state) } } -int main(int argc, char * argv[]) +static void quit(void * data, uint32_t time, uint32_t value, uint32_t state) { - struct wl_display * display; + if (state != WL_KEYBOARD_KEY_STATE_PRESSED) + return; + wl_display_terminate(display); +} + +int main(int argc, char * argv[]) +{ display = wl_display_create(); if (!display) @@ -264,9 +271,12 @@ int main(int argc, char * argv[]) &spawn, terminal_command); swc_add_binding(SWC_BINDING_KEY, SWC_MOD_LOGO, XKB_KEY_r, &spawn, dmenu_command); + swc_add_binding(SWC_BINDING_KEY, SWC_MOD_LOGO, XKB_KEY_q, + &quit, NULL); event_loop = wl_display_get_event_loop(display); wl_display_run(display); + wl_display_destroy(display); return EXIT_SUCCESS; }