Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_border.h e_hints.c e_hints.h e_init.c Log Message: vkbd hints... =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.636 retrieving revision 1.637 diff -u -3 -r1.636 -r1.637 --- e_border.c 8 Jul 2008 19:41:42 -0000 1.636 +++ e_border.c 16 Jul 2008 17:06:23 -0000 1.637 @@ -411,21 +411,24 @@ bd->client.netwm.fetch.state = 1; } } - /* loop to check for own atoms */ + /* other misc atoms */ for (i = 0; i < at_num; i++) { + /* loop to check for own atoms */ if (atoms[i] == E_ATOM_WINDOW_STATE) { bd->client.e.fetch.state = 1; } - } - /* loop to check for qtopia atoms */ - for (i = 0; i < at_num; i++) - { + /* loop to check for qtopia atoms */ if (atoms[i] == _QTOPIA_SOFT_MENU) bd->client.qtopia.fetch.soft_menu = 1; else if (atoms[i] == _QTOPIA_SOFT_MENUS) bd->client.qtopia.fetch.soft_menus = 1; + /* loop to check for vkbd atoms */ + else if (atoms[i] == _E_VIRTUAL_KEYBOARD_STATE) + bd->client.vkbd.fetch.state = 1; + else if (atoms[i] == _E_VIRTUAL_KEYBOARD) + bd->client.vkbd.fetch.vkbd = 1; } free(atoms); } @@ -3998,6 +4001,16 @@ bd->client.qtopia.fetch.soft_menus = 1; bd->changed = 1; } + else if (e->atom == _E_VIRTUAL_KEYBOARD_STATE) + { + bd->client.vkbd.fetch.state = 1; + bd->changed = 1; + } + else if (e->atom == _E_VIRTUAL_KEYBOARD) + { + bd->client.vkbd.fetch.vkbd = 1; + bd->changed = 1; + } /* else if (e->atom == ECORE_X_ATOM_NET_WM_USER_TIME) { @@ -5492,6 +5505,18 @@ bd->client.qtopia.fetch.soft_menus = 0; rem_change = 1; } + if (bd->client.vkbd.fetch.state) + { + e_hints_window_virtual_keyboard_state_get(bd); + bd->client.vkbd.fetch.state = 0; + rem_change = 1; + } + if (bd->client.vkbd.fetch.vkbd) + { + e_hints_window_virtual_keyboard_get(bd); + bd->client.vkbd.fetch.vkbd = 0; + rem_change = 1; + } if (bd->changes.shape) { Ecore_X_Rectangle *rects; @@ -5856,6 +5881,7 @@ } } + _e_border_hook_call(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, bd); _e_border_hook_call(E_BORDER_HOOK_EVAL_POST_FETCH, bd); _e_border_hook_call(E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN, bd); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.172 retrieving revision 1.173 diff -u -3 -r1.172 -r1.173 --- e_border.h 21 May 2008 22:37:00 -0000 1.172 +++ e_border.h 16 Jul 2008 17:06:23 -0000 1.173 @@ -81,6 +81,7 @@ typedef enum _E_Border_Hook_Point { E_BORDER_HOOK_EVAL_PRE_FETCH, + E_BORDER_HOOK_EVAL_PRE_POST_FETCH, E_BORDER_HOOK_EVAL_POST_FETCH, E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN, E_BORDER_HOOK_EVAL_POST_BORDER_ASSIGN, @@ -347,6 +348,14 @@ unsigned char soft_menu : 1; unsigned char soft_menus : 1; } qtopia; + struct { + struct { + unsigned char state : 1; + unsigned char vkbd : 1; + } fetch; + Ecore_X_Atom state; + unsigned char vkbd : 1; + } vkbd; Ecore_X_Window_Attributes initial_attributes; } client; @@ -407,7 +416,9 @@ unsigned int lock_focus_in : 1; /*DONE*/ unsigned int lock_focus_out : 1; /*DONE*/ unsigned int lock_life : 1; /*DONE*/ + unsigned int internal : 1; + unsigned int stolen : 1; Ecore_Evas *internal_ecore_evas; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- e_hints.c 9 Jul 2008 15:25:20 -0000 1.100 +++ e_hints.c 16 Jul 2008 17:06:23 -0000 1.101 @@ -3,8 +3,14 @@ */ #include "e.h" -Ecore_X_Atom _QTOPIA_SOFT_MENU = 0; -Ecore_X_Atom _QTOPIA_SOFT_MENUS = 0; +EAPI Ecore_X_Atom _QTOPIA_SOFT_MENU = 0; +EAPI Ecore_X_Atom _QTOPIA_SOFT_MENUS = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_STATE = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_OFF = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_ON = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_ALPHA = 0; +EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_NUMERIC = 0; static Ecore_X_Atom gnome_atom = 0; static Ecore_X_Atom enlightenment_comms = 0; @@ -20,16 +26,28 @@ "_QTOPIA_SOFT_MENUS", "GNOME_SM_PROXY", "ENLIGHTENMENT_COMMS", - "ENLIGHTENMENT_VERSION" + "ENLIGHTENMENT_VERSION", + "_E_VIRTUAL_KEYBOARD", + "_E_VIRTUAL_KEYBOARD_STATE", + "_E_VIRTUAL_KEYBOARD_OFF", + "_E_VIRTUAL_KEYBOARD_ON", + "_E_VIRTUAL_KEYBOARD_ALPHA", + "_E_VIRTUAL_KEYBOARD_NUMERIC" }; - Ecore_X_Atom atoms[5]; + Ecore_X_Atom atoms[11]; - ecore_x_atoms_get(atom_names, 5, atoms); + ecore_x_atoms_get(atom_names, 11, atoms); _QTOPIA_SOFT_MENU = atoms[0]; _QTOPIA_SOFT_MENUS = atoms[1]; gnome_atom = atoms[2]; enlightenment_comms = atoms[3]; enlightenment_version = atoms[4]; + _E_VIRTUAL_KEYBOARD = atoms[5]; + _E_VIRTUAL_KEYBOARD_STATE = atoms[6]; + _E_VIRTUAL_KEYBOARD_OFF = atoms[7]; + _E_VIRTUAL_KEYBOARD_ON = atoms[8]; + _E_VIRTUAL_KEYBOARD_ALPHA = atoms[9]; + _E_VIRTUAL_KEYBOARD_NUMERIC = atoms[10]; roots = ecore_x_window_root_list(&num); if (roots) @@ -1377,6 +1395,25 @@ bd->client.qtopia.soft_menus = val; else bd->client.qtopia.soft_menus = 0; +} + +EAPI void +e_hints_window_virtual_keyboard_state_get(E_Border *bd) +{ + if (!ecore_x_window_prop_atom_get(bd->client.win, _E_VIRTUAL_KEYBOARD_STATE, + &(bd->client.vkbd.state), 1)) + bd->client.vkbd.state = 0; +} + +EAPI void +e_hints_window_virtual_keyboard_get(E_Border *bd) +{ + unsigned int val; + + if (ecore_x_window_prop_card32_get(bd->client.win, _E_VIRTUAL_KEYBOARD, &val, 1)) + bd->client.vkbd.vkbd = val; + else + bd->client.vkbd.vkbd = 0; } EAPI void =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_hints.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- e_hints.h 7 Mar 2008 11:51:31 -0000 1.24 +++ e_hints.h 16 Jul 2008 17:06:23 -0000 1.25 @@ -48,11 +48,20 @@ EAPI void e_hints_window_qtopia_soft_menu_get(E_Border *bd); EAPI void e_hints_window_qtopia_soft_menus_get(E_Border *bd); +EAPI void e_hints_window_virtual_keyboard_state_get(E_Border *bd); +EAPI void e_hints_window_virtual_keyboard_get(E_Border *bd); + EAPI void e_hints_openoffice_gnome_fake(Ecore_X_Window root); EAPI void e_hints_openoffice_kde_fake(Ecore_X_Window root); extern EAPI Ecore_X_Atom _QTOPIA_SOFT_MENU; extern EAPI Ecore_X_Atom _QTOPIA_SOFT_MENUS; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_STATE; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_OFF; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_ON; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_ALPHA; +extern EAPI Ecore_X_Atom _E_VIRTUAL_KEYBOARD_NUMERIC; #endif #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_init.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- e_init.c 31 Oct 2007 02:41:52 -0000 1.47 +++ e_init.c 16 Jul 2008 17:06:23 -0000 1.48 @@ -79,12 +79,13 @@ if (version) ver = strdup(e_util_filename_escape(version)); else ver = strdup("XvX"); - snprintf(buf, sizeof(buf), "%s/enlightenment_init %s %i %i %s %s", + snprintf(buf, sizeof(buf), "%s/enlightenment_init \'%s\' \'%i\' \'%i\' \'%s\' \'%s\'", e_prefix_bin_get(), theme, e_canvas_engine_decide(e_config->evas_engine_init), e_config->font_hinting, tit, ver); + printf("RUN INIT: %s\n", buf); free(theme); free(tit); free(ver); ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs