From bb7a113e2a3539296bab68505017d395d46ef3eb Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 3 Jul 2005 03:12:30 +0000 Subject: [PATCH] and behold - shorne did code some more! SVN revision: 15628 --- src/bin/e_ipc_handlers.h | 60 +++++++++++++++++++++++++++++++++++ src/bin/e_ipc_handlers_list.h | 3 ++ 2 files changed, 63 insertions(+) diff --git a/src/bin/e_ipc_handlers.h b/src/bin/e_ipc_handlers.h index 856838cee..ee39c8231 100644 --- a/src/bin/e_ipc_handlers.h +++ b/src/bin/e_ipc_handlers.h @@ -3958,6 +3958,66 @@ break; END_STRING(s); #endif #undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_FOCUS_SETTING_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-focus-setting-set", 1, "Set the focus setting policy (\"NONE\", \"NEW_WINDOW\", \"NEW_DIALOG\", \"NEW_DIALOG_IF_OWNER_FOCUSED\")", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT_START(HDL) + int value = 0; + if (!strcmp(params[0], "NONE")) value = E_FOCUS_NONE; + else if (!strcmp(params[0], "NEW_WINDOW")) value = E_FOCUS_NEW_WINDOW; + else if (!strcmp(params[0], "NEW_DIALOG")) value = E_FOCUS_NEW_DIALOG; + else if (!strcmp(params[0], "NEW_DIALOG_IF_OWNER_FOCUSED")) value = E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED; + else + { + printf("focus setting must be \"NONE\", \"NEW_WINDOW\", \"NEW_DIALOG\", \"NEW_DIALOG_IF_OWNER_FOCUSED\"\n"); + exit(-1); + } + REQ_INT_END(value, HDL); +#elif (TYPE == E_WM_IN) + START_INT(value, HDL); + e_border_button_bindings_ungrab_all(); + e_config->focus_setting = value; + E_CONFIG_LIMIT(e_config->focus_setting, 0, 3); + e_border_button_bindings_grab_all(); + SAVE; + END_INT +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_FOCUS_SETTING_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-focus-setting-get", 0, "Get the focus setting policy", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->focus_setting, E_IPC_OP_FOCUS_SETTING_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_FOCUS_SETTING_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(setting, HDL); + if (setting == E_FOCUS_NONE) + printf("REPLY: NONE\n"); + else if (setting == E_FOCUS_NEW_WINDOW) + printf("REPLY: NEW_WINDOW\n"); + else if (setting == E_FOCUS_NEW_DIALOG) + printf("REPLY: NEW_DIALOG\n"); + else if (setting == E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED) + printf("REPLY: NEW_DIALOG_IF_OWNER_FOCUSED\n"); + END_INT +#endif +#undef HDL #if 0 } diff --git a/src/bin/e_ipc_handlers_list.h b/src/bin/e_ipc_handlers_list.h index a3b3bdb93..e0d814ddc 100644 --- a/src/bin/e_ipc_handlers_list.h +++ b/src/bin/e_ipc_handlers_list.h @@ -193,3 +193,6 @@ #define E_IPC_OP_TRANSITION_CHANGE_SET 193 #define E_IPC_OP_TRANSITION_CHANGE_GET 194 #define E_IPC_OP_TRANSITION_CHANGE_GET_REPLY 195 +#define E_IPC_OP_FOCUS_SETTING_SET 196 +#define E_IPC_OP_FOCUS_SETTING_GET 197 +#define E_IPC_OP_FOCUS_SETTING_GET_REPLY 198