e: tiling: add keybindings to move windows directly
Feature request by Jeff Hoogland SVN revision: 75931
This commit is contained in:
parent
cb5e1e563b
commit
3e71401d2d
|
@ -105,6 +105,10 @@ static struct tiling_mod_main_g
|
||||||
*act_tg_stack,
|
*act_tg_stack,
|
||||||
*act_swap,
|
*act_swap,
|
||||||
*act_move,
|
*act_move,
|
||||||
|
*act_move_left,
|
||||||
|
*act_move_right,
|
||||||
|
*act_move_up,
|
||||||
|
*act_move_down,
|
||||||
*act_adjusttransitions,
|
*act_adjusttransitions,
|
||||||
*act_go;
|
*act_go;
|
||||||
|
|
||||||
|
@ -1984,9 +1988,9 @@ _check_moving_anims(const E_Border *bd, const Border_Extra *extra, int stack)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_up_cols(void)
|
_move_up_cols(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd_1 = _G.focused_bd,
|
E_Border *bd_1 = bd,
|
||||||
*bd_2 = NULL;
|
*bd_2 = NULL;
|
||||||
Border_Extra *extra_1 = NULL,
|
Border_Extra *extra_1 = NULL,
|
||||||
*extra_2 = NULL;
|
*extra_2 = NULL;
|
||||||
|
@ -1994,11 +1998,11 @@ _move_up_cols(void)
|
||||||
*l_2 = NULL;
|
*l_2 = NULL;
|
||||||
int stack;
|
int stack;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack < 0)
|
if (stack < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_G.tinfo->stacks[stack]->data == _G.focused_bd)
|
if (_G.tinfo->stacks[stack]->data == bd)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
l_1 = eina_list_data_find_list(_G.tinfo->stacks[stack], bd_1);
|
l_1 = eina_list_data_find_list(_G.tinfo->stacks[stack], bd_1);
|
||||||
|
@ -2031,16 +2035,18 @@ _move_up_cols(void)
|
||||||
extra_2->expected.x,
|
extra_2->expected.x,
|
||||||
extra_2->expected.y);
|
extra_2->expected.y);
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd_1, extra_1, stack);
|
_check_moving_anims(bd_1, extra_1, stack);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra_1->expected.x + extra_1->expected.w/2,
|
extra_1->expected.x + extra_1->expected.w/2,
|
||||||
extra_1->expected.y + extra_1->expected.h/2);
|
extra_1->expected.y + extra_1->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_down_cols(void)
|
_move_down_cols(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd_1 = _G.focused_bd,
|
E_Border *bd_1 = bd,
|
||||||
*bd_2 = NULL;
|
*bd_2 = NULL;
|
||||||
Border_Extra *extra_1 = NULL,
|
Border_Extra *extra_1 = NULL,
|
||||||
*extra_2 = NULL;
|
*extra_2 = NULL;
|
||||||
|
@ -2048,7 +2054,7 @@ _move_down_cols(void)
|
||||||
*l_2 = NULL;
|
*l_2 = NULL;
|
||||||
int stack;
|
int stack;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack < 0)
|
if (stack < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2082,21 +2088,22 @@ _move_down_cols(void)
|
||||||
extra_2->expected.x,
|
extra_2->expected.x,
|
||||||
extra_2->expected.y);
|
extra_2->expected.y);
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd_1, extra_1, stack);
|
_check_moving_anims(bd_1, extra_1, stack);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra_1->expected.x + extra_1->expected.w/2,
|
extra_1->expected.x + extra_1->expected.w/2,
|
||||||
extra_1->expected.y + extra_1->expected.h/2);
|
extra_1->expected.y + extra_1->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_left_cols(void)
|
_move_left_cols(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd = _G.focused_bd;
|
|
||||||
Border_Extra *extra;
|
Border_Extra *extra;
|
||||||
int stack;
|
int stack;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack <= 0)
|
if (stack <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2139,16 +2146,17 @@ _move_left_cols(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack - 1);
|
_check_moving_anims(bd, extra, stack - 1);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra->expected.x + extra->expected.w/2,
|
extra->expected.x + extra->expected.w/2,
|
||||||
extra->expected.y + extra->expected.h/2);
|
extra->expected.y + extra->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_right_cols(void)
|
_move_right_cols(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd = _G.focused_bd;
|
|
||||||
int stack;
|
int stack;
|
||||||
int nb_stacks;
|
int nb_stacks;
|
||||||
Border_Extra *extra;
|
Border_Extra *extra;
|
||||||
|
@ -2174,6 +2182,7 @@ _move_right_cols(void)
|
||||||
if (_G.tinfo->stacks[stack] && _G.tinfo->stacks[stack + 1]->next) {
|
if (_G.tinfo->stacks[stack] && _G.tinfo->stacks[stack + 1]->next) {
|
||||||
_reorganize_stack(stack);
|
_reorganize_stack(stack);
|
||||||
_reorganize_stack(stack + 1);
|
_reorganize_stack(stack + 1);
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack + 1);
|
_check_moving_anims(bd, extra, stack + 1);
|
||||||
} else
|
} else
|
||||||
if (_G.tinfo->stacks[stack]) {
|
if (_G.tinfo->stacks[stack]) {
|
||||||
|
@ -2212,6 +2221,7 @@ _move_right_cols(void)
|
||||||
_G.tinfo->conf->nb_stacks = nb_stacks + 1;
|
_G.tinfo->conf->nb_stacks = nb_stacks + 1;
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
}
|
}
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack + 1);
|
_check_moving_anims(bd, extra, stack + 1);
|
||||||
} else {
|
} else {
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
|
@ -2234,6 +2244,7 @@ _move_right_cols(void)
|
||||||
_G.tinfo->pos[nb_stacks] = 0;
|
_G.tinfo->pos[nb_stacks] = 0;
|
||||||
_G.tinfo->size[nb_stacks] = 0;
|
_G.tinfo->size[nb_stacks] = 0;
|
||||||
_reorganize_stack(stack);
|
_reorganize_stack(stack);
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack);
|
_check_moving_anims(bd, extra, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2243,9 +2254,9 @@ _move_right_cols(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_left_rows(void)
|
_move_left_rows(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd_1 = _G.focused_bd,
|
E_Border *bd_1 = bd,
|
||||||
*bd_2 = NULL;
|
*bd_2 = NULL;
|
||||||
Border_Extra *extra_1 = NULL,
|
Border_Extra *extra_1 = NULL,
|
||||||
*extra_2 = NULL;
|
*extra_2 = NULL;
|
||||||
|
@ -2253,11 +2264,11 @@ _move_left_rows(void)
|
||||||
*l_2 = NULL;
|
*l_2 = NULL;
|
||||||
int stack;
|
int stack;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack < 0)
|
if (stack < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_G.tinfo->stacks[stack]->data == _G.focused_bd)
|
if (_G.tinfo->stacks[stack]->data == bd)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
l_1 = eina_list_data_find_list(_G.tinfo->stacks[stack], bd_1);
|
l_1 = eina_list_data_find_list(_G.tinfo->stacks[stack], bd_1);
|
||||||
|
@ -2290,16 +2301,18 @@ _move_left_rows(void)
|
||||||
extra_2->expected.x,
|
extra_2->expected.x,
|
||||||
extra_2->expected.y);
|
extra_2->expected.y);
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd_1, extra_1, stack);
|
_check_moving_anims(bd_1, extra_1, stack);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra_1->expected.x + extra_1->expected.w/2,
|
extra_1->expected.x + extra_1->expected.w/2,
|
||||||
extra_1->expected.y + extra_1->expected.h/2);
|
extra_1->expected.y + extra_1->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_right_rows(void)
|
_move_right_rows(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd_1 = _G.focused_bd,
|
E_Border *bd_1 = bd,
|
||||||
*bd_2 = NULL;
|
*bd_2 = NULL;
|
||||||
Border_Extra *extra_1 = NULL,
|
Border_Extra *extra_1 = NULL,
|
||||||
*extra_2 = NULL;
|
*extra_2 = NULL;
|
||||||
|
@ -2307,7 +2320,7 @@ _move_right_rows(void)
|
||||||
*l_2 = NULL;
|
*l_2 = NULL;
|
||||||
int stack;
|
int stack;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack < 0)
|
if (stack < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2341,21 +2354,22 @@ _move_right_rows(void)
|
||||||
extra_2->expected.x,
|
extra_2->expected.x,
|
||||||
extra_2->expected.y);
|
extra_2->expected.y);
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd_1, extra_1, stack);
|
_check_moving_anims(bd_1, extra_1, stack);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra_1->expected.x + extra_1->expected.w/2,
|
extra_1->expected.x + extra_1->expected.w/2,
|
||||||
extra_1->expected.y + extra_1->expected.h/2);
|
extra_1->expected.y + extra_1->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_up_rows(void)
|
_move_up_rows(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd = _G.focused_bd;
|
|
||||||
Border_Extra *extra;
|
Border_Extra *extra;
|
||||||
int stack;
|
int stack;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
stack = get_stack(_G.focused_bd);
|
stack = get_stack(bd);
|
||||||
if (stack <= 0)
|
if (stack <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2398,16 +2412,17 @@ _move_up_rows(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack - 1);
|
_check_moving_anims(bd, extra, stack - 1);
|
||||||
|
|
||||||
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
ecore_x_pointer_warp(_G.tinfo->desk->zone->container->win,
|
||||||
extra->expected.x + extra->expected.w/2,
|
extra->expected.x + extra->expected.w/2,
|
||||||
extra->expected.y + extra->expected.h/2);
|
extra->expected.y + extra->expected.h/2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_move_down_rows(void)
|
_move_down_rows(E_Border *bd, Eina_Bool check_moving_anims)
|
||||||
{
|
{
|
||||||
E_Border *bd = _G.focused_bd;
|
|
||||||
int stack;
|
int stack;
|
||||||
int nb_stacks;
|
int nb_stacks;
|
||||||
Border_Extra *extra;
|
Border_Extra *extra;
|
||||||
|
@ -2433,6 +2448,7 @@ _move_down_rows(void)
|
||||||
if (_G.tinfo->stacks[stack] && _G.tinfo->stacks[stack + 1]->next) {
|
if (_G.tinfo->stacks[stack] && _G.tinfo->stacks[stack + 1]->next) {
|
||||||
_reorganize_stack(stack);
|
_reorganize_stack(stack);
|
||||||
_reorganize_stack(stack + 1);
|
_reorganize_stack(stack + 1);
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack + 1);
|
_check_moving_anims(bd, extra, stack + 1);
|
||||||
} else
|
} else
|
||||||
if (_G.tinfo->stacks[stack]) {
|
if (_G.tinfo->stacks[stack]) {
|
||||||
|
@ -2471,6 +2487,7 @@ _move_down_rows(void)
|
||||||
_G.tinfo->conf->nb_stacks = nb_stacks + 1;
|
_G.tinfo->conf->nb_stacks = nb_stacks + 1;
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
}
|
}
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack + 1);
|
_check_moving_anims(bd, extra, stack + 1);
|
||||||
} else {
|
} else {
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
|
@ -2494,6 +2511,7 @@ _move_down_rows(void)
|
||||||
_G.tinfo->pos[nb_stacks] = 0;
|
_G.tinfo->pos[nb_stacks] = 0;
|
||||||
_G.tinfo->size[nb_stacks] = 0;
|
_G.tinfo->size[nb_stacks] = 0;
|
||||||
_reorganize_stack(stack);
|
_reorganize_stack(stack);
|
||||||
|
if (check_moving_anims)
|
||||||
_check_moving_anims(bd, extra, stack);
|
_check_moving_anims(bd, extra, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2520,33 +2538,33 @@ move_key_down(void *data __UNUSED__,
|
||||||
|| (strcmp(ev->key, "k") == 0))
|
|| (strcmp(ev->key, "k") == 0))
|
||||||
{
|
{
|
||||||
if (_G.tinfo->conf->use_rows)
|
if (_G.tinfo->conf->use_rows)
|
||||||
_move_up_rows();
|
_move_up_rows(_G.focused_bd, true);
|
||||||
else
|
else
|
||||||
_move_up_cols();
|
_move_up_cols(_G.focused_bd, true);
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
} else if ((strcmp(ev->key, "Down") == 0)
|
} else if ((strcmp(ev->key, "Down") == 0)
|
||||||
|| (strcmp(ev->key, "j") == 0))
|
|| (strcmp(ev->key, "j") == 0))
|
||||||
{
|
{
|
||||||
if (_G.tinfo->conf->use_rows)
|
if (_G.tinfo->conf->use_rows)
|
||||||
_move_down_rows();
|
_move_down_rows(_G.focused_bd, true);
|
||||||
else
|
else
|
||||||
_move_down_cols();
|
_move_down_cols(_G.focused_bd, true);
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
} else if ((strcmp(ev->key, "Left") == 0)
|
} else if ((strcmp(ev->key, "Left") == 0)
|
||||||
|| (strcmp(ev->key, "h") == 0))
|
|| (strcmp(ev->key, "h") == 0))
|
||||||
{
|
{
|
||||||
if (_G.tinfo->conf->use_rows)
|
if (_G.tinfo->conf->use_rows)
|
||||||
_move_left_rows();
|
_move_left_rows(_G.focused_bd, true);
|
||||||
else
|
else
|
||||||
_move_left_cols();
|
_move_left_cols(_G.focused_bd, true);
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
} else if ((strcmp(ev->key, "Right") == 0)
|
} else if ((strcmp(ev->key, "Right") == 0)
|
||||||
|| (strcmp(ev->key, "l") == 0))
|
|| (strcmp(ev->key, "l") == 0))
|
||||||
{
|
{
|
||||||
if (_G.tinfo->conf->use_rows)
|
if (_G.tinfo->conf->use_rows)
|
||||||
_move_right_rows();
|
_move_right_rows(_G.focused_bd, true);
|
||||||
else
|
else
|
||||||
_move_right_cols();
|
_move_right_cols(_G.focused_bd, true);
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2561,6 +2579,57 @@ stop:
|
||||||
return ECORE_CALLBACK_DONE;
|
return ECORE_CALLBACK_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_mod_action_move_direct_cb(E_Object *obj __UNUSED__,
|
||||||
|
const char *params)
|
||||||
|
{
|
||||||
|
E_Desk *desk;
|
||||||
|
E_Border *focused_bd;
|
||||||
|
|
||||||
|
desk = get_current_desk();
|
||||||
|
if (!desk)
|
||||||
|
return;
|
||||||
|
|
||||||
|
focused_bd = e_border_focused_get();
|
||||||
|
if (!focused_bd || focused_bd->desk != desk)
|
||||||
|
return;
|
||||||
|
|
||||||
|
check_tinfo(desk);
|
||||||
|
if (!_G.tinfo->conf || !_G.tinfo->conf->nb_stacks) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
assert(params != NULL);
|
||||||
|
|
||||||
|
switch (params[0]) {
|
||||||
|
case 'l': /* left */
|
||||||
|
if (_G.tinfo->conf->use_rows)
|
||||||
|
_move_left_rows(focused_bd, false);
|
||||||
|
else
|
||||||
|
_move_left_cols(focused_bd, false);
|
||||||
|
break;
|
||||||
|
case 'r': /* right */
|
||||||
|
if (_G.tinfo->conf->use_rows)
|
||||||
|
_move_right_rows(focused_bd, false);
|
||||||
|
else
|
||||||
|
_move_right_cols(focused_bd, false);
|
||||||
|
break;
|
||||||
|
case 'u': /* up */
|
||||||
|
if (_G.tinfo->conf->use_rows)
|
||||||
|
_move_up_rows(focused_bd, false);
|
||||||
|
else
|
||||||
|
_move_up_cols(focused_bd, false);
|
||||||
|
break;
|
||||||
|
case 'd': /* down */
|
||||||
|
if (_G.tinfo->conf->use_rows)
|
||||||
|
_move_down_rows(focused_bd, false);
|
||||||
|
else
|
||||||
|
_move_down_cols(focused_bd, false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_mod_action_move_cb(E_Object *obj __UNUSED__,
|
_e_mod_action_move_cb(E_Object *obj __UNUSED__,
|
||||||
const char *params __UNUSED__)
|
const char *params __UNUSED__)
|
||||||
|
@ -3535,20 +3604,20 @@ _remove_hook(void *data __UNUSED__, int type __UNUSED__, E_Event_Border_Remove *
|
||||||
end_special_input();
|
end_special_input();
|
||||||
|
|
||||||
if (_G.currently_switching_desktop)
|
if (_G.currently_switching_desktop)
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
|
|
||||||
check_tinfo(bd->desk);
|
check_tinfo(bd->desk);
|
||||||
if (!_G.tinfo->conf)
|
if (!_G.tinfo->conf)
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
|
|
||||||
if (EINA_LIST_IS_IN(_G.tinfo->floating_windows, bd)) {
|
if (EINA_LIST_IS_IN(_G.tinfo->floating_windows, bd)) {
|
||||||
EINA_LIST_REMOVE(_G.tinfo->floating_windows, bd);
|
EINA_LIST_REMOVE(_G.tinfo->floating_windows, bd);
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
_remove_border(bd);
|
_remove_border(bd);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@ -3623,7 +3692,7 @@ _desk_show_hook(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED
|
||||||
|
|
||||||
end_special_input();
|
end_special_input();
|
||||||
|
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
@ -3633,7 +3702,7 @@ _desk_before_show_hook(void *data __UNUSED__, int type __UNUSED__, void *event _
|
||||||
|
|
||||||
_G.currently_switching_desktop = 1;
|
_G.currently_switching_desktop = 1;
|
||||||
|
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@ -3786,34 +3855,56 @@ e_modapi_init(E_Module *m)
|
||||||
HANDLER(_G.handler_container_resize, CONTAINER_RESIZE, _container_resize_hook);
|
HANDLER(_G.handler_container_resize, CONTAINER_RESIZE, _container_resize_hook);
|
||||||
#undef HANDLER
|
#undef HANDLER
|
||||||
|
|
||||||
#define ACTION_ADD(_act, _cb, _title, _value) \
|
#define ACTION_ADD(_act, _cb, _title, _value, _params, _example, _editable) \
|
||||||
{ \
|
{ \
|
||||||
E_Action *_action = _act; \
|
E_Action *_action = _act; \
|
||||||
const char *_name = _value; \
|
const char *_name = _value; \
|
||||||
if ((_action = e_action_add(_name))) { \
|
if ((_action = e_action_add(_name))) { \
|
||||||
_action->func.go = _cb; \
|
_action->func.go = _cb; \
|
||||||
e_action_predef_name_set(_("Tiling"), _(_title), _name, \
|
e_action_predef_name_set(_("Tiling"), _(_title), _name, \
|
||||||
NULL, NULL, 0); \
|
_params, _example, _editable); \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Module's actions */
|
/* Module's actions */
|
||||||
ACTION_ADD(_G.act_togglefloat, _e_mod_action_toggle_floating_cb,
|
ACTION_ADD(_G.act_togglefloat, _e_mod_action_toggle_floating_cb,
|
||||||
"Toggle floating", "toggle_floating");
|
"Toggle floating", "toggle_floating",
|
||||||
|
NULL, NULL, 0);
|
||||||
ACTION_ADD(_G.act_addstack, _e_mod_action_add_stack_cb,
|
ACTION_ADD(_G.act_addstack, _e_mod_action_add_stack_cb,
|
||||||
"Add a stack", "add_stack");
|
"Add a stack", "add_stack",
|
||||||
|
NULL, NULL, 0);
|
||||||
ACTION_ADD(_G.act_removestack, _e_mod_action_remove_stack_cb,
|
ACTION_ADD(_G.act_removestack, _e_mod_action_remove_stack_cb,
|
||||||
"Remove a stack", "remove_stack");
|
"Remove a stack", "remove_stack",
|
||||||
|
NULL, NULL, 0);
|
||||||
ACTION_ADD(_G.act_tg_stack, _e_mod_action_tg_stack_cb,
|
ACTION_ADD(_G.act_tg_stack, _e_mod_action_tg_stack_cb,
|
||||||
"Toggle between rows and columns", "tg_cols_rows");
|
"Toggle between rows and columns", "tg_cols_rows",
|
||||||
|
NULL, NULL, 0);
|
||||||
ACTION_ADD(_G.act_swap, _e_mod_action_swap_cb,
|
ACTION_ADD(_G.act_swap, _e_mod_action_swap_cb,
|
||||||
"Swap a window with an other", "swap");
|
"Swap a window with an other", "swap",
|
||||||
|
NULL, NULL, 0);
|
||||||
|
|
||||||
ACTION_ADD(_G.act_move, _e_mod_action_move_cb,
|
ACTION_ADD(_G.act_move, _e_mod_action_move_cb,
|
||||||
"Move window", "move");
|
"Move window", "move",
|
||||||
|
NULL, NULL, 0);
|
||||||
|
ACTION_ADD(_G.act_move_left, _e_mod_action_move_direct_cb,
|
||||||
|
"Move window to the left", "move_left",
|
||||||
|
"left", NULL, 0);
|
||||||
|
ACTION_ADD(_G.act_move_right, _e_mod_action_move_direct_cb,
|
||||||
|
"Move window to the right", "move_right",
|
||||||
|
"right", NULL, 0);
|
||||||
|
ACTION_ADD(_G.act_move_up, _e_mod_action_move_direct_cb,
|
||||||
|
"Move window up", "move_up",
|
||||||
|
"up", NULL, 0);
|
||||||
|
ACTION_ADD(_G.act_move_down, _e_mod_action_move_direct_cb,
|
||||||
|
"Move window down", "move_down",
|
||||||
|
"down", NULL, 0);
|
||||||
|
|
||||||
ACTION_ADD(_G.act_adjusttransitions, _e_mod_action_adjust_transitions,
|
ACTION_ADD(_G.act_adjusttransitions, _e_mod_action_adjust_transitions,
|
||||||
"Adjust transitions", "adjust_transitions");
|
"Adjust transitions", "adjust_transitions",
|
||||||
|
NULL, NULL, 0);
|
||||||
ACTION_ADD(_G.act_go, _e_mod_action_go_cb,
|
ACTION_ADD(_G.act_go, _e_mod_action_go_cb,
|
||||||
"Focus a particular window", "go");
|
"Focus a particular window", "go",
|
||||||
|
NULL, NULL, 0);
|
||||||
#undef ACTION_ADD
|
#undef ACTION_ADD
|
||||||
|
|
||||||
/* Configuration entries */
|
/* Configuration entries */
|
||||||
|
@ -3919,7 +4010,13 @@ e_modapi_shutdown(E_Module *m __UNUSED__)
|
||||||
ACTION_DEL(_G.act_removestack, "Remove a stack", "remove_stack");
|
ACTION_DEL(_G.act_removestack, "Remove a stack", "remove_stack");
|
||||||
ACTION_DEL(_G.act_tg_stack, "Toggle between rows and columns", "tg_cols_rows");
|
ACTION_DEL(_G.act_tg_stack, "Toggle between rows and columns", "tg_cols_rows");
|
||||||
ACTION_DEL(_G.act_swap, "Swap a window with an other", "swap");
|
ACTION_DEL(_G.act_swap, "Swap a window with an other", "swap");
|
||||||
|
|
||||||
ACTION_DEL(_G.act_move, "Move window", "move");
|
ACTION_DEL(_G.act_move, "Move window", "move");
|
||||||
|
ACTION_DEL(_G.act_move_left, "Move window to the left", "move_left");
|
||||||
|
ACTION_DEL(_G.act_move_right, "Move window to the right", "move_right");
|
||||||
|
ACTION_DEL(_G.act_move_up, "Move window up", "move_up");
|
||||||
|
ACTION_DEL(_G.act_move_down, "Move window down", "move_down");
|
||||||
|
|
||||||
ACTION_DEL(_G.act_adjusttransitions, "Adjust transitions",
|
ACTION_DEL(_G.act_adjusttransitions, "Adjust transitions",
|
||||||
"adjust_transitions");
|
"adjust_transitions");
|
||||||
ACTION_DEL(_G.act_go, "Focus a particular window", "go");
|
ACTION_DEL(_G.act_go, "Focus a particular window", "go");
|
||||||
|
@ -3953,6 +4050,6 @@ e_modapi_save(E_Module *m __UNUSED__)
|
||||||
{
|
{
|
||||||
e_config_domain_save("module.tiling", _G.config_edd, tiling_g.config);
|
e_config_domain_save("module.tiling", _G.config_edd, tiling_g.config);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
typedef struct _Config Config;
|
typedef struct _Config Config;
|
||||||
|
|
Loading…
Reference in New Issue