forked from enlightenment/enlightenment
break out client frame setting into helper function
This commit is contained in:
parent
04f7b59e11
commit
bcee2e34aa
|
@ -1979,6 +1979,64 @@ _e_client_eval(E_Client *ec)
|
||||||
_e_client_hook_call(E_CLIENT_HOOK_EVAL_END, ec);
|
_e_client_hook_call(E_CLIENT_HOOK_EVAL_END, ec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_client_frame_update(E_Client *ec)
|
||||||
|
{
|
||||||
|
const char *bordername;
|
||||||
|
Eina_Stringshare *pborder;
|
||||||
|
|
||||||
|
if (ec->fullscreen || ec->borderless)
|
||||||
|
bordername = "borderless";
|
||||||
|
else if (ec->bordername)
|
||||||
|
bordername = ec->bordername;
|
||||||
|
else if ((ec->mwm.borderless) || (ec->borderless))
|
||||||
|
bordername = "borderless";
|
||||||
|
else if (((ec->icccm.transient_for != 0) ||
|
||||||
|
(ec->dialog)) &&
|
||||||
|
(ec->icccm.min_w == ec->icccm.max_w) &&
|
||||||
|
(ec->icccm.min_h == ec->icccm.max_h))
|
||||||
|
bordername = "noresize_dialog";
|
||||||
|
else if ((ec->icccm.min_w == ec->icccm.max_w) &&
|
||||||
|
(ec->icccm.min_h == ec->icccm.max_h))
|
||||||
|
bordername = "noresize";
|
||||||
|
else if (ec->shaped)
|
||||||
|
bordername = "shaped";
|
||||||
|
else if (e_pixmap_is_x(ec->pixmap) &&
|
||||||
|
((!ec->icccm.accepts_focus) &&
|
||||||
|
(!ec->icccm.take_focus)))
|
||||||
|
bordername = "nofocus";
|
||||||
|
else if (ec->icccm.urgent)
|
||||||
|
bordername = "urgent";
|
||||||
|
else if ((ec->icccm.transient_for != 0) ||
|
||||||
|
(ec->dialog))
|
||||||
|
bordername = "dialog";
|
||||||
|
else if (ec->netwm.state.modal)
|
||||||
|
bordername = "modal";
|
||||||
|
else if ((ec->netwm.state.skip_taskbar) ||
|
||||||
|
(ec->netwm.state.skip_pager))
|
||||||
|
bordername = "skipped";
|
||||||
|
/*
|
||||||
|
else if ((ec->internal) && (ec->icccm.class) &&
|
||||||
|
(!strncmp(ec->icccm.class, "e_fwin", 6)))
|
||||||
|
bordername = "internal_fileman";
|
||||||
|
*/
|
||||||
|
else
|
||||||
|
bordername = e_config->theme_default_border_style;
|
||||||
|
if (!bordername) bordername = "default";
|
||||||
|
|
||||||
|
if (e_util_strcmp(ec->border.name, bordername))
|
||||||
|
{
|
||||||
|
pborder = ec->border.name;
|
||||||
|
ec->border.name = eina_stringshare_add(bordername);
|
||||||
|
if (e_comp_object_frame_theme_set(ec->frame, bordername))
|
||||||
|
eina_stringshare_del(pborder);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
eina_stringshare_del(ec->border.name);
|
||||||
|
ec->border.name = pborder;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////
|
////////////////////////////////////////////////
|
||||||
EINTERN void
|
EINTERN void
|
||||||
|
@ -2016,60 +2074,7 @@ e_client_idler_before(void)
|
||||||
if ((ec->border.changed) && (!ec->shaded) &&
|
if ((ec->border.changed) && (!ec->shaded) &&
|
||||||
(!(((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
(!(((ec->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
||||||
{
|
{
|
||||||
const char *bordername;
|
_e_client_frame_update(ec);
|
||||||
Eina_Stringshare *pborder;
|
|
||||||
|
|
||||||
if (ec->fullscreen || ec->borderless)
|
|
||||||
bordername = "borderless";
|
|
||||||
else if (ec->bordername)
|
|
||||||
bordername = ec->bordername;
|
|
||||||
else if ((ec->mwm.borderless) || (ec->borderless))
|
|
||||||
bordername = "borderless";
|
|
||||||
else if (((ec->icccm.transient_for != 0) ||
|
|
||||||
(ec->dialog)) &&
|
|
||||||
(ec->icccm.min_w == ec->icccm.max_w) &&
|
|
||||||
(ec->icccm.min_h == ec->icccm.max_h))
|
|
||||||
bordername = "noresize_dialog";
|
|
||||||
else if ((ec->icccm.min_w == ec->icccm.max_w) &&
|
|
||||||
(ec->icccm.min_h == ec->icccm.max_h))
|
|
||||||
bordername = "noresize";
|
|
||||||
else if (ec->shaped)
|
|
||||||
bordername = "shaped";
|
|
||||||
else if (e_pixmap_is_x(ec->pixmap) &&
|
|
||||||
((!ec->icccm.accepts_focus) &&
|
|
||||||
(!ec->icccm.take_focus)))
|
|
||||||
bordername = "nofocus";
|
|
||||||
else if (ec->icccm.urgent)
|
|
||||||
bordername = "urgent";
|
|
||||||
else if ((ec->icccm.transient_for != 0) ||
|
|
||||||
(ec->dialog))
|
|
||||||
bordername = "dialog";
|
|
||||||
else if (ec->netwm.state.modal)
|
|
||||||
bordername = "modal";
|
|
||||||
else if ((ec->netwm.state.skip_taskbar) ||
|
|
||||||
(ec->netwm.state.skip_pager))
|
|
||||||
bordername = "skipped";
|
|
||||||
/*
|
|
||||||
else if ((ec->internal) && (ec->icccm.class) &&
|
|
||||||
(!strncmp(ec->icccm.class, "e_fwin", 6)))
|
|
||||||
bordername = "internal_fileman";
|
|
||||||
*/
|
|
||||||
else
|
|
||||||
bordername = e_config->theme_default_border_style;
|
|
||||||
if (!bordername) bordername = "default";
|
|
||||||
|
|
||||||
if (e_util_strcmp(ec->border.name, bordername))
|
|
||||||
{
|
|
||||||
pborder = ec->border.name;
|
|
||||||
ec->border.name = eina_stringshare_add(bordername);
|
|
||||||
if (e_comp_object_frame_theme_set(ec->frame, bordername))
|
|
||||||
eina_stringshare_del(pborder);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
eina_stringshare_del(ec->border.name);
|
|
||||||
ec->border.name = pborder;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ec->border.changed = 0;
|
ec->border.changed = 0;
|
||||||
}
|
}
|
||||||
if (urgent != ec->icccm.urgent)
|
if (urgent != ec->icccm.urgent)
|
||||||
|
|
Loading…
Reference in New Issue