+ if (screen_desktop_timeout) {
+ if (screen_desktop == screen_last_desktop) {
+ screen_last_desktop = previous;
+ screen_old_desktop = screen_desktop;
+ } else {
+ screen_old_desktop = screen_last_desktop;
+ screen_last_desktop = previous;
+ }
+ } else {
+ if (screen_desktop == screen_last_desktop) {
+ if (previous == screen_old_desktop) {
+ screen_last_desktop = screen_old_desktop;
+ } else if (screen_last_desktop == screen_old_desktop) {
+ screen_last_desktop = previous;
+ } else {
+ screen_last_desktop = screen_old_desktop;
+ }
+ } else {
+ if (screen_desktop == screen_old_desktop) {
+ /* do nothing */
+ } else if (previous == screen_old_desktop) {
+ /* do nothing */
+ } else if (screen_last_desktop == screen_old_desktop) {
+ screen_last_desktop = previous;
+ } else {
+ /* do nothing */
+ }
+ }
+ }
+ screen_desktop_timeout = FALSE;
+ ob_main_loop_timeout_remove(ob_main_loop, last_desktop_func);
+ ob_main_loop_timeout_add(ob_main_loop, 500000, last_desktop_func,
+ NULL, NULL, NULL);