|
|
|
@ -71,10 +71,11 @@ static Eina_Bool _e_border_cb_window_focus_in(void *data, |
|
|
|
|
static Eina_Bool _e_border_cb_window_focus_out(void *data, |
|
|
|
|
int ev_type, |
|
|
|
|
void *ev); |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
static Eina_Bool _e_border_cb_client_message(void *data, |
|
|
|
|
int ev_type, |
|
|
|
|
void *ev); |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
static Eina_Bool _e_border_cb_window_state_request(void *data, |
|
|
|
|
int ev_type, |
|
|
|
|
void *ev); |
|
|
|
@ -127,10 +128,11 @@ static Eina_Bool _e_border_cb_grab_replay(void *data, |
|
|
|
|
void *event); |
|
|
|
|
static void _e_border_cb_drag_finished(E_Drag *drag, |
|
|
|
|
int dropped); |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
static Eina_Bool _e_border_cb_desk_window_profile_change(void *data, |
|
|
|
|
int ev_type, |
|
|
|
|
void *ev); |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
static void _e_border_eval(E_Border *bd); |
|
|
|
|
static void _e_border_eval0(E_Border *bd); |
|
|
|
|
static void _e_border_container_layout_hook(E_Container *con); |
|
|
|
@ -319,8 +321,10 @@ e_border_init(void) |
|
|
|
|
_e_border_cb_window_focus_in, NULL); |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, ECORE_X_EVENT_WINDOW_FOCUS_OUT, |
|
|
|
|
_e_border_cb_window_focus_out, NULL); |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, ECORE_X_EVENT_CLIENT_MESSAGE, |
|
|
|
|
_e_border_cb_client_message, NULL); |
|
|
|
|
#endif |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, ECORE_X_EVENT_WINDOW_STATE_REQUEST, |
|
|
|
|
_e_border_cb_window_state_request, NULL); |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, ECORE_X_EVENT_WINDOW_MOVE_RESIZE_REQUEST, |
|
|
|
@ -342,9 +346,10 @@ e_border_init(void) |
|
|
|
|
_e_border_cb_config_icon_theme, NULL); |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, E_EVENT_CONFIG_MODE_CHANGED, |
|
|
|
|
_e_border_cb_config_mode, NULL); |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
E_LIST_HANDLER_APPEND(handlers, E_EVENT_DESK_WINDOW_PROFILE_CHANGE, |
|
|
|
|
_e_border_cb_desk_window_profile_change, NULL); |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
if (!borders_hash) borders_hash = eina_hash_string_superfast_new(NULL); |
|
|
|
|
|
|
|
|
|
E_EVENT_BORDER_ADD = ecore_event_type_new(); |
|
|
|
@ -667,9 +672,11 @@ e_border_new(E_Container *con, |
|
|
|
|
video_parent = EINA_TRUE; |
|
|
|
|
else if (atoms[i] == ECORE_X_ATOM_E_VIDEO_POSITION) |
|
|
|
|
video_position = EINA_TRUE; |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
/* loop to check for window profile list atom */ |
|
|
|
|
else if (atoms[i] == ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED) |
|
|
|
|
bd->client.e.fetch.profile = 1; |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
if (video_position && video_parent) |
|
|
|
|
{ |
|
|
|
@ -942,6 +949,7 @@ e_border_desk_set(E_Border *bd, |
|
|
|
|
E_OBJECT_CHECK(desk); |
|
|
|
|
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE); |
|
|
|
|
if (bd->desk == desk) return; |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
if ((e_config->use_desktop_window_profile) && |
|
|
|
|
(bd->client.e.state.profile.use)) |
|
|
|
|
{ |
|
|
|
@ -954,6 +962,7 @@ e_border_desk_set(E_Border *bd, |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
ecore_x_window_shadow_tree_flush(); |
|
|
|
|
if (bd->fullscreen) |
|
|
|
|
{ |
|
|
|
@ -4832,6 +4841,7 @@ e_border_resize_limit(E_Border *bd, |
|
|
|
|
static void |
|
|
|
|
_e_border_free(E_Border *bd) |
|
|
|
|
{ |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
if (bd->client.e.state.profile.use) |
|
|
|
|
{ |
|
|
|
|
if (bd->client.e.state.profile.available_list) |
|
|
|
@ -4860,6 +4870,7 @@ _e_border_free(E_Border *bd) |
|
|
|
|
bd->client.e.state.profile.wait_for_done = 0; |
|
|
|
|
bd->client.e.state.profile.use = 0; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
if (bd->client.e.state.video_parent && bd->client.e.state.video_parent_border) |
|
|
|
|
{ |
|
|
|
|
bd->client.e.state.video_parent_border->client.e.state.video_child = |
|
|
|
@ -5874,6 +5885,7 @@ _e_border_cb_window_property(void *data __UNUSED__, |
|
|
|
|
bd->client.netwm.fetch.state = 1; |
|
|
|
|
bd->changed = 1; |
|
|
|
|
} |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
else if (e->atom == ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED) |
|
|
|
|
{ |
|
|
|
|
bd->client.e.fetch.profile = 1; |
|
|
|
@ -5884,7 +5896,7 @@ _e_border_cb_window_property(void *data __UNUSED__, |
|
|
|
|
bd->client.e.fetch.profile = 1; |
|
|
|
|
bd->changed = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
return ECORE_CALLBACK_PASS_ON; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -6108,6 +6120,7 @@ _e_border_cb_window_focus_out(void *data __UNUSED__, |
|
|
|
|
return ECORE_CALLBACK_PASS_ON; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
static Eina_Bool |
|
|
|
|
_e_border_cb_client_message(void *data __UNUSED__, |
|
|
|
|
int ev_type __UNUSED__, |
|
|
|
@ -6160,7 +6173,7 @@ _e_border_cb_client_message(void *data __UNUSED__, |
|
|
|
|
|
|
|
|
|
return ECORE_CALLBACK_PASS_ON; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
static Eina_Bool |
|
|
|
|
_e_border_cb_window_state_request(void *data __UNUSED__, |
|
|
|
|
int ev_type __UNUSED__, |
|
|
|
@ -7061,6 +7074,7 @@ _e_border_cb_drag_finished(E_Drag *drag, |
|
|
|
|
drag_border = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
static Eina_Bool |
|
|
|
|
_e_border_cb_desk_window_profile_change(void *data __UNUSED__, |
|
|
|
|
int ev_type __UNUSED__, |
|
|
|
@ -7081,7 +7095,7 @@ _e_border_cb_desk_window_profile_change(void *data __UNUSED__, |
|
|
|
|
} |
|
|
|
|
return ECORE_CALLBACK_PASS_ON; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
static Eina_Bool |
|
|
|
|
_e_border_post_move_resize_job(void *data) |
|
|
|
|
{ |
|
|
|
@ -7176,7 +7190,6 @@ _e_border_eval0(E_Border *bd) |
|
|
|
|
{ |
|
|
|
|
int change_urgent = 0; |
|
|
|
|
int rem_change = 0; |
|
|
|
|
Eina_Bool need_desk_set = EINA_FALSE; |
|
|
|
|
|
|
|
|
|
if (e_object_is_del(E_OBJECT(bd))) |
|
|
|
|
{ |
|
|
|
@ -7305,8 +7318,10 @@ _e_border_eval0(E_Border *bd) |
|
|
|
|
bd->client.e.fetch.state = 0; |
|
|
|
|
rem_change = 1; |
|
|
|
|
} |
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
if (bd->client.e.fetch.profile) |
|
|
|
|
{ |
|
|
|
|
Eina_Bool need_desk_set = EINA_FALSE; |
|
|
|
|
const char **list = NULL; |
|
|
|
|
int n, i, res; |
|
|
|
|
unsigned int use; |
|
|
|
@ -7368,6 +7383,7 @@ _e_border_eval0(E_Border *bd) |
|
|
|
|
|
|
|
|
|
bd->client.e.fetch.profile = 0; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
if (bd->client.netwm.fetch.type) |
|
|
|
|
{ |
|
|
|
|
e_hints_window_type_get(bd); |
|
|
|
@ -7993,6 +8009,7 @@ _e_border_eval0(E_Border *bd) |
|
|
|
|
bd->client.netwm.update.state = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) |
|
|
|
|
if ((e_config->use_desktop_window_profile) && (need_desk_set)) |
|
|
|
|
{ |
|
|
|
|
if (!(bd->client.e.state.profile.name) && |
|
|
|
@ -8041,7 +8058,7 @@ _e_border_eval0(E_Border *bd) |
|
|
|
|
bd->client.e.state.profile.name); |
|
|
|
|
bd->client.e.state.profile.wait_for_done = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
if (bd->new_client) |
|
|
|
|
{ |
|
|
|
|
E_Event_Border_Add *ev; |
|
|
|
|