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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs