forked from enlightenment/enlightenment
parent
f6dc37a244
commit
51c5110b2c
|
@ -411,21 +411,24 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
|
||||||
bd->client.netwm.fetch.state = 1;
|
bd->client.netwm.fetch.state = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* loop to check for own atoms */
|
/* other misc atoms */
|
||||||
for (i = 0; i < at_num; i++)
|
for (i = 0; i < at_num; i++)
|
||||||
{
|
{
|
||||||
|
/* loop to check for own atoms */
|
||||||
if (atoms[i] == E_ATOM_WINDOW_STATE)
|
if (atoms[i] == E_ATOM_WINDOW_STATE)
|
||||||
{
|
{
|
||||||
bd->client.e.fetch.state = 1;
|
bd->client.e.fetch.state = 1;
|
||||||
}
|
}
|
||||||
}
|
/* loop to check for qtopia atoms */
|
||||||
/* loop to check for qtopia atoms */
|
|
||||||
for (i = 0; i < at_num; i++)
|
|
||||||
{
|
|
||||||
if (atoms[i] == _QTOPIA_SOFT_MENU)
|
if (atoms[i] == _QTOPIA_SOFT_MENU)
|
||||||
bd->client.qtopia.fetch.soft_menu = 1;
|
bd->client.qtopia.fetch.soft_menu = 1;
|
||||||
else if (atoms[i] == _QTOPIA_SOFT_MENUS)
|
else if (atoms[i] == _QTOPIA_SOFT_MENUS)
|
||||||
bd->client.qtopia.fetch.soft_menus = 1;
|
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);
|
free(atoms);
|
||||||
}
|
}
|
||||||
|
@ -3998,6 +4001,16 @@ _e_border_cb_window_property(void *data, int ev_type, void *ev)
|
||||||
bd->client.qtopia.fetch.soft_menus = 1;
|
bd->client.qtopia.fetch.soft_menus = 1;
|
||||||
bd->changed = 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)
|
else if (e->atom == ECORE_X_ATOM_NET_WM_USER_TIME)
|
||||||
{
|
{
|
||||||
|
@ -5492,6 +5505,18 @@ _e_border_eval(E_Border *bd)
|
||||||
bd->client.qtopia.fetch.soft_menus = 0;
|
bd->client.qtopia.fetch.soft_menus = 0;
|
||||||
rem_change = 1;
|
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)
|
if (bd->changes.shape)
|
||||||
{
|
{
|
||||||
Ecore_X_Rectangle *rects;
|
Ecore_X_Rectangle *rects;
|
||||||
|
@ -5856,6 +5881,7 @@ _e_border_eval(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_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_POST_FETCH, bd);
|
||||||
_e_border_hook_call(E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN, bd);
|
_e_border_hook_call(E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN, bd);
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,7 @@ typedef enum _E_Window_Placement
|
||||||
typedef enum _E_Border_Hook_Point
|
typedef enum _E_Border_Hook_Point
|
||||||
{
|
{
|
||||||
E_BORDER_HOOK_EVAL_PRE_FETCH,
|
E_BORDER_HOOK_EVAL_PRE_FETCH,
|
||||||
|
E_BORDER_HOOK_EVAL_PRE_POST_FETCH,
|
||||||
E_BORDER_HOOK_EVAL_POST_FETCH,
|
E_BORDER_HOOK_EVAL_POST_FETCH,
|
||||||
E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN,
|
E_BORDER_HOOK_EVAL_PRE_BORDER_ASSIGN,
|
||||||
E_BORDER_HOOK_EVAL_POST_BORDER_ASSIGN,
|
E_BORDER_HOOK_EVAL_POST_BORDER_ASSIGN,
|
||||||
|
@ -347,6 +348,14 @@ struct _E_Border
|
||||||
unsigned char soft_menu : 1;
|
unsigned char soft_menu : 1;
|
||||||
unsigned char soft_menus : 1;
|
unsigned char soft_menus : 1;
|
||||||
} qtopia;
|
} 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;
|
Ecore_X_Window_Attributes initial_attributes;
|
||||||
} client;
|
} client;
|
||||||
|
@ -407,7 +416,9 @@ struct _E_Border
|
||||||
unsigned int lock_focus_in : 1; /*DONE*/
|
unsigned int lock_focus_in : 1; /*DONE*/
|
||||||
unsigned int lock_focus_out : 1; /*DONE*/
|
unsigned int lock_focus_out : 1; /*DONE*/
|
||||||
unsigned int lock_life : 1; /*DONE*/
|
unsigned int lock_life : 1; /*DONE*/
|
||||||
|
|
||||||
unsigned int internal : 1;
|
unsigned int internal : 1;
|
||||||
|
unsigned int stolen : 1;
|
||||||
|
|
||||||
Ecore_Evas *internal_ecore_evas;
|
Ecore_Evas *internal_ecore_evas;
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,14 @@
|
||||||
*/
|
*/
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
Ecore_X_Atom _QTOPIA_SOFT_MENU = 0;
|
EAPI Ecore_X_Atom _QTOPIA_SOFT_MENU = 0;
|
||||||
Ecore_X_Atom _QTOPIA_SOFT_MENUS = 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 gnome_atom = 0;
|
||||||
static Ecore_X_Atom enlightenment_comms = 0;
|
static Ecore_X_Atom enlightenment_comms = 0;
|
||||||
|
@ -20,16 +26,28 @@ e_hints_init(void)
|
||||||
"_QTOPIA_SOFT_MENUS",
|
"_QTOPIA_SOFT_MENUS",
|
||||||
"GNOME_SM_PROXY",
|
"GNOME_SM_PROXY",
|
||||||
"ENLIGHTENMENT_COMMS",
|
"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_MENU = atoms[0];
|
||||||
_QTOPIA_SOFT_MENUS = atoms[1];
|
_QTOPIA_SOFT_MENUS = atoms[1];
|
||||||
gnome_atom = atoms[2];
|
gnome_atom = atoms[2];
|
||||||
enlightenment_comms = atoms[3];
|
enlightenment_comms = atoms[3];
|
||||||
enlightenment_version = atoms[4];
|
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);
|
roots = ecore_x_window_root_list(&num);
|
||||||
if (roots)
|
if (roots)
|
||||||
|
@ -1379,6 +1397,25 @@ e_hints_window_qtopia_soft_menus_get(E_Border *bd)
|
||||||
bd->client.qtopia.soft_menus = 0;
|
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
|
EAPI void
|
||||||
e_hints_openoffice_gnome_fake(Ecore_X_Window root)
|
e_hints_openoffice_gnome_fake(Ecore_X_Window root)
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,11 +48,20 @@ EAPI void e_hints_window_e_state_get(E_Border *bd);
|
||||||
EAPI void e_hints_window_qtopia_soft_menu_get(E_Border *bd);
|
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_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_gnome_fake(Ecore_X_Window root);
|
||||||
EAPI void e_hints_openoffice_kde_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_MENU;
|
||||||
extern EAPI Ecore_X_Atom _QTOPIA_SOFT_MENUS;
|
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
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -79,12 +79,13 @@ e_init_show(void)
|
||||||
if (version) ver = strdup(e_util_filename_escape(version));
|
if (version) ver = strdup(e_util_filename_escape(version));
|
||||||
else ver = strdup("XvX");
|
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(),
|
e_prefix_bin_get(),
|
||||||
theme,
|
theme,
|
||||||
e_canvas_engine_decide(e_config->evas_engine_init),
|
e_canvas_engine_decide(e_config->evas_engine_init),
|
||||||
e_config->font_hinting,
|
e_config->font_hinting,
|
||||||
tit, ver);
|
tit, ver);
|
||||||
|
printf("RUN INIT: %s\n", buf);
|
||||||
free(theme);
|
free(theme);
|
||||||
free(tit);
|
free(tit);
|
||||||
free(ver);
|
free(ver);
|
||||||
|
|
Loading…
Reference in New Issue