summaryrefslogtreecommitdiff
path: root/src/bin/e_ipc.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2005-05-20 07:32:42 +0000
committerCarsten Haitzler <raster@rasterman.com>2005-05-20 07:32:42 +0000
commit45a7d1f244a7ee1fd3b119f3dcb69e534929f938 (patch)
tree6fb12db2438bd141399b3a912bd4204344784f63 /src/bin/e_ipc.c
parent18d40fac35f5bf4a942f8d76d068f1bfda36f790 (diff)
some virtualisation of focus
SVN revision: 14867
Diffstat (limited to 'src/bin/e_ipc.c')
-rw-r--r--src/bin/e_ipc.c54
1 files changed, 52 insertions, 2 deletions
diff --git a/src/bin/e_ipc.c b/src/bin/e_ipc.c
index 6022904..2e70b42 100644
--- a/src/bin/e_ipc.c
+++ b/src/bin/e_ipc.c
@@ -27,6 +27,8 @@ 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);
30 32
31/* local subsystem globals */ 33/* local subsystem globals */
32static Ecore_Ipc_Server *_e_ipc_server = NULL; 34static Ecore_Ipc_Server *_e_ipc_server = NULL;
@@ -735,8 +737,37 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
735 e_config->zone_desks_y_count, 737 e_config->zone_desks_y_count,
736 E_IPC_OP_DESKS_GET_REPLY); 738 E_IPC_OP_DESKS_GET_REPLY);
737 break; 739 break;
738 740 case E_IPC_OP_FOCUS_POLICY_SET:
739 /* Module PATH IPC */ 741 {
742 E_Config_Focus_Policy policy;
743
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 }
749 break;
750 case E_IPC_OP_FOCUS_POLICY_GET:
751 {
752 int bytes;
753 E_Config_Focus_Policy policy;
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;
740 case E_IPC_OP_MODULE_DIRS_LIST: 771 case E_IPC_OP_MODULE_DIRS_LIST:
741 { 772 {
742 Evas_List *dir_list; 773 Evas_List *dir_list;
@@ -1488,3 +1519,22 @@ ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_path_list_enc)
1488 ECORE_IPC_PUTS(dir, l1); 1519 ECORE_IPC_PUTS(dir, l1);
1489 ECORE_IPC_ENC_EVAS_LIST_FOOT(); 1520 ECORE_IPC_ENC_EVAS_LIST_FOOT();
1490} 1521}
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}