IPC for maximize policy.

SVN revision: 15419
This commit is contained in:
sebastid 2005-06-18 12:51:00 +00:00 committed by sebastid
parent 89ce449586
commit cfe111cbe1
4 changed files with 50 additions and 6 deletions

View File

@ -1173,7 +1173,7 @@ e_border_maximize(E_Border *bd)
/* FIXME */
break;
}
bd->maximized = 1;
bd->maximized = e_config->maximize_policy;
bd->changes.pos = 1;
bd->changes.size = 1;
bd->changed = 1;
@ -1192,9 +1192,8 @@ e_border_unmaximize(E_Border *bd)
{
// printf("UNMAXIMIZE!!\n");
e_hints_window_maximized_set(bd, 0);
bd->maximized = 0;
switch (e_config->maximize_policy)
switch (bd->maximized)
{
case E_MAXIMIZE_ZOOM:
/* FIXME */
@ -1233,6 +1232,7 @@ e_border_unmaximize(E_Border *bd)
/* FIXME */
break;
}
bd->maximized = 0;
e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);

View File

@ -35,12 +35,13 @@ typedef enum _E_Focus_Policy
typedef enum _E_Maximize_Policy
{
E_MAXIMIZE_NONE,
E_MAXIMIZE_ZOOM,
E_MAXIMIZE_FULLSCREEN,
E_MAXIMIZE_SMART,
E_MAXIMIZE_EXPAND,
E_MAXIMIZE_FILL
} E_Maximise_Policy;
} E_Maximize_Policy;
@ -254,7 +255,7 @@ struct _E_Border
unsigned char re_manage : 1;
unsigned char shading : 1;
unsigned char shaded : 1;
unsigned char maximized : 1;
E_Maximize_Policy maximized;
unsigned char iconic : 1;
unsigned char sticky : 1;
unsigned char shaped : 1;

View File

@ -929,7 +929,7 @@ break;
/****************************************************************************/
#define HDL E_IPC_OP_FOCUS_POLICY_SET
#if (TYPE == E_REMOTE_OPTIONS)
OP("-focus-policy-set", 1, "Set the focus policy. OPT1 = CLICK or MOUSE or SLOPPY", 0, HDL)
OP("-focus-policy-set", 1, "Set the focus policy. OPT1 = CLICK, MOUSE or SLOPPY", 0, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_INT_START(HDL)
int value = 0;
@ -1410,6 +1410,46 @@ break;
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_MAXIMIZE_POLICY_SET
#if (TYPE == E_REMOTE_OPTIONS)
OP("-maximize-policy-set", 1, "Set the maximize policy. OPT1 = ZOOM, FULLSCREEN, SMART, EXPAND or FILL", 0, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_INT_START(HDL)
int value = 0;
if (!strcmp(params[0], "ZOOM")) value = E_MAXIMIZE_ZOOM;
else if (!strcmp(params[0], "FULLSCREEN")) value = E_MAXIMIZE_FULLSCREEN;
else if (!strcmp(params[0], "SMART")) value = E_MAXIMIZE_SMART;
else if (!strcmp(params[0], "EXPAND")) value = E_MAXIMIZE_EXPAND;
else if (!strcmp(params[0], "FILL")) value = E_MAXIMIZE_FILL;
else
{
printf("maximize must be ZOOM, FULLSCREEN, SMART, EXPAND or FILL\n");
exit(-1);
}
REQ_INT_END(value, HDL);
#elif (TYPE == E_WM_IN)
START_INT(value, HDL);
e_config->maximize_policy = value;
E_CONFIG_LIMIT(e_config->maximize_policy, E_MAXIMIZE_ZOOM, E_MAXIMIZE_FILL);
SAVE;
END_INT
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
/****************************************************************************/
#define HDL E_IPC_OP_MAXIMIZE_POLICY_GET
#if (TYPE == E_REMOTE_OPTIONS)
OP("-maximize-policy-get", 0, "Get maximize policy", 1, HDL)
#elif (TYPE == E_REMOTE_OUT)
REQ_NULL(HDL);
#elif (TYPE == E_WM_IN)
SEND_INT(e_config->maximize_policy, E_IPC_OP_MAXIMIZE_POLICY_GET_REPLY, HDL);
#elif (TYPE == E_REMOTE_IN)
#endif
#undef HDL
#if 0
}
#endif

View File

@ -81,3 +81,6 @@
#define E_IPC_OP_FOCUS_POLICY_SET 81
#define E_IPC_OP_FOCUS_POLICY_GET 82
#define E_IPC_OP_FOCUS_POLICY_GET_REPLY 83
#define E_IPC_OP_MAXIMIZE_POLICY_SET 84
#define E_IPC_OP_MAXIMIZE_POLICY_GET 85
#define E_IPC_OP_MAXIMIZE_POLICY_GET_REPLY 86