e: improve usability of WBOD.

SVN revision: 79023
This commit is contained in:
Cedric BAIL 2012-11-09 13:53:08 +00:00
parent 7728f47f3f
commit 6980eb0bc7
2 changed files with 18 additions and 7 deletions

View File

@ -523,6 +523,7 @@ PKG_CHECK_MODULES(E_INIT, [
PKG_CHECK_MODULES(E_ALERT, [ PKG_CHECK_MODULES(E_ALERT, [
xcb xcb
xcb-shape xcb-shape
xcb-keysyms
eina >= ${efl_version} eina >= ${efl_version}
ecore >= ${efl_version} ecore >= ${efl_version}
ecore-ipc >= ${efl_version} ecore-ipc >= ${efl_version}

View File

@ -12,7 +12,9 @@
#include <Ecore.h> #include <Ecore.h>
#include <Ecore_Ipc.h> #include <Ecore_Ipc.h>
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/xcb_keysyms.h>
#include <xcb/shape.h> #include <xcb/shape.h>
#include <X11/keysym.h>
#define WINDOW_WIDTH 320 #define WINDOW_WIDTH 320
#define WINDOW_HEIGHT 240 #define WINDOW_HEIGHT 240
@ -93,7 +95,7 @@ main(int argc, char **argv)
title = "Enlightenment Error"; title = "Enlightenment Error";
str1 = "(F1) Recover"; str1 = "(F1) Recover";
str2 = "(F2) Exit"; str2 = "(F12) Logout";
_e_alert_create(); _e_alert_create();
_e_alert_display(); _e_alert_display();
@ -422,15 +424,23 @@ _e_alert_draw(void)
static int static int
_e_alert_handle_key_press(xcb_generic_event_t *event) _e_alert_handle_key_press(xcb_generic_event_t *event)
{ {
xcb_key_symbols_t *symbols;
xcb_key_press_event_t *ev; xcb_key_press_event_t *ev;
xcb_keysym_t key;
int r = 0;
ev = (xcb_key_press_event_t *)event; ev = (xcb_key_press_event_t *)event;
if (ev->detail == 67) // F1 symbols = xcb_key_symbols_alloc(conn);
return 1; key = xcb_key_symbols_get_keysym(symbols, ev->detail, 0);
else if (ev->detail == 68) // F2
return 2; if (key == XK_F1)
else r = 1;
return 0; else if (key == XK_F12)
r = 2;
xcb_key_symbols_free(symbols);
return r;
} }
static int static int