set the desktop hint when the window already has a hint but its out of range
Dana Jansens danakj@orodu.net
1 files changed,
6 insertions(+),
3 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -587,12 +587,13 @@ }
static void client_get_desktop(Client *self) { - guint32 d; + guint32 d = screen_num_desktops; /* an always-invalid value */ if (PROP_GET32(self->window, net_wm_desktop, cardinal, &d)) { if (d >= screen_num_desktops && d != DESKTOP_ALL) - d = screen_num_desktops - 1; - self->desktop = d; + self->desktop = screen_num_desktops - 1; + else + self->desktop = d; } else { gboolean trdesk = FALSE;@@ -616,6 +617,8 @@ if (!trdesk)
/* defaults to the current desktop */ self->desktop = screen_desktop; + } + if (self->desktop != d) { /* set the desktop hint, to make sure that it always exists */ PROP_SET32(self->window, net_wm_desktop, cardinal, self->desktop); }