parent
de53041869
commit
cf7815a1da
1
AUTHORS
1
AUTHORS
|
@ -5,3 +5,4 @@ HandyAndE (Andrew Williams) <andy@handyande.co.uk>
|
||||||
CodeWarrior (Hisham Mardam Bey) <hisham@hisham.cc>
|
CodeWarrior (Hisham Mardam Bey) <hisham@hisham.cc>
|
||||||
dj2 (dan sinclair) <dj2@everburning.com>
|
dj2 (dan sinclair) <dj2@everburning.com>
|
||||||
Tilman Sauerbeck <tilman@code-monkey.de>
|
Tilman Sauerbeck <tilman@code-monkey.de>
|
||||||
|
Aleksej Struk <astruk@gmail.com>
|
||||||
|
|
|
@ -367,23 +367,67 @@ ACT_FN_GO(window_maximized_toggle)
|
||||||
E_Border *bd;
|
E_Border *bd;
|
||||||
|
|
||||||
bd = (E_Border *)obj;
|
bd = (E_Border *)obj;
|
||||||
if (bd->maximized) e_border_unmaximize(bd);
|
/*if (bd->maximized) e_border_unmaximize(bd);*/
|
||||||
else
|
if( bd->maximized != E_MAXIMIZE_NONE &&
|
||||||
|
bd->maximized != E_MAXIMIZE_VERTICAL &&
|
||||||
|
bd->maximized != E_MAXIMIZE_HORIZONTAL )
|
||||||
|
{
|
||||||
|
if( !params )
|
||||||
|
e_border_unmaximize(bd);
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (!params)
|
if( !strcmp( params, "vertical"))
|
||||||
e_border_maximize(bd, e_config->maximize_policy);
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
|
||||||
else
|
else if( !strcmp( params, "horizontal"))
|
||||||
{
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
|
||||||
if (!strcmp(params, "fullscreen")) e_border_maximize(bd, E_MAXIMIZE_FULLSCREEN);
|
else
|
||||||
else if (!strcmp(params, "smart")) e_border_maximize(bd, E_MAXIMIZE_SMART);
|
e_border_unmaximize(bd);
|
||||||
else if (!strcmp(params, "expand")) e_border_maximize(bd, E_MAXIMIZE_EXPAND);
|
|
||||||
else if (!strcmp(params, "fill")) e_border_maximize(bd, E_MAXIMIZE_FILL);
|
|
||||||
else e_border_maximize(bd, e_config->maximize_policy);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !bd->maximized )
|
||||||
|
{
|
||||||
|
if (!params)
|
||||||
|
e_border_maximize(bd, e_config->maximize_policy);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!strcmp(params, "fullscreen")) e_border_maximize(bd, E_MAXIMIZE_FULLSCREEN);
|
||||||
|
else if (!strcmp(params, "smart")) e_border_maximize(bd, E_MAXIMIZE_SMART);
|
||||||
|
else if (!strcmp(params, "expand")) e_border_maximize(bd, E_MAXIMIZE_EXPAND);
|
||||||
|
else if (!strcmp(params, "fill")) e_border_maximize(bd, E_MAXIMIZE_FILL);
|
||||||
|
else if (!strcmp(params, "vertical")) e_border_maximize(bd, E_MAXIMIZE_VERTICAL);
|
||||||
|
else if (!strcmp(params, "horizontal")) e_border_maximize(bd, E_MAXIMIZE_HORIZONTAL);
|
||||||
|
else e_border_maximize(bd, e_config->maximize_policy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !params )
|
||||||
|
e_border_maximize( bd, e_config->maximize_policy );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !strcmp(params, "vertical") )
|
||||||
|
{
|
||||||
|
if( bd->maximized == E_MAXIMIZE_VERTICAL )
|
||||||
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
|
||||||
|
else
|
||||||
|
e_border_maximize(bd, E_MAXIMIZE_VERTICAL );
|
||||||
|
}
|
||||||
|
else if( !strcmp(params, "horizontal") )
|
||||||
|
{
|
||||||
|
if( bd->maximized == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
|
||||||
|
else
|
||||||
|
e_border_maximize(bd, E_MAXIMIZE_HORIZONTAL );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
e_border_maximize(bd, e_config->maximize_policy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
ACT_FN_GO(window_maximized)
|
ACT_FN_GO(window_maximized)
|
||||||
{
|
{
|
||||||
|
@ -534,7 +578,6 @@ ACT_FN_GO(window_move_by)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
ACT_FN_GO(window_move_to)
|
ACT_FN_GO(window_move_to)
|
||||||
{
|
{
|
||||||
|
@ -1297,7 +1340,7 @@ e_actions_init(void)
|
||||||
ACT_GO(window_iconic);
|
ACT_GO(window_iconic);
|
||||||
|
|
||||||
ACT_GO(window_maximized_toggle);
|
ACT_GO(window_maximized_toggle);
|
||||||
|
|
||||||
ACT_GO(window_maximized);
|
ACT_GO(window_maximized);
|
||||||
|
|
||||||
ACT_GO(window_shaded_toggle);
|
ACT_GO(window_shaded_toggle);
|
||||||
|
|
|
@ -1443,7 +1443,14 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
if ((bd->shaded) || (bd->shading)) return;
|
if ((bd->shaded) || (bd->shading)) return;
|
||||||
if (bd->fullscreen)
|
if (bd->fullscreen)
|
||||||
e_border_unfullscreen(bd);
|
e_border_unfullscreen(bd);
|
||||||
if (!bd->maximized)
|
if( bd->maximized == E_MAXIMIZE_VERTICAL && max == E_MAXIMIZE_VERTICAL )
|
||||||
|
; // ignore. we are already maximized vertical.
|
||||||
|
else if( bd->maximized == E_MAXIMIZE_HORIZONTAL && max == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
; // ignore. we are already maximized horizontaly.
|
||||||
|
else if ( ( bd->maximized == E_MAXIMIZE_NONE ||
|
||||||
|
bd->maximized == E_MAXIMIZE_VERTICAL ||
|
||||||
|
bd->maximized == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
)
|
||||||
{
|
{
|
||||||
int x1, y1, x2, y2;
|
int x1, y1, x2, y2;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
@ -1453,10 +1460,14 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
bd->need_maximize = 1;
|
bd->need_maximize = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bd->saved.x = bd->x;
|
|
||||||
bd->saved.y = bd->y;
|
if( !bd->maximized ) // E_MAXIMIZE_NONE
|
||||||
bd->saved.w = bd->w;
|
{
|
||||||
bd->saved.h = bd->h;
|
bd->saved.x = bd->x;
|
||||||
|
bd->saved.y = bd->y;
|
||||||
|
bd->saved.w = bd->w;
|
||||||
|
bd->saved.h = bd->h;
|
||||||
|
}
|
||||||
e_hints_window_size_set(bd);
|
e_hints_window_size_set(bd);
|
||||||
|
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
|
@ -1532,8 +1543,54 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
e_border_resize_limit(bd, &w, &h);
|
e_border_resize_limit(bd, &w, &h);
|
||||||
e_border_move_resize(bd, x1, y1, w, h);
|
e_border_move_resize(bd, x1, y1, w, h);
|
||||||
break;
|
break;
|
||||||
|
case E_MAXIMIZE_VERTICAL:
|
||||||
|
x1 = bd->zone->x;
|
||||||
|
y1 = bd->zone->y;
|
||||||
|
x2 = bd->zone->x + bd->zone->w;
|
||||||
|
y2 = bd->zone->y + bd->zone->h;
|
||||||
|
|
||||||
|
/* walk through all gadgets */
|
||||||
|
e_maximize_border_gadman_fill(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
/* walk through docks and toolbars */
|
||||||
|
//e_maximize_border_dock_fit(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
/* walk through all windows */
|
||||||
|
//e_maximize_border_border_fill(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
x1 = bd->x;
|
||||||
|
w = bd->w;
|
||||||
|
h = y2 - y1;
|
||||||
|
e_border_resize_limit(bd,&w,&h);
|
||||||
|
e_border_move_resize(bd,x1,y1,w,h);
|
||||||
|
break;
|
||||||
|
case E_MAXIMIZE_HORIZONTAL:
|
||||||
|
x1 = bd->zone->x;
|
||||||
|
y1 = bd->zone->y;
|
||||||
|
x2 = bd->zone->x + bd->zone->w;
|
||||||
|
y2 = bd->zone->y + bd->zone->h;
|
||||||
|
|
||||||
|
/* walk through all gadgets */
|
||||||
|
e_maximize_border_gadman_fill(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
/* walk through docks and toolbars */
|
||||||
|
//e_maximize_border_dock_fit(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
/* walk through all windows */
|
||||||
|
//e_maximize_border_border_fill(bd, &x1, &y1, &x2, &y2);
|
||||||
|
|
||||||
|
y1 = bd->y;
|
||||||
|
h = bd->h;
|
||||||
|
w = x2 - x1;
|
||||||
|
e_border_resize_limit(bd,&w,&h);
|
||||||
|
e_border_move_resize(bd,x1,y1,w,h);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
bd->maximized = max;
|
if( bd->maximized == E_MAXIMIZE_HORIZONTAL && max == E_MAXIMIZE_VERTICAL ||
|
||||||
|
bd->maximized == E_MAXIMIZE_VERTICAL && max == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
bd->maximized = e_config->maximize_policy;
|
||||||
|
else
|
||||||
|
bd->maximized = max;
|
||||||
|
|
||||||
if (bd->maximized)
|
if (bd->maximized)
|
||||||
e_hints_window_maximized_set(bd, 1);
|
e_hints_window_maximized_set(bd, 1);
|
||||||
|
@ -1542,6 +1599,90 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/***sndev : e_border_unmaxmize_vh *******************************************************/
|
||||||
|
void
|
||||||
|
e_border_unmaximize_vh(E_Border *bd, E_Maximize max )
|
||||||
|
{
|
||||||
|
E_OBJECT_CHECK(bd);
|
||||||
|
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||||
|
if ((bd->shaded) || (bd->shading)) return;
|
||||||
|
if( max != E_MAXIMIZE_VERTICAL && max != E_MAXIMIZE_HORIZONTAL ) return;
|
||||||
|
|
||||||
|
if( !bd->lock_user_maximize)
|
||||||
|
{
|
||||||
|
if( bd->maximized )
|
||||||
|
{
|
||||||
|
switch( bd->maximized )
|
||||||
|
{
|
||||||
|
case E_MAXIMIZE_NONE:
|
||||||
|
case E_MAXIMIZE_FULLSCREEN:
|
||||||
|
/* Ignore */
|
||||||
|
break;
|
||||||
|
case E_MAXIMIZE_SMART:
|
||||||
|
case E_MAXIMIZE_EXPAND:
|
||||||
|
case E_MAXIMIZE_FILL:
|
||||||
|
if( max == E_MAXIMIZE_VERTICAL )
|
||||||
|
{
|
||||||
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
e_hints_window_maximized_set(bd, 0);
|
||||||
|
|
||||||
|
bd->maximized = E_MAXIMIZE_HORIZONTAL;
|
||||||
|
e_hints_window_maximized_set(bd, 1);
|
||||||
|
|
||||||
|
e_border_move_resize( bd, bd->x, bd->saved.y, bd->w, bd->saved.h);
|
||||||
|
e_hints_window_size_unset(bd);
|
||||||
|
|
||||||
|
//edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
||||||
|
}
|
||||||
|
if( max == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
{
|
||||||
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
e_hints_window_maximized_set(bd, 0);
|
||||||
|
|
||||||
|
bd->maximized = E_MAXIMIZE_VERTICAL;
|
||||||
|
e_hints_window_maximized_set(bd, 1);
|
||||||
|
|
||||||
|
e_border_move_resize( bd, bd->saved.x, bd->y, bd->saved.w, bd->h);
|
||||||
|
e_hints_window_size_unset(bd);
|
||||||
|
|
||||||
|
//edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case E_MAXIMIZE_VERTICAL:
|
||||||
|
if( max == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
; // do nothing in this case
|
||||||
|
if( max == E_MAXIMIZE_VERTICAL )
|
||||||
|
{
|
||||||
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
e_hints_window_maximized_set(bd, 0);
|
||||||
|
|
||||||
|
e_border_move_resize( bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
||||||
|
bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
|
||||||
|
e_hints_window_size_unset(bd);
|
||||||
|
|
||||||
|
edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case E_MAXIMIZE_HORIZONTAL:
|
||||||
|
if( max == E_MAXIMIZE_VERTICAL )
|
||||||
|
; // do nothing in this case.
|
||||||
|
if( max == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
{
|
||||||
|
bd->maximized = E_MAXIMIZE_NONE;
|
||||||
|
e_hints_window_maximized_set(bd, 0);
|
||||||
|
|
||||||
|
e_border_move_resize( bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
||||||
|
bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
|
||||||
|
e_hints_window_size_unset(bd);
|
||||||
|
|
||||||
|
edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**************************************************************************************/
|
||||||
|
|
||||||
void
|
void
|
||||||
e_border_unmaximize(E_Border *bd)
|
e_border_unmaximize(E_Border *bd)
|
||||||
|
|
|
@ -47,7 +47,9 @@ typedef enum _E_Maximize
|
||||||
E_MAXIMIZE_FULLSCREEN,
|
E_MAXIMIZE_FULLSCREEN,
|
||||||
E_MAXIMIZE_SMART,
|
E_MAXIMIZE_SMART,
|
||||||
E_MAXIMIZE_EXPAND,
|
E_MAXIMIZE_EXPAND,
|
||||||
E_MAXIMIZE_FILL
|
E_MAXIMIZE_FILL,
|
||||||
|
E_MAXIMIZE_VERTICAL,
|
||||||
|
E_MAXIMIZE_HORIZONTAL
|
||||||
} E_Maximize;
|
} E_Maximize;
|
||||||
|
|
||||||
typedef enum _E_Fullscreen
|
typedef enum _E_Fullscreen
|
||||||
|
@ -358,6 +360,7 @@ struct _E_Border
|
||||||
E_Config_Dialog *border_remember_dialog;
|
E_Config_Dialog *border_remember_dialog;
|
||||||
E_Config_Dialog *border_border_dialog;
|
E_Config_Dialog *border_border_dialog;
|
||||||
E_Menu *border_stacking_menu;
|
E_Menu *border_stacking_menu;
|
||||||
|
E_Menu *border_maximize_menu;
|
||||||
Evas_List *pending_move_resize;
|
Evas_List *pending_move_resize;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -763,6 +763,26 @@ e_config_init(void)
|
||||||
eb->params = NULL;
|
eb->params = NULL;
|
||||||
e_config->key_bindings = evas_list_append(e_config->key_bindings, eb);
|
e_config->key_bindings = evas_list_append(e_config->key_bindings, eb);
|
||||||
|
|
||||||
|
// sndev : start
|
||||||
|
eb = E_NEW( E_Config_Binding_Key, 1 );
|
||||||
|
eb->context = E_BINDING_CONTEXT_ANY;
|
||||||
|
eb->key = strdup("F10");
|
||||||
|
eb->modifiers = E_BINDING_MODIFIER_ALT;
|
||||||
|
eb->any_mod = 0;
|
||||||
|
eb->action = strdup( "window_maximized_toggle" );
|
||||||
|
eb->params = strdup( "vertical" );
|
||||||
|
e_config->key_bindings = evas_list_append( e_config->key_bindings, eb );
|
||||||
|
|
||||||
|
eb = E_NEW( E_Config_Binding_Key, 1 );
|
||||||
|
eb->context = E_BINDING_CONTEXT_ANY;
|
||||||
|
eb->key = strdup("F10");
|
||||||
|
eb->modifiers = E_BINDING_MODIFIER_CTRL;
|
||||||
|
eb->any_mod = 0;
|
||||||
|
eb->action = strdup( "window_maximized_toggle" );
|
||||||
|
eb->params = strdup( "horizontal" );
|
||||||
|
e_config->key_bindings = evas_list_append( e_config->key_bindings, eb );
|
||||||
|
// sndev : end
|
||||||
|
|
||||||
eb = E_NEW(E_Config_Binding_Key, 1);
|
eb = E_NEW(E_Config_Binding_Key, 1);
|
||||||
eb->context = E_BINDING_CONTEXT_ANY;
|
eb->context = E_BINDING_CONTEXT_ANY;
|
||||||
eb->key = strdup("r");
|
eb->key = strdup("r");
|
||||||
|
|
|
@ -1010,7 +1010,60 @@ e_hints_window_size_get(E_Border *bd)
|
||||||
void
|
void
|
||||||
e_hints_window_maximized_set(E_Border *bd, int on)
|
e_hints_window_maximized_set(E_Border *bd, int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.maximized_v) && (on))
|
|
||||||
|
if( on )
|
||||||
|
{
|
||||||
|
if( bd->maximized == E_MAXIMIZE_VERTICAL )
|
||||||
|
{
|
||||||
|
if( !bd->client.netwm.state.maximized_v )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_v = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( bd->maximized == E_MAXIMIZE_HORIZONTAL )
|
||||||
|
{
|
||||||
|
if( !bd->client.netwm.state.maximized_h )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_h = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( !bd->client.netwm.state.maximized_v )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_v = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
if( !bd->client.netwm.state.maximized_h )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_h = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( bd->client.netwm.state.maximized_v )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_v = 0;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
if( bd->client.netwm.state.maximized_h )
|
||||||
|
{
|
||||||
|
bd->client.netwm.update.state = 1;
|
||||||
|
bd->client.netwm.state.maximized_h = 0;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*if ((!bd->client.netwm.state.maximized_v) && (on))
|
||||||
{
|
{
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
bd->client.netwm.state.maximized_v = 1;
|
bd->client.netwm.state.maximized_v = 1;
|
||||||
|
@ -1033,7 +1086,7 @@ e_hints_window_maximized_set(E_Border *bd, int on)
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
bd->client.netwm.state.maximized_h = 0;
|
bd->client.netwm.state.maximized_h = 0;
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -11,6 +11,8 @@ static void _e_border_menu_cb_close(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_kill(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_kill(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_border_menu_cb_maximize_verticaly(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_border_menu_cb_maximize_horizontaly(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
@ -69,6 +71,55 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
"widgets/border/default/stack_below");
|
"widgets/border/default/stack_below");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m = e_menu_new();
|
||||||
|
bd->border_maximize_menu = m;
|
||||||
|
/* Only allow to change layer for windows in "normal" layers */
|
||||||
|
if ((!bd->lock_user_maximize) &&
|
||||||
|
((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
|
||||||
|
{
|
||||||
|
int __fullmaximization = 0;
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximized"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
//e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
|
e_menu_item_toggle_set( mi, ( ( (__fullmaximization = bd->maximized &&
|
||||||
|
bd->maximized != E_MAXIMIZE_VERTICAL &&
|
||||||
|
bd->maximized != E_MAXIMIZE_HORIZONTAL)) ? 1 : 0 ));
|
||||||
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximized verticaly"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
//e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
|
e_menu_item_toggle_set( mi, ( ( (bd->maximized &&
|
||||||
|
bd->maximized == E_MAXIMIZE_VERTICAL &&
|
||||||
|
bd->maximized != E_MAXIMIZE_HORIZONTAL) ||
|
||||||
|
__fullmaximization ) ? 1 : 0 ));
|
||||||
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize_verticaly, bd);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximized horizontaly"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
//e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
|
e_menu_item_toggle_set( mi, ( ( (bd->maximized &&
|
||||||
|
bd->maximized != E_MAXIMIZE_VERTICAL &&
|
||||||
|
bd->maximized == E_MAXIMIZE_HORIZONTAL) ||
|
||||||
|
__fullmaximization ) ? 1 : 0 ));
|
||||||
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize_horizontaly, bd);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
}
|
||||||
|
|
||||||
m = e_menu_new();
|
m = e_menu_new();
|
||||||
e_object_data_set(E_OBJECT(m), bd);
|
e_object_data_set(E_OBJECT(m), bd);
|
||||||
bd->border_menu = m;
|
bd->border_menu = m;
|
||||||
|
@ -117,6 +168,14 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
"widgets/border/default/stacking"),
|
"widgets/border/default/stacking"),
|
||||||
"widgets/border/default/stacking");
|
"widgets/border/default/stacking");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximize"));
|
||||||
|
e_menu_item_submenu_set(mi, bd->border_maximize_menu);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
if ((!bd->lock_user_shade) && (!(!strcmp("borderless", bd->client.border.name))))
|
if ((!bd->lock_user_shade) && (!(!strcmp("borderless", bd->client.border.name))))
|
||||||
{
|
{
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
|
@ -130,18 +189,44 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
"widgets/border/default/shade");
|
"widgets/border/default/shade");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bd->lock_user_maximize)
|
/*if (!bd->lock_user_maximize)
|
||||||
{
|
{
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("Maximized"));
|
e_menu_item_separator_set(mi, 1);
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
|
e_menu_item_label_set(mi, _("Maximized"));
|
||||||
e_menu_item_icon_edje_set(mi,
|
e_menu_item_check_set(mi, 1);
|
||||||
(char *)e_theme_edje_file_get("base/theme/borders",
|
e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
"widgets/border/default/maximize"),
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
|
||||||
"widgets/border/default/maximize");
|
e_menu_item_icon_edje_set(mi,
|
||||||
}
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximized verticaly"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Maximized horizontaly"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
|
||||||
|
e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
|
||||||
|
e_menu_item_icon_edje_set(mi,
|
||||||
|
(char *)e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"widgets/border/default/maximize"),
|
||||||
|
"widgets/border/default/maximize");
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
}*/
|
||||||
|
|
||||||
if (!bd->lock_user_sticky)
|
if (!bd->lock_user_sticky)
|
||||||
{
|
{
|
||||||
|
@ -270,6 +355,12 @@ e_int_border_menu_del(E_Border *bd)
|
||||||
bd->border_stacking_menu = NULL;
|
bd->border_stacking_menu = NULL;
|
||||||
was_menu = 1;
|
was_menu = 1;
|
||||||
}
|
}
|
||||||
|
if( bd->border_maximize_menu )
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(bd->border_maximize_menu));
|
||||||
|
bd->border_maximize_menu = NULL;
|
||||||
|
was_menu = 1;
|
||||||
|
}
|
||||||
if (bd->border_menu)
|
if (bd->border_menu)
|
||||||
{
|
{
|
||||||
e_object_del(E_OBJECT(bd->border_menu));
|
e_object_del(E_OBJECT(bd->border_menu));
|
||||||
|
@ -365,11 +456,41 @@ _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
bd = data;
|
bd = data;
|
||||||
if (!bd->lock_user_maximize)
|
if (!bd->lock_user_maximize)
|
||||||
{
|
{
|
||||||
if (bd->maximized) e_border_unmaximize(bd);
|
if (bd->maximized != E_MAXIMIZE_NONE &&
|
||||||
|
bd->maximized != E_MAXIMIZE_VERTICAL &&
|
||||||
|
bd->maximized != E_MAXIMIZE_HORIZONTAL ) e_border_unmaximize(bd);
|
||||||
else e_border_maximize(bd, e_config->maximize_policy);
|
else e_border_maximize(bd, e_config->maximize_policy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*** sndev : menu_cb_miximize_verticaly callback **************/
|
||||||
|
static void
|
||||||
|
_e_border_menu_cb_maximize_verticaly(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = data;
|
||||||
|
if (!bd->lock_user_maximize)
|
||||||
|
{
|
||||||
|
if (bd->maximized && bd->maximized != E_MAXIMIZE_HORIZONTAL )
|
||||||
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
|
||||||
|
else e_border_maximize(bd, E_MAXIMIZE_VERTICAL );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*** sndev : menu_cb_miximize_verticaly callback **************/
|
||||||
|
static void
|
||||||
|
_e_border_menu_cb_maximize_horizontaly(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Border *bd;
|
||||||
|
|
||||||
|
bd = data;
|
||||||
|
if (!bd->lock_user_maximize)
|
||||||
|
{
|
||||||
|
if (bd->maximized && bd->maximized != E_MAXIMIZE_VERTICAL )
|
||||||
|
e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
|
||||||
|
else e_border_maximize(bd, E_MAXIMIZE_HORIZONTAL );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*************************************************************/
|
||||||
static void
|
static void
|
||||||
_e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue