X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.c;h=804fe0be76506ba55cf87d9609c6adb9ddf90eac;hb=b23476ed5855bf92d6e0038bdcecf0141849ddea;hp=5cc0bb213dd44debeefd1c0fc81063ec007b9acb;hpb=9a3f05a780f8cbfeb68626552d25c48ab0245ca3;p=chaz%2Fopenbox diff --git a/openbox/action.c b/openbox/action.c index 5cc0bb21..804fe0be 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -1245,7 +1245,7 @@ void action_unfocus (union ActionData *data) void action_iconify(union ActionData *data) { client_action_start(data); - client_iconify(data->client.any.c, TRUE, TRUE); + client_iconify(data->client.any.c, TRUE, TRUE, FALSE); client_action_end(data); } @@ -1545,6 +1545,9 @@ void action_desktop_dir(union ActionData *data) data->desktopdir.inter.any.interactive, data->desktopdir.inter.final, data->desktopdir.inter.cancel); + /* only move the desktop when the action is complete. if we switch + desktops during the interactive action, focus will move but with + NotifyWhileGrabbed and applications don't like that. */ if (!data->sendtodir.inter.any.interactive || (data->sendtodir.inter.final && !data->sendtodir.inter.cancel)) { @@ -1564,6 +1567,9 @@ void action_send_to_desktop_dir(union ActionData *data) data->sendtodir.inter.any.interactive, data->sendtodir.inter.final, data->sendtodir.inter.cancel); + /* only move the desktop when the action is complete. if we switch + desktops during the interactive action, focus will move but with + NotifyWhileGrabbed and applications don't like that. */ if (!data->sendtodir.inter.any.interactive || (data->sendtodir.inter.final && !data->sendtodir.inter.cancel)) { @@ -1900,17 +1906,17 @@ void action_toggle_dockautohide(union ActionData *data) void action_toggle_show_desktop(union ActionData *data) { - screen_show_desktop(!screen_showing_desktop, TRUE); + screen_show_desktop(!screen_showing_desktop, NULL); } void action_show_desktop(union ActionData *data) { - screen_show_desktop(TRUE, TRUE); + screen_show_desktop(TRUE, NULL); } void action_unshow_desktop(union ActionData *data) { - screen_show_desktop(FALSE, TRUE); + screen_show_desktop(FALSE, NULL); } void action_break_chroot(union ActionData *data)