diff --git a/src/bin/e_border.c b/src/bin/e_border.c index ab0577aa9..f87481a1b 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -992,6 +992,7 @@ e_border_fullscreen(E_Border *bd) if ((bd->shaded) || (bd->shading)) return; if (!bd->fullscreen) { + printf("FULLSCREEEN!\n"); bd->saved.x = bd->x; bd->saved.y = bd->y; bd->saved.w = bd->w; @@ -1024,6 +1025,7 @@ e_border_unfullscreen(E_Border *bd) if ((bd->shaded) || (bd->shading)) return; if (bd->fullscreen) { + printf("UNFULLSCREEEN!\n"); e_hints_window_fullscreen_set(bd, 0); e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h); @@ -1102,6 +1104,8 @@ e_border_stick(E_Border *bd) E_OBJECT_CHECK(bd); E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE); + if (bd->sticky) return; + printf("STICK!\n"); bd->sticky = 1; e_hints_window_sticky_set(bd, 1); @@ -1119,6 +1123,8 @@ e_border_unstick(E_Border *bd) E_OBJECT_CHECK(bd); E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE); /* Set the desk before we unstick the border */ + if (!bd->sticky) return; + printf("UNSTICK!\n"); e_border_desk_set(bd, e_desk_current_get(bd->zone)); bd->sticky = 0; e_hints_window_sticky_set(bd, 0); diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 875c2c01b..02f1113bb 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -345,7 +345,10 @@ e_hints_window_init(E_Border *bd) if (ecore_x_netwm_desktop_get(bd->client.win, &bd->client.netwm.desktop)) { if (bd->client.netwm.desktop == 0xffffffff) - e_border_stick(bd); + { + printf("CLIENT asks for all desks!\n"); + e_border_stick(bd); + } else if (bd->client.netwm.desktop < (bd->zone->desk_x_count * bd->zone->desk_y_count)) { E_Desk *desk; @@ -370,7 +373,10 @@ e_hints_window_init(E_Border *bd) bd->client.netwm.pid = -1; if (bd->client.netwm.state.sticky) - e_border_stick(bd); + { + printf("CLIENT asks for stickiness!\n"); + e_border_stick(bd); + } if (bd->client.netwm.state.shaded) e_border_shade(bd, e_hints_window_shade_direction_get(bd)); if (bd->client.netwm.state.maximized_v && bd->client.netwm.state.maximized_h)