diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 0415a32cc..99eadc75a 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -142,15 +142,15 @@ e_config_init(void) E_CONFIG_LIST(D, T, path_append_backgrounds, _e_config_path_append_edd); /**/ E_CONFIG_VAL(D, T, focus_policy, INT); /**/ E_CONFIG_VAL(D, T, focus_setting, INT); /**/ - E_CONFIG_VAL(D, T, pass_click_on, INT); - E_CONFIG_VAL(D, T, always_click_to_raise, INT); - E_CONFIG_VAL(D, T, use_auto_raise, INT); - E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE); - E_CONFIG_VAL(D, T, use_resist, INT); - E_CONFIG_VAL(D, T, drag_resist, INT); - E_CONFIG_VAL(D, T, desk_resist, INT); - E_CONFIG_VAL(D, T, window_resist, INT); - E_CONFIG_VAL(D, T, gadget_resist, INT); + E_CONFIG_VAL(D, T, pass_click_on, INT); /**/ + E_CONFIG_VAL(D, T, always_click_to_raise, INT); /**/ + E_CONFIG_VAL(D, T, use_auto_raise, INT); /**/ + E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE); /**/ + E_CONFIG_VAL(D, T, use_resist, INT); /**/ + E_CONFIG_VAL(D, T, drag_resist, INT); /**/ + E_CONFIG_VAL(D, T, desk_resist, INT); /**/ + E_CONFIG_VAL(D, T, window_resist, INT); /**/ + E_CONFIG_VAL(D, T, gadget_resist, INT); /**/ E_CONFIG_VAL(D, T, winlist_warp_while_selecting, INT); E_CONFIG_VAL(D, T, winlist_warp_at_end, INT); E_CONFIG_VAL(D, T, winlist_warp_speed, DOUBLE); @@ -169,7 +169,7 @@ e_config_init(void) E_CONFIG_VAL(D, T, winlist_pos_min_h, INT); E_CONFIG_VAL(D, T, winlist_pos_max_w, INT); E_CONFIG_VAL(D, T, winlist_pos_max_h, INT); - E_CONFIG_VAL(D, T, maximize_policy, INT); + E_CONFIG_VAL(D, T, maximize_policy, INT); /**/ E_CONFIG_VAL(D, T, kill_if_close_not_possible, INT); E_CONFIG_VAL(D, T, kill_process, INT); E_CONFIG_VAL(D, T, kill_timer_wait, DOUBLE); diff --git a/src/bin/e_ipc_handlers.h b/src/bin/e_ipc_handlers.h index 6634e69ae..8d3f443ab 100644 --- a/src/bin/e_ipc_handlers.h +++ b/src/bin/e_ipc_handlers.h @@ -2486,7 +2486,373 @@ break; #elif (TYPE == E_REMOTE_IN) #endif #undef HDL -/*****/ + +/****************************************************************************/ +#define HDL E_IPC_OP_ALWAYS_CLICK_TO_RAISE_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-always-click-to-raise-set", 1, "Set the always click to raise policy, 1 for enabled 0 for disabled", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(policy, HDL); + e_config->always_click_to_raise = policy; + E_CONFIG_LIMIT(e_config->always_click_to_raise, 0, 1); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-always-click-to-raise-get", 0, "Get the always click to raise policy, 1 for enabled 0 for disabled", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->always_click_to_raise, E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(policy, HDL); + printf("REPLY: POLICY=%d\n", policy); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_USE_AUTO_RAISE_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-use-auto-raise-set", 1, "Set use auto raise policy, 1 for enabled 0 for disabled", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(policy, HDL); + e_config->use_auto_raise = policy; + E_CONFIG_LIMIT(e_config->use_auto_raise, 0, 1); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_USE_AUTO_RAISE_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-use-auto-raise-get", 0, "Get use auto raise policy, 1 for enabled 0 for disabled", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->use_auto_raise, E_IPC_OP_USE_AUTO_RAISE_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_USE_AUTO_RAISE_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(policy, HDL); + printf("REPLY: POLICY=%d\n", policy); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_PASS_CLICK_ON_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-pass-click-on-set", 1, "Set pass click on policy, 1 for enabled 0 for disabled", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(policy, HDL); + e_config->pass_click_on = policy; + E_CONFIG_LIMIT(e_config->pass_click_on, 0, 1); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_PASS_CLICK_ON_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-pass-click-on-get", 0, "Get pass click on policy, 1 for enabled 0 for disabled", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->pass_click_on, E_IPC_OP_PASS_CLICK_ON_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_PASS_CLICK_ON_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(policy, HDL); + printf("REPLY: POLICY=%d\n", policy); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_AUTO_RAISE_DELAY_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-auto-raise-delay-set", 1, "Set the auto raise delay (Seconds)", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_DOUBLE(atof(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_DOUBLE(dbl, HDL); + e_config->auto_raise_delay = dbl; + E_CONFIG_LIMIT(e_config->auto_raise_delay, 0.0, 5.0); + SAVE; + END_DOUBLE; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_AUTO_RAISE_DELAY_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-auto-raise-delay-get", 0, "Get the auto raise delay (Seconds)", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_DOUBLE(e_config->auto_raise_delay, E_IPC_OP_AUTO_RAISE_DELAY_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_AUTO_RAISE_DELAY_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_DOUBLE(dbl, HDL); + printf("REPLY: DELAY=%3.3f\n", dbl); + END_DOUBLE; +#endif +#undef HDL + +/****************************************************************************/ + +#define HDL E_IPC_OP_USE_RESIST_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-use-resist-set", 1, "Set resist policy, 1 for enabled 0 for disabled", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(policy, HDL); + e_config->use_resist = policy; + E_CONFIG_LIMIT(e_config->use_resist, 0, 1); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_USE_RESIST_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-use-resist-get", 0, "Get use resist policy, 1 for enabled 0 for disabled", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->use_resist, E_IPC_OP_USE_RESIST_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_USE_RESIST_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(policy, HDL); + printf("REPLY: POLICY=%d\n", policy); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ + +#define HDL E_IPC_OP_DRAG_RESIST_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-drag-resist-set", 1, "Set drag resist threshold (0-100)", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(val, HDL); + e_config->drag_resist = val; + E_CONFIG_LIMIT(e_config->drag_resist, 0, 100); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_DRAG_RESIST_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-drag-resist-get", 0, "Get drag resist threshold", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->drag_resist, E_IPC_OP_DRAG_RESIST_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_DRAG_RESIST_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(val, HDL); + printf("REPLY: THRESHOLD=%d\n", val); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ + +#define HDL E_IPC_OP_DESK_RESIST_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-desk-resist-set", 1, "Set desktop resist threshold (0-100)", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(val, HDL); + e_config->desk_resist = val; + E_CONFIG_LIMIT(e_config->desk_resist, 0, 100); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_DESK_RESIST_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-desk-resist-get", 0, "Get desktop resist threshold", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->desk_resist, E_IPC_OP_DESK_RESIST_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_DESK_RESIST_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(val, HDL); + printf("REPLY: THRESHOLD=%d\n", val); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ + +#define HDL E_IPC_OP_WINDOW_RESIST_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-window-resist-set", 1, "Set window resist threshold (0-100)", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(val, HDL); + e_config->window_resist = val; + E_CONFIG_LIMIT(e_config->window_resist, 0, 100); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_WINDOW_RESIST_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-window-resist-get", 0, "Get window resist threshold", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->window_resist, E_IPC_OP_WINDOW_RESIST_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_WINDOW_RESIST_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(val, HDL); + printf("REPLY: THRESHOLD=%d\n", val); + END_INT; +#endif +#undef HDL + +/****************************************************************************/ + +#define HDL E_IPC_OP_GADGET_RESIST_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-gadget-resist-set", 1, "Set gadget resist threshold (0-100)", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(val, HDL); + e_config->gadget_resist = val; + E_CONFIG_LIMIT(e_config->gadget_resist, 0, 100); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_GADGET_RESIST_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-gadget-resist-get", 0, "Get gadget resist threshold", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->gadget_resist, E_IPC_OP_GADGET_RESIST_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_GADGET_RESIST_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(val, HDL); + printf("REPLY: THRESHOLD=%d\n", val); + 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 a88754f58..82eaee95d 100644 --- a/src/bin/e_ipc_handlers_list.h +++ b/src/bin/e_ipc_handlers_list.h @@ -84,3 +84,31 @@ #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 +#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_SET 87 +#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET 88 +#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET_REPLY 89 +#define E_IPC_OP_USE_AUTO_RAISE_SET 90 +#define E_IPC_OP_USE_AUTO_RAISE_GET 91 +#define E_IPC_OP_USE_AUTO_RAISE_GET_REPLY 92 +#define E_IPC_OP_PASS_CLICK_ON_SET 93 +#define E_IPC_OP_PASS_CLICK_ON_GET 94 +#define E_IPC_OP_PASS_CLICK_ON_GET_REPLY 95 +#define E_IPC_OP_AUTO_RAISE_DELAY_SET 96 +#define E_IPC_OP_AUTO_RAISE_DELAY_GET 97 +#define E_IPC_OP_AUTO_RAISE_DELAY_GET_REPLY 98 +#define E_IPC_OP_USE_RESIST_SET 99 +#define E_IPC_OP_USE_RESIST_GET 100 +#define E_IPC_OP_USE_RESIST_GET_REPLY 101 +#define E_IPC_OP_DRAG_RESIST_SET 102 +#define E_IPC_OP_DRAG_RESIST_GET 103 +#define E_IPC_OP_DRAG_RESIST_GET_REPLY 104 +#define E_IPC_OP_DESK_RESIST_SET 105 +#define E_IPC_OP_DESK_RESIST_GET 106 +#define E_IPC_OP_DESK_RESIST_GET_REPLY 107 +#define E_IPC_OP_WINDOW_RESIST_SET 108 +#define E_IPC_OP_WINDOW_RESIST_GET 109 +#define E_IPC_OP_WINDOW_RESIST_GET_REPLY 110 +#define E_IPC_OP_GADGET_RESIST_SET 111 +#define E_IPC_OP_GADGET_RESIST_GET 112 +#define E_IPC_OP_GADGET_RESIST_GET_REPLY 113 + diff --git a/src/bin/e_resist.c b/src/bin/e_resist.c index c2bf87733..a7d2fd9cb 100644 --- a/src/bin/e_resist.c +++ b/src/bin/e_resist.c @@ -20,21 +20,12 @@ e_resist_container_border_position(E_Container *con, Evas_List *skiplist, int x, int y, int w, int h, int *rx, int *ry, int *rw, int *rh) { - int resist = 1; - int desk_resist = 32; - int win_resist = 12; - int gad_resist = 32; Evas_List *l, *ll, *rects = NULL; E_Resist_Rect *r; E_Border_List *bl; E_Border *bd; - - resist = e_config->use_resist; - desk_resist = e_config->desk_resist; - win_resist = e_config->window_resist; - gad_resist = e_config->gadget_resist; - /* FIXME: get resist values from config */ - if (!resist) + + if (!e_config->use_resist) { *rx = x; *ry = y; @@ -64,7 +55,7 @@ e_resist_container_border_position(E_Container *con, Evas_List *skiplist, E_Zone *zone; zone = l->data; - HOLDER(zone->x, zone->y, zone->w, zone->h, desk_resist); + HOLDER(zone->x, zone->y, zone->w, zone->h, e_config->desk_resist); } /* FIXME: need to add resist or complete BLOCKS for things like ibar */ /* can add code here to add more fake obstacles with custom resist values */ @@ -88,7 +79,7 @@ e_resist_container_border_position(E_Container *con, Evas_List *skiplist, } if (ok) { - OBSTACLE(bd->x, bd->y, bd->w, bd->h, win_resist); + OBSTACLE(bd->x, bd->y, bd->w, bd->h, e_config->window_resist); } } } @@ -99,7 +90,7 @@ e_resist_container_border_position(E_Container *con, Evas_List *skiplist, E_Gadman_Client *gmc; gmc = l->data; - OBSTACLE(gmc->x, gmc->y, gmc->w, gmc->h, gad_resist); + OBSTACLE(gmc->x, gmc->y, gmc->w, gmc->h, e_config->gadget_resist); } if (rects) { @@ -123,13 +114,10 @@ e_resist_container_gadman_position(E_Container *con, Evas_List *skiplist, int x, int y, int w, int h, int *rx, int *ry) { - int resist = 1; - int gad_resist = 32; Evas_List *l, *ll, *rects = NULL; E_Resist_Rect *r; - /* FIXME: get resist values from config */ - if (!resist) + if (!e_config->use_resist) { *rx = x; *ry = y; @@ -159,7 +147,7 @@ e_resist_container_gadman_position(E_Container *con, Evas_List *skiplist, r->y = gmc->y; r->w = gmc->w; r->h = gmc->h; - r->v1 = gad_resist; + r->v1 = e_config->gadget_resist; rects = evas_list_append(rects, r); } }