swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit 5c7e7e7a20ff5d0b323f10ae058996192623805d
parent 78e8dc3e66379c5b44a8b0f473ccac6ea16fb5cc
Author: Michael Forney <mforney@mforney.org>
Date:   Sun, 20 Jul 2014 15:06:04 -0700

Merge branch 'nice-exit' of git://github.com/Jezze/swc

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; }