summaryrefslogtreecommitdiff
path: root/src/bin/e_ipc.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2005-05-20 09:27:06 +0000
committerCarsten Haitzler <raster@rasterman.com>2005-05-20 09:27:06 +0000
commit38ab99da693ab2385fbe63cd60adcdf5ad4291f3 (patch)
treeaa054de29fb6ffd325cefc0f845c0a3796485516 /src/bin/e_ipc.c
parent45a7d1f244a7ee1fd3b119f3dcb69e534929f938 (diff)
click to focus works... if you turn it on and restart.
SVN revision: 14869
Diffstat (limited to 'src/bin/e_ipc.c')
-rw-r--r--src/bin/e_ipc.c53
1 files changed, 7 insertions, 46 deletions
diff --git a/src/bin/e_ipc.c b/src/bin/e_ipc.c
index 2e70b42..6984bee 100644
--- a/src/bin/e_ipc.c
+++ b/src/bin/e_ipc.c
@@ -27,8 +27,6 @@ ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_key_binding_list_enc);
27ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_key_binding_enc); 27ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_key_binding_enc);
28ECORE_IPC_DEC_STRUCT_PROTO(_e_ipc_key_binding_dec); 28ECORE_IPC_DEC_STRUCT_PROTO(_e_ipc_key_binding_dec);
29ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_path_list_enc); 29ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_path_list_enc);
30ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_focus_policy_enc);
31ECORE_IPC_DEC_STRUCT_PROTO(_e_ipc_focus_policy_dec);
32 30
33/* local subsystem globals */ 31/* local subsystem globals */
34static Ecore_Ipc_Server *_e_ipc_server = NULL; 32static Ecore_Ipc_Server *_e_ipc_server = NULL;
@@ -738,35 +736,17 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
738 E_IPC_OP_DESKS_GET_REPLY); 736 E_IPC_OP_DESKS_GET_REPLY);
739 break; 737 break;
740 case E_IPC_OP_FOCUS_POLICY_SET: 738 case E_IPC_OP_FOCUS_POLICY_SET:
739 if (e_ipc_codec_int_dec(e->data, e->size,
740 &(e_config->focus_policy)))
741 { 741 {
742 E_Config_Focus_Policy policy; 742 /* FIXME: if going to/from click to focus grab/ungrab */
743 743 e_config_save_queue();
744 _e_ipc_focus_policy_dec(e->data, e->size, &policy);
745 e_config->focus_policy = policy.focus_policy;
746 e_config->raise_timer = policy.raise_timer;
747
748 } 744 }
749 break; 745 break;
750 case E_IPC_OP_FOCUS_POLICY_GET: 746 case E_IPC_OP_FOCUS_POLICY_GET:
751 { 747 _e_ipc_reply_int_send(e->client,
752 int bytes; 748 e_config->focus_policy,
753 E_Config_Focus_Policy policy; 749 E_IPC_OP_FOCUS_POLICY_GET_REPLY);
754 char *data;
755
756 policy.focus_policy = e_config->focus_policy;
757 policy.raise_timer = e_config->raise_timer;
758
759 data = _e_ipc_focus_policy_enc(&policy, &bytes);
760
761 ecore_ipc_client_send(e->client,
762 E_IPC_DOMAIN_REPLY,
763 E_IPC_OP_FOCUS_POLICY_GET_REPLY,
764 0, 0, 0,
765 data, bytes);
766
767 free(data);
768
769 }
770 break; 750 break;
771 case E_IPC_OP_MODULE_DIRS_LIST: 751 case E_IPC_OP_MODULE_DIRS_LIST:
772 { 752 {
@@ -1519,22 +1499,3 @@ ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_path_list_enc)
1519 ECORE_IPC_PUTS(dir, l1); 1499 ECORE_IPC_PUTS(dir, l1);
1520 ECORE_IPC_ENC_EVAS_LIST_FOOT(); 1500 ECORE_IPC_ENC_EVAS_LIST_FOOT();
1521} 1501}
1522
1523ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_focus_policy_enc)
1524{
1525 ECORE_IPC_ENC_STRUCT_HEAD(E_Config_Focus_Policy,
1526 1 + 4);
1527 ECORE_IPC_PUT8(focus_policy);
1528 ECORE_IPC_PUT32(raise_timer);
1529 ECORE_IPC_ENC_STRUCT_FOOT();
1530}
1531
1532ECORE_IPC_DEC_STRUCT_PROTO(_e_ipc_focus_policy_dec)
1533{
1534 ECORE_IPC_DEC_STRUCT_HEAD_MIN(E_Config_Focus_Policy,
1535 1 + 4);
1536 ECORE_IPC_CHEKS();
1537 ECORE_IPC_GET8(focus_policy);
1538 ECORE_IPC_GET32(raise_timer);
1539 ECORE_IPC_DEC_STRUCT_FOOT();
1540}