X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=190468aa93dda8478313b52fc0e48bf7e3a9170b;hb=481e68112177d1a1c0eb920f37c372ea34eeb371;hp=dea9d020f66293b5bac3e4ea0330f1e0dd8ec19b;hpb=4546925b589d30c46f3bced74a02b3d531de894c;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index dea9d020..190468aa 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -273,7 +273,9 @@ gboolean screen_annex(const gchar *program_name) supported[i++] = prop_atoms.net_moveresize_window; supported[i++] = prop_atoms.net_wm_moveresize; supported[i++] = prop_atoms.net_wm_user_time; + supported[i++] = prop_atoms.net_wm_user_time_window; supported[i++] = prop_atoms.net_frame_extents; + supported[i++] = prop_atoms.net_request_frame_extents; supported[i++] = prop_atoms.net_startup_id; #ifdef SYNC supported[i++] = prop_atoms.net_wm_sync_request; @@ -647,20 +649,12 @@ void screen_desktop_popup(guint d, gboolean show) guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, gboolean dialog, gboolean done, gboolean cancel) { - static gboolean first = TRUE; - static guint origd, d; - guint r, c; - - if (cancel) { - d = origd; - goto done_cycle; - } else if (done && dialog) { - goto done_cycle; - } - if (first) { - first = FALSE; - d = origd = screen_desktop; - } + guint d, r, c; + + d = screen_desktop; + + if ((cancel || done) && dialog) + goto show_cycle_dialog; get_row_col(d, &r, &c); @@ -773,16 +767,10 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, } show_cycle_dialog: - if (dialog) { + if (dialog && !cancel && !done) { screen_desktop_popup(d, TRUE); - return d; - } - -done_cycle: - first = TRUE; - - screen_desktop_popup(0, FALSE); - + } else + screen_desktop_popup(0, FALSE); return d; }