From: Doyoun Kang <doyoun.kang@samsung.com>

Subject: [E-devel] [Patch][e] add code to handle the floating mode

I added code to handles the floating mode in e. 
I added the structure for floating mode in E_Border structure. If an
application sets the floating mode using elm_win_floating_mode_set(),
e gets this event - ECORE_X_EVENT_WINDOW_PROPERTY (atom:
ECORE_X_ATOM_E_ILLUME_WINDOW_STATE) - and sets floating mode
information to added structure in E_Border.



SVN revision: 76806
This commit is contained in:
Doyoun Kang 2012-09-18 11:41:55 +00:00 committed by Carsten Haitzler
parent 87ad874972
commit f9b872ab6a
2 changed files with 21 additions and 0 deletions

View File

@ -624,6 +624,8 @@ e_border_new(E_Container *con,
bd->client.illume.drag.fetch.locked = 1;
else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_DRAG)
bd->client.illume.drag.fetch.drag = 1;
else if (atoms[i] == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE)
bd->client.illume.win_state.fetch.state = 1;
else if (atoms[i] == ECORE_X_ATOM_E_VIDEO_PARENT)
video_parent = EINA_TRUE;
else if (atoms[i] == ECORE_X_ATOM_E_VIDEO_POSITION)
@ -5575,6 +5577,11 @@ _e_border_cb_window_property(void *data __UNUSED__,
bd->client.illume.drag.fetch.drag = 1;
bd->changed = 1;
}
else if (e->atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE)
{
bd->client.illume.win_state.fetch.state = 1;
bd->changed = 1;
}
/*
else if (e->atom == ECORE_X_ATOM_NET_WM_USER_TIME)
{
@ -7267,6 +7274,12 @@ _e_border_eval0(E_Border *bd)
ecore_x_e_illume_drag_locked_get(bd->client.win);
bd->client.illume.drag.fetch.locked = 0;
}
if (bd->client.illume.win_state.fetch.state)
{
bd->client.illume.win_state.state =
ecore_x_e_illume_window_state_get(bd->client.win);
bd->client.illume.win_state.fetch.state = 0;
}
if (bd->changes.shape)
{
Ecore_X_Rectangle *rects;

View File

@ -456,6 +456,14 @@ struct _E_Border
unsigned char drag : 1;
unsigned char locked : 1;
} drag;
struct
{
struct
{
unsigned char state : 1;
} fetch;
Ecore_X_Illume_Window_State state;
} win_state;
} illume;
Ecore_X_Window_Attributes initial_attributes;