From a1a0a7aaa5a58d44d23fc0e3b1b8d196bf9a77d4 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Tue, 27 Feb 2007 16:16:03 +0000 Subject: [PATCH] Ravenlock's pin-cleanup and pin-action patches to address concerns about a new border property versus reusing what exists. This now eliminates using a new border property in favor of re-using the 3 properties that exist and also adds a key/mouse binding. Some formatting issues I found in e_border and e_action while looking/testing this. SVN revision: 28496 --- src/bin/e_actions.c | 363 +++++++++++++++++++++--------------- src/bin/e_border.c | 29 +++ src/bin/e_border.h | 2 +- src/bin/e_int_border_menu.c | 104 +++++------ 4 files changed, 288 insertions(+), 210 deletions(-) diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c index bdad8316f..feda6a8f2 100644 --- a/src/bin/e_actions.c +++ b/src/bin/e_actions.c @@ -580,17 +580,25 @@ ACT_FN_GO(window_shaded) { if (v == 1) { - if (!strcmp(buf, "up")) e_border_shade(bd, E_DIRECTION_UP); - else if (!strcmp(buf, "down")) e_border_shade(bd, E_DIRECTION_DOWN); - else if (!strcmp(buf, "left")) e_border_shade(bd, E_DIRECTION_LEFT); - else if (!strcmp(buf, "right")) e_border_shade(bd, E_DIRECTION_RIGHT); + if (!strcmp(buf, "up")) + e_border_shade(bd, E_DIRECTION_UP); + else if (!strcmp(buf, "down")) + e_border_shade(bd, E_DIRECTION_DOWN); + else if (!strcmp(buf, "left")) + e_border_shade(bd, E_DIRECTION_LEFT); + else if (!strcmp(buf, "right")) + e_border_shade(bd, E_DIRECTION_RIGHT); } else if (v == 0) { - if (!strcmp(buf, "up")) e_border_unshade(bd, E_DIRECTION_UP); - else if (!strcmp(buf, "down")) e_border_unshade(bd, E_DIRECTION_DOWN); - else if (!strcmp(buf, "left")) e_border_unshade(bd, E_DIRECTION_LEFT); - else if (!strcmp(buf, "right")) e_border_unshade(bd, E_DIRECTION_RIGHT); + if (!strcmp(buf, "up")) + e_border_unshade(bd, E_DIRECTION_UP); + else if (!strcmp(buf, "down")) + e_border_unshade(bd, E_DIRECTION_DOWN); + else if (!strcmp(buf, "left")) + e_border_unshade(bd, E_DIRECTION_LEFT); + else if (!strcmp(buf, "right")) + e_border_unshade(bd, E_DIRECTION_RIGHT); } } } @@ -600,7 +608,8 @@ ACT_FN_GO(window_shaded) /***************************************************************************/ ACT_FN_GO(window_borderless_toggle) { - if ((!obj) || (obj->type != E_BORDER_TYPE)) obj = E_OBJECT(e_border_focused_get()); + if ((!obj) || (obj->type != E_BORDER_TYPE)) + obj = E_OBJECT(e_border_focused_get()); if (!obj) return; if (!((E_Border *)obj)->lock_border) { @@ -617,6 +626,26 @@ ACT_FN_GO(window_borderless_toggle) } } + /***************************************************************************/ +ACT_FN_GO(window_pinned_toggle) +{ + if ((!obj) || (obj->type != E_BORDER_TYPE)) + obj = E_OBJECT(e_border_focused_get()); + if (!obj) return; + if (!((E_Border *)obj)->lock_border) + { + E_Border *bd; + + bd = (E_Border *)obj; + + if ((bd->client.netwm.state.stacking == E_STACKING_BELOW) && + (bd->user_skip_winlist) && (bd->borderless)) + e_border_pinned_set(bd, 0); + else + e_border_pinned_set(bd, 1); + } +} + /***************************************************************************/ ACT_FN_GO(window_move_by) { @@ -630,22 +659,23 @@ ACT_FN_GO(window_move_by) if (params) { int dx, dy; - + if (sscanf(params, "%i %i", &dx, &dy) == 2) { E_Border *bd; - + bd = (E_Border *)obj; - + e_border_move(bd, bd->x + dx, bd->y + dy); - + if (e_config->focus_policy != E_FOCUS_CLICK) ecore_x_pointer_warp(bd->zone->container->win, bd->x + (bd->w / 2), bd->y + (bd->h / 2)); - } + } } } + /***************************************************************************/ ACT_FN_GO(window_move_to) { @@ -721,8 +751,7 @@ ACT_FN_GO(window_resize_by) if (e_config->focus_policy != E_FOCUS_CLICK) ecore_x_pointer_warp(bd->zone->container->win, - bd->x + (dw / 2), - bd->y + (dh / 2)); + bd->x + (dw / 2), bd->y + (dh / 2)); } } } @@ -805,8 +834,7 @@ ACT_FN_GO(window_push) if (e_config->focus_policy != E_FOCUS_CLICK) ecore_x_pointer_warp(bd->zone->container->win, - bd->x + (bd->w / 2), - bd->y + (bd->h / 2)); + bd->x + (bd->w / 2), bd->y + (bd->h / 2)); } } } @@ -873,13 +901,9 @@ ACT_FN_GO(window_desk_move_by) } while (to_y >= bd->zone->desk_y_count) - { - to_y -= bd->zone->desk_y_count; - } + to_y -= bd->zone->desk_y_count; while (to_y < 0) - { - to_y += bd->zone->desk_y_count; - } + to_y += bd->zone->desk_y_count; } if (desk) @@ -1851,7 +1875,8 @@ e_actions_init(void) E_Action *act; ACT_GO(window_move); - e_action_predef_name_set(_("Window : Actions"), _("Move"), "window_move", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Move"), + "window_move", NULL, NULL, 0); ACT_GO_MOUSE(window_move); ACT_GO_SIGNAL(window_move); @@ -1860,7 +1885,8 @@ e_actions_init(void) /* window_resize */ ACT_GO(window_resize); - e_action_predef_name_set(_("Window : Actions"), _("Resize"), "window_resize", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Resize"), + "window_resize", NULL, NULL, 0); ACT_GO_MOUSE(window_resize); ACT_GO_SIGNAL(window_resize); @@ -1869,263 +1895,308 @@ e_actions_init(void) /* window_menu */ ACT_GO(window_menu); - e_action_predef_name_set(_("Menu"), _("Window Menu"), "window_menu", NULL, NULL, 0); + e_action_predef_name_set(_("Menu"), _("Window Menu"), + "window_menu", NULL, NULL, 0); ACT_GO_MOUSE(window_menu); ACT_GO_KEY(window_menu); /* window_raise */ ACT_GO(window_raise); - e_action_predef_name_set(_("Window : Actions"), _("Raise"), "window_raise", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Raise"), + "window_raise", NULL, NULL, 0); /* window_lower */ ACT_GO(window_lower); - e_action_predef_name_set(_("Window : Actions"), _("Lower"), "window_lower", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Lower"), + "window_lower", NULL, NULL, 0); /* window_close */ ACT_GO(window_close); - e_action_predef_name_set(_("Window : Actions"), _("Close"), "window_close", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Close"), + "window_close", NULL, NULL, 0); /* window_kill */ ACT_GO(window_kill); - e_action_predef_name_set(_("Window : Actions"), _("Kill"), "window_kill", NULL, NULL, 0); + e_action_predef_name_set(_("Window : Actions"), _("Kill"), + "window_kill", NULL, NULL, 0); /* window_sticky_toggle */ ACT_GO(window_sticky_toggle); - e_action_predef_name_set(_("Window : State"), _("Sticky Mode Toggle"), "window_sticky_toggle", - NULL, NULL, 0); + e_action_predef_name_set(_("Window : State"), _("Sticky Mode Toggle"), + "window_sticky_toggle", NULL, NULL, 0); ACT_GO(window_sticky); /* window_iconic_toggle */ ACT_GO(window_iconic_toggle); - e_action_predef_name_set(_("Window : State"), _("Iconic Mode Toggle"), "window_iconic_toggle", - NULL, NULL, 0); + e_action_predef_name_set(_("Window : State"), _("Iconic Mode Toggle"), + "window_iconic_toggle", NULL, NULL, 0); ACT_GO(window_iconic); /* window_fullscreen_toggle */ ACT_GO(window_fullscreen_toggle); e_action_predef_name_set(_("Window : State"), _("Fullscreen Mode Toggle"), - "window_fullscreen_toggle", NULL, NULL, 0); + "window_fullscreen_toggle", NULL, NULL, 0); ACT_GO(window_fullscreen); /* window_maximized_toggle */ ACT_GO(window_maximized_toggle); - e_action_predef_name_set(_("Window : State"), _("Maximize"), "window_maximized_toggle", - NULL, NULL, 0); + e_action_predef_name_set(_("Window : State"), _("Maximize"), + "window_maximized_toggle", NULL, NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Vertically"), - "window_maximized_toggle", "default vertical", NULL, 0); + "window_maximized_toggle", "default vertical", + NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Horizontally"), - "window_maximized_toggle", "default horizontal", NULL, 0); + "window_maximized_toggle", "default horizontal", + NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Fullscreen"), - "window_maximized_toggle", "fullscreen", NULL, 0); + "window_maximized_toggle", "fullscreen", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Mode \"Smart\""), - "window_maximized_toggle", "smart", NULL, 0); + "window_maximized_toggle", "smart", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Mode \"Expand\""), - "window_maximized_toggle", "expand", NULL, 0); + "window_maximized_toggle", "expand", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Maximize Mode \"Fill\""), - "window_maximized_toggle", "fill", NULL, 0); + "window_maximized_toggle", "fill", NULL, 0); ACT_GO(window_maximized); /* window_shaded_toggle */ ACT_GO(window_shaded_toggle); - e_action_predef_name_set(_("Window : State"), _("Shade Up Mode Toggle"), "window_shaded_toggle", - "up", NULL, 0); + e_action_predef_name_set(_("Window : State"), _("Shade Up Mode Toggle"), + "window_shaded_toggle", "up", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Shade Down Mode Toggle"), - "window_shaded_toggle", "down", NULL, 0); + "window_shaded_toggle", "down", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Shade Left Mode Toggle"), - "window_shaded_toggle", "left", NULL, 0); + "window_shaded_toggle", "left", NULL, 0); e_action_predef_name_set(_("Window : State"), _("Shade Right Mode Toggle"), - "window_shaded_toggle", "right", NULL, 0); - e_action_predef_name_set(_("Window : State"), _("Shade Mode Toggle"), "window_shaded_toggle", - NULL, NULL, 0); + "window_shaded_toggle", "right", NULL, 0); + e_action_predef_name_set(_("Window : State"), _("Shade Mode Toggle"), + "window_shaded_toggle", NULL, NULL, 0); ACT_GO(window_shaded); /* window_borderless_toggle */ ACT_GO(window_borderless_toggle); e_action_predef_name_set(_("Window : State"), _("Toggle Borderless State"), - "window_borderless_toggle", NULL, NULL, 0); - + "window_borderless_toggle", NULL, NULL, 0); + + /* window_pinned_toggle */ + ACT_GO(window_pinned_toggle); + e_action_predef_name_set(_("Window : State"), _("Toggle Pinned State"), + "window_pinned_toggle", NULL, NULL, 0); + /* desk_flip_by */ ACT_GO(desk_flip_by); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop Left"), "desk_flip_by", "-1 0", NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop Right"), "desk_flip_by", "1 0", NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop Up"), "desk_flip_by", "0 -1", NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop Down"), "desk_flip_by", "0 1", NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop By..."), "desk_flip_by", NULL, - "syntax: X-offset Y-offset, example: -1 0", 1); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop Left"), + "desk_flip_by", "-1 0", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop Right"), + "desk_flip_by", "1 0", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop Up"), + "desk_flip_by", "0 -1", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop Down"), + "desk_flip_by", "0 1", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop By..."), + "desk_flip_by", NULL, + "syntax: X-offset Y-offset, example: -1 0", 1); /* desk_deskshow_toggle */ ACT_GO(desk_deskshow_toggle); - e_action_predef_name_set(_("Desktop"), _("Show The Desktop"), "desk_deskshow_toggle", - NULL, NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Show The Desktop"), + "desk_deskshow_toggle", NULL, NULL, 0); /* desk_linear_flip_to */ ACT_GO(desk_flip_to); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop To..."), "desk_flip_to", NULL, - "syntax: X Y, example: 1 2", 1); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop To..."), + "desk_flip_to", NULL, + "syntax: X Y, example: 1 2", 1); /* desk_linear_flip_by */ ACT_GO(desk_linear_flip_by); - e_action_predef_name_set(_("Desktop"), _("Flip Desktop Linearly..."), "desk_linear_flip_by", - NULL, "syntax: N-offset, example: -2", 1); + e_action_predef_name_set(_("Desktop"), _("Flip Desktop Linearly..."), + "desk_linear_flip_by", + NULL, "syntax: N-offset, example: -2", 1); /* desk_linear_flip_to */ ACT_GO(desk_linear_flip_to); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 0"), "desk_linear_flip_to", "0", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 1"), "desk_linear_flip_to", "1", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 2"), "desk_linear_flip_to", "2", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 3"), "desk_linear_flip_to", "3", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 4"), "desk_linear_flip_to", "4", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 5"), "desk_linear_flip_to", "5", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 6"), "desk_linear_flip_to", "6", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 7"), "desk_linear_flip_to", "7", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 8"), "desk_linear_flip_to", "8", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 9"), "desk_linear_flip_to", "9", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 10"), "desk_linear_flip_to", "10", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 11"), "desk_linear_flip_to", "11", - NULL, 0); - e_action_predef_name_set(_("Desktop"), _("Switch To Desktop..."), "desk_linear_flip_to", NULL, - "syntax: N, example: 1", 1); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 0"), + "desk_linear_flip_to", "0", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 1"), + "desk_linear_flip_to", "1", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 2"), + "desk_linear_flip_to", "2", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 3"), + "desk_linear_flip_to", "3", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 4"), + "desk_linear_flip_to", "4", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 5"), + "desk_linear_flip_to", "5", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 6"), + "desk_linear_flip_to", "6", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 7"), + "desk_linear_flip_to", "7", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 8"), + "desk_linear_flip_to", "8", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 9"), + "desk_linear_flip_to", "9", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 10"), + "desk_linear_flip_to", "10", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop 11"), + "desk_linear_flip_to", "11", NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Switch To Desktop..."), + "desk_linear_flip_to", NULL, + "syntax: N, example: 1", 1); /* screen_send_to */ ACT_GO(screen_send_to); - e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen 0"), "screen_send_to", "0", - NULL, 0); - e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen 1"), "screen_send_to", "1", - NULL, 0); - e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen..."), "screen_send_to", NULL, - "syntax: N, example: 0", 1); + e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen 0"), + "screen_send_to", "0", NULL, 0); + e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen 1"), + "screen_send_to", "1", NULL, 0); + e_action_predef_name_set(_("Screen"), _("Send Mouse To Screen..."), + "screen_send_to", NULL, + "syntax: N, example: 0", 1); /* screen_send_by */ ACT_GO(screen_send_by); - e_action_predef_name_set(_("Screen"), _("Send Mouse Forward 1 Screen"), "screen_send_by", "1", - NULL, 0); - e_action_predef_name_set(_("Screen"), _("Send Mouse Back 1 Screen"), "screen_send_by", "-1", - NULL, 0); - e_action_predef_name_set(_("Screen"), _("Send Mouse Forward/Back Screens..."), "screen_send_by", - NULL, "syntax: N-offset, example: -2", 1); + e_action_predef_name_set(_("Screen"), _("Send Mouse Forward 1 Screen"), + "screen_send_by", "1", NULL, 0); + e_action_predef_name_set(_("Screen"), _("Send Mouse Back 1 Screen"), + "screen_send_by", "-1", NULL, 0); + e_action_predef_name_set(_("Screen"), _("Send Mouse Forward/Back Screens..."), + "screen_send_by", NULL, + "syntax: N-offset, example: -2", 1); /* window_move_to */ ACT_GO(window_move_to); - e_action_predef_name_set(_("Window : Actions"), "Move To...", "window_move_to", NULL, - "syntax: [ ,-]X [ ,-]Y or * [ ,-]Y or [ , -]X *, example: -1 1", 1); + e_action_predef_name_set(_("Window : Actions"), "Move To...", + "window_move_to", NULL, + "syntax: [ ,-]X [ ,-]Y or * [ ,-]Y or [ , -]X *, example: -1 1", 1); /* window_move_by */ ACT_GO(window_move_by); - e_action_predef_name_set(_("Window : Actions"), "Move By...", "window_move_by", NULL, - "syntax: X-offset Y-offset, example: -1 0", 1); + e_action_predef_name_set(_("Window : Actions"), "Move By...", + "window_move_by", NULL, + "syntax: X-offset Y-offset, example: -1 0", 1); /* window_resize_by */ ACT_GO(window_resize_by); - e_action_predef_name_set(_("Window : Actions"), "Resize By...", "window_resize_by", NULL, - "syntax: W H, example: 100 150", 1); + e_action_predef_name_set(_("Window : Actions"), "Resize By...", + "window_resize_by", NULL, + "syntax: W H, example: 100 150", 1); /* window_push */ ACT_GO(window_push); - e_action_predef_name_set(_("Window : Actions"), "Push in Direction...", "window_push", NULL, - "syntax: direction, example: up, down, left, right", 1); + e_action_predef_name_set(_("Window : Actions"), "Push in Direction...", + "window_push", NULL, + "syntax: direction, example: up, down, left, right", 1); /* window_drag_icon */ ACT_GO(window_drag_icon); - e_action_predef_name_set(_("Window : Actions"), "Drag Icon...", "window_drag_icon", NULL, - NULL, 0); + e_action_predef_name_set(_("Window : Actions"), "Drag Icon...", + "window_drag_icon", NULL, NULL, 0); /* window_desk_move_by */ ACT_GO(window_desk_move_by); - e_action_predef_name_set(_("Window : Moving"), _("To Next Desktop"), "window_desk_move_by", - "1 0", NULL, 0); - e_action_predef_name_set(_("Window : Moving"), _("To Previous Desktop"), "window_desk_move_by", - "-1 0", NULL, 0); - e_action_predef_name_set(_("Window : Moving"), _("By Desktop #..."), "window_desk_move_by", NULL, - "syntax: X-offset Y-offset, example: -2 2", 1); + e_action_predef_name_set(_("Window : Moving"), _("To Next Desktop"), + "window_desk_move_by", "1 0", NULL, 0); + e_action_predef_name_set(_("Window : Moving"), _("To Previous Desktop"), + "window_desk_move_by", "-1 0", NULL, 0); + e_action_predef_name_set(_("Window : Moving"), _("By Desktop #..."), + "window_desk_move_by", NULL, + "syntax: X-offset Y-offset, example: -2 2", 1); /* window_desk_move_to */ ACT_GO(window_desk_move_to); - e_action_predef_name_set(_("Window : Moving"), _("To Desktop..."), "window_desk_move_to", NULL, - "syntax: X Y, example: 0 1", 1); + e_action_predef_name_set(_("Window : Moving"), _("To Desktop..."), + "window_desk_move_to", NULL, + "syntax: X Y, example: 0 1", 1); /* menu_show */ ACT_GO(menu_show); - e_action_predef_name_set(_("Menu"), _("Show Main Menu"), "menu_show", "main", NULL, 0); + e_action_predef_name_set(_("Menu"), _("Show Main Menu"), + "menu_show", "main", NULL, 0); #ifdef ENABLE_FAVORITES - e_action_predef_name_set(_("Menu"), _("Show Favorites Menu"), "menu_show", "favorites", NULL, 0); + e_action_predef_name_set(_("Menu"), _("Show Favorites Menu"), "menu_show", + "favorites", NULL, 0); #endif - e_action_predef_name_set(_("Menu"), _("Show All Applications Menu"), "menu_show", "all", NULL, 0); - e_action_predef_name_set(_("Menu"), _("Show Clients Menu"), "menu_show", "clients", NULL, 0); + e_action_predef_name_set(_("Menu"), _("Show All Applications Menu"), + "menu_show", "all", NULL, 0); + e_action_predef_name_set(_("Menu"), _("Show Clients Menu"), "menu_show", + "clients", NULL, 0); e_action_predef_name_set(_("Menu"), _("Show Menu..."), "menu_show", NULL, - "syntax: MenuName, example: MyMenu", 1); + "syntax: MenuName, example: MyMenu", 1); ACT_GO_MOUSE(menu_show); ACT_GO_KEY(menu_show); /* exec */ ACT_GO(exec); e_action_predef_name_set(_("Launch"), _("Defined Command"), "exec", NULL, - "syntax: CommandName, example: /usr/bin/xmms", 1); + "syntax: CommandName, example: /usr/bin/xmms", 1); /* app */ ACT_GO(app); - e_action_predef_name_set(_("Launch"), _("Application"), "app", NULL, "syntax: , example:", - 1); + e_action_predef_name_set(_("Launch"), _("Application"), "app", NULL, + "syntax: , example:", 1); /* winlist */ ACT_GO(winlist); - e_action_predef_name_set(_("Window : List"), _("Next Window"), "winlist", "next", NULL, 0); - e_action_predef_name_set(_("Window : List"), _("Previous Window"), "winlist", "prev", NULL, 0); + e_action_predef_name_set(_("Window : List"), _("Next Window"), "winlist", + "next", NULL, 0); + e_action_predef_name_set(_("Window : List"), _("Previous Window"), + "winlist", "prev", NULL, 0); ACT_GO_MOUSE(winlist); ACT_GO_KEY(winlist); ACT_GO(restart); - e_action_predef_name_set(_("Enlightenment"), _("Restart"), "restart", NULL, NULL, 0); + e_action_predef_name_set(_("Enlightenment"), _("Restart"), "restart", + NULL, NULL, 0); ACT_GO(exit); - e_action_predef_name_set(_("Enlightenment"), _("Exit"), "exit", NULL, NULL, 0); + e_action_predef_name_set(_("Enlightenment"), _("Exit"), "exit", + NULL, NULL, 0); ACT_GO(logout); - e_action_predef_name_set(_("Enlightenment"), _("Log Out"), "logout", NULL, NULL, 0); + e_action_predef_name_set(_("Enlightenment"), _("Log Out"), "logout", + NULL, NULL, 0); ACT_GO(exit_now); - e_action_predef_name_set(_("Enlightenment"), _("Exit Immediately"), "exit_now", NULL, NULL, 0); + e_action_predef_name_set(_("Enlightenment"), _("Exit Immediately"), + "exit_now", NULL, NULL, 0); ACT_GO(halt); - e_action_predef_name_set(_("System"), _("Shut Down"), "halt", NULL, NULL, 0); + e_action_predef_name_set(_("System"), _("Shut Down"), "halt", + NULL, NULL, 0); ACT_GO(reboot); - e_action_predef_name_set(_("System"), _("Reboot"), "reboot", NULL, NULL, 0); + e_action_predef_name_set(_("System"), _("Reboot"), "reboot", + NULL, NULL, 0); ACT_GO(suspend); - e_action_predef_name_set(_("System"), _("Suspend"), "suspend", NULL, NULL, 0); + e_action_predef_name_set(_("System"), _("Suspend"), "suspend", + NULL, NULL, 0); ACT_GO(hibernate); - e_action_predef_name_set(_("System"), _("Suspend to Disk"), "hibernate", NULL, NULL, 0); + e_action_predef_name_set(_("System"), _("Suspend to Disk"), "hibernate", + NULL, NULL, 0); ACT_GO(pointer_resize_push); ACT_GO(pointer_resize_pop); /* exebuf */ ACT_GO(exebuf); - e_action_predef_name_set(_("Launch"), _("Run Command Dialog"), "exebuf", NULL, NULL, 0); + e_action_predef_name_set(_("Launch"), _("Run Command Dialog"), "exebuf", + NULL, NULL, 0); /* desk_lock */ ACT_GO(desk_lock); - e_action_predef_name_set(_("Desktop"), _("Desktop Lock"), "desk_lock", NULL, NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Desktop Lock"), "desk_lock", + NULL, NULL, 0); /* cleanup_windows */ ACT_GO(cleanup_windows); - e_action_predef_name_set(_("Desktop"), _("Cleanup Windows"), "cleanup_windows", NULL, NULL, 0); + e_action_predef_name_set(_("Desktop"), _("Cleanup Windows"), + "cleanup_windows", NULL, NULL, 0); return 1; } @@ -2136,9 +2207,7 @@ e_actions_shutdown(void) e_action_predef_name_all_del(); action_names = evas_list_free(action_names); while (actions) - { - evas_hash_foreach(actions, _e_actions_cb_free, NULL); - } + evas_hash_foreach(actions, _e_actions_cb_free, NULL); return 1; } @@ -2212,7 +2281,8 @@ e_action_predef_name_set(const char *act_grp, const char *act_name, const char * action_groups = evas_list_append(action_groups, actg); action_groups = - evas_list_sort(action_groups, evas_list_count(action_groups), _action_groups_sort_cb); + evas_list_sort(action_groups, evas_list_count(action_groups), + _action_groups_sort_cb); } for (l = actg->acts; l; l = l->next) @@ -2277,7 +2347,6 @@ e_action_predef_name_del(const char *act_grp, const char *act_name) break; } } - } EAPI void diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 059265239..87c6bf492 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -2239,6 +2239,35 @@ e_border_unstick(E_Border *bd) e_remember_update(bd->remember, bd); } +EAPI void +e_border_pinned_set(E_Border *bd, int set) +{ + int layer; + int stacking; + + if (bd) + { + bd->borderless = set; + bd->user_skip_winlist = set; + if (set) + { + layer = 50; + stacking = E_STACKING_BELOW; + } + else + { + layer = 100; + stacking = E_STACKING_NONE; + } + + e_border_layer_set(bd, layer); + e_hints_window_stacking_set(bd, stacking); + + bd->client.border.changed = 1; + bd->changed = 1; + } +} + EAPI E_Border * e_border_find_by_client_window(Ecore_X_Window win) { diff --git a/src/bin/e_border.h b/src/bin/e_border.h index 5b4c1a166..0e2293d3e 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -351,7 +351,6 @@ struct _E_Border unsigned int need_maximize : 1; E_Maximize maximized; unsigned int borderless : 1; - unsigned int pinned_to_desktop : 1; const char *bordername; unsigned int lock_user_location : 1; /*DONE*/ @@ -594,6 +593,7 @@ EAPI void e_border_iconify(E_Border *bd); EAPI void e_border_uniconify(E_Border *bd); EAPI void e_border_stick(E_Border *bd); EAPI void e_border_unstick(E_Border *bd); +EAPI void e_border_pinned_set(E_Border *bd, int set); EAPI E_Border *e_border_find_by_client_window(Ecore_X_Window win); EAPI E_Border *e_border_find_by_frame_window(Ecore_X_Window win); diff --git a/src/bin/e_int_border_menu.c b/src/bin/e_int_border_menu.c index c4dbaf4bd..0c5208f0d 100644 --- a/src/bin/e_int_border_menu.c +++ b/src/bin/e_int_border_menu.c @@ -102,7 +102,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/maximize"), - "e/widgets/border/default/maximize"); + "e/widgets/border/default/maximize"); mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Maximize vertically")); @@ -112,8 +112,8 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ e_menu_item_callback_set(mi, _e_border_menu_cb_maximize_vertically, bd); e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", - "e/widgets/border/default/maximize"), - "e/widgets/border/default/maximize"); + "e/widgets/border/default/maximize"), + "e/widgets/border/default/maximize"); mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Maximize horizontally")); @@ -124,7 +124,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/maximize"), - "e/widgets/border/default/maximize"); + "e/widgets/border/default/maximize"); mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Unmaximize")); @@ -135,7 +135,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/maximize"), - "e/widgets/border/default/maximize"); + "e/widgets/border/default/maximize"); } m = e_menu_new(); @@ -184,7 +184,8 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ "e/widgets/border/default/sendto"); } - if (!bd->pinned_to_desktop) + if ((bd->client.netwm.state.stacking != E_STACKING_BELOW) || + (!bd->user_skip_winlist) || (!bd->borderless)) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Pin to Desktop")); @@ -195,7 +196,8 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ "e/widgets/border/default/stick"); } - if (bd->pinned_to_desktop) + if ((bd->client.netwm.state.stacking == E_STACKING_BELOW) && + (bd->user_skip_winlist) && (bd->borderless)) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Unpin from Desktop")); @@ -285,7 +287,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/properties"), - "e/widgets/border/default/properties"); + "e/widgets/border/default/properties"); mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); @@ -352,8 +354,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_ if (key) - e_menu_activate_key(m, bd->zone, x, y, 1, 1, - E_MENU_POP_DIRECTION_DOWN); + e_menu_activate_key(m, bd->zone, x, y, 1, 1, E_MENU_POP_DIRECTION_DOWN); else e_menu_activate_mouse(m, bd->zone, x, y, 1, 1, E_MENU_POP_DIRECTION_DOWN, timestamp); @@ -371,11 +372,11 @@ e_int_border_menu_del(E_Border *bd) was_menu = 1; } if( bd->border_maximize_menu ) - { - e_object_del(E_OBJECT(bd->border_maximize_menu)); - bd->border_maximize_menu = NULL; - was_menu = 1; - } + { + e_object_del(E_OBJECT(bd->border_maximize_menu)); + bd->border_maximize_menu = NULL; + was_menu = 1; + } if (bd->border_menu) { e_object_del(E_OBJECT(bd->border_menu)); @@ -448,8 +449,10 @@ _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi) bd = data; if (!bd->lock_user_iconify) { - if (bd->iconic) e_border_uniconify(bd); - else e_border_iconify(bd); + if (bd->iconic) + e_border_uniconify(bd); + else + e_border_iconify(bd); } } @@ -470,7 +473,8 @@ _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi) bd = data; if (!bd->lock_user_maximize) - e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH); + e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | + E_MAXIMIZE_BOTH); } static void @@ -483,7 +487,8 @@ _e_border_menu_cb_maximize_vertically(void *data, E_Menu *m, E_Menu_Item *mi) { if ((bd->maximized & E_MAXIMIZE_HORIZONTAL)) e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL); - e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_VERTICAL); + e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | + E_MAXIMIZE_VERTICAL); } } @@ -497,7 +502,8 @@ _e_border_menu_cb_maximize_horizontally(void *data, E_Menu *m, E_Menu_Item *mi) { if ((bd->maximized & E_MAXIMIZE_VERTICAL)) e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL); - e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_HORIZONTAL); + e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | + E_MAXIMIZE_HORIZONTAL); } } @@ -519,8 +525,10 @@ _e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi) bd = data; if (!bd->lock_user_shade) { - if (bd->shaded) e_border_unshade(bd, E_DIRECTION_UP); - else e_border_shade(bd, E_DIRECTION_UP); + if (bd->shaded) + e_border_unshade(bd, E_DIRECTION_UP); + else + e_border_shade(bd, E_DIRECTION_UP); } } @@ -547,7 +555,8 @@ _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi) const char *homedir; homedir = e_user_homedir_get(); - snprintf(path, sizeof(path), "%s/.e/e/applications/all/%s.desktop", homedir, bname); + snprintf(path, sizeof(path), "%s/.e/e/applications/all/%s.desktop", + homedir, bname); a = e_app_empty_new(path); } else @@ -584,9 +593,7 @@ _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi) a->tmpfile = 1; } else - { - fprintf(stderr, "Could not save file from ARGB: %s\n", path); - } + fprintf(stderr, "Could not save file from ARGB: %s\n", path); } bd->app = a; e_object_ref(E_OBJECT(bd->app)); @@ -666,7 +673,8 @@ _e_border_menu_cb_icon_add_pre(void *data, E_Menu *m, E_Menu_Item *mi) while ((file = ecore_list_next(dirs))) { if (file[0] == '.') continue; - snprintf(buf, sizeof(buf), "%s/.e/e/applications/bar/%s", e_user_homedir_get(), file); + snprintf(buf, sizeof(buf), "%s/.e/e/applications/bar/%s", + e_user_homedir_get(), file); if (ecore_file_is_dir(buf)) { submi = e_menu_item_new(subm); @@ -696,8 +704,10 @@ _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi) bd = data; if (!bd->lock_user_sticky) { - if (bd->sticky) e_border_unstick(bd); - else e_border_stick(bd); + if (bd->sticky) + e_border_unstick(bd); + else + e_border_stick(bd); } } @@ -814,9 +824,7 @@ _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi) desk = data; bd = e_object_data_get(E_OBJECT(m)); if ((bd) && (desk)) - { - e_border_desk_set(bd, desk); - } + e_border_desk_set(bd, desk); } static void @@ -826,21 +834,7 @@ _e_border_menu_cb_pin(void *data, E_Menu *m, E_Menu_Item *mi) bd = e_object_data_get(E_OBJECT(m)); if (bd) - { - bd->pinned_to_desktop = 1; - bd->borderless = 1; - bd->user_skip_winlist = 1; - bd->client.netwm.state.stacking = E_STACKING_BELOW; - - if (bd->layer != 50) - { - e_border_layer_set(bd, 50); - e_hints_window_stacking_set(bd, E_STACKING_BELOW); - } - - bd->client.border.changed = 1; - bd->changed = 1; - } + e_border_pinned_set(bd, 1); } static void @@ -850,21 +844,7 @@ _e_border_menu_cb_unpin(void *data, E_Menu *m, E_Menu_Item *mi) bd = e_object_data_get(E_OBJECT(m)); if (bd) - { - bd->pinned_to_desktop = 0; - bd->borderless = 0; - bd->user_skip_winlist = 0; - bd->client.netwm.state.stacking = E_STACKING_NONE; - - if (bd->layer != 100) - { - e_border_layer_set(bd, 100); - e_hints_window_stacking_set(bd, E_STACKING_NONE); - } - - bd->client.border.changed = 1; - bd->changed = 1; - } + e_border_pinned_set(bd, 0); } static void