#include "grab.h"
#include "prompt.h"
#include "focus.h"
+#include "focus_cycle.h"
#include "stacking.h"
#include "openbox.h"
#include "group.h"
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_title (self->frame, self->title);
frame_engine->frame_update_layout (self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
frame_engine->frame_update_skin (self->frame);
Strut size;
OBT_PROP_SETA32(self->w_client, NET_WM_STATE, ATOM, netstate, num);
if (self->frame)
+ {
frame_engine->frame_update_layout (self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
+ }
}
ObClient *client_search_focus_tree(ObClient *self)
self->area = oldarea;
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_layout (self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
client_configure(self, x, y, w, h, FALSE, TRUE, FALSE);
/* set the desktop hint, to make sure that it always exists */
if (send_resize_client && (w > oldw || h > oldh)) {
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_layout (self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
}
/* find the frame's dimensions and move/resize it */
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_layout (self->frame, self->area, TRUE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
if (!user)
event_end_ignore_all_enters(ignore_start);
if (send_resize_client && (w <= oldw || h <= oldh)) {
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_layout (self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
}
XFlush(obt_display);
/* resize the frame to just the titlebar */
frame_engine->frame_set_is_shaded (self->frame, self->shaded);
frame_engine->frame_update_layout(self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
}
static void client_ping_event(ObClient *self, gboolean dead)
/* the frame can display the current desktop state */
frame_engine->frame_set_decorations (self->frame, self->decorations);
frame_engine->frame_update_layout(self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
/* 'move' the window to the new desktop */
if (!donthide)
client_hide(self);
{
frame_engine->frame_set_is_visible(self->frame, TRUE);
frame_engine->frame_update_layout(self->frame, self->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == self)
+ focus_cycle_draw_indicator(self);
frame_engine->frame_update_skin(self->frame);
/* Grab the server to make sure that the frame window is mapped before
the client gets its MapNotify, i.e. to make sure the client is
window with RevertToParent focus */
frame_engine->frame_set_is_focus(client->frame, FALSE);
frame_engine->frame_update_layout (client->frame, client->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == client)
+ focus_cycle_draw_indicator(client);
frame_engine->frame_update_skin(client->frame);
/* focus_set_client(NULL) has already been called */
}
focus_left_screen = FALSE;
frame_engine->frame_set_is_focus(client->frame, TRUE);
frame_engine->frame_update_layout (client->frame, client->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == client)
+ focus_cycle_draw_indicator(client);
frame_engine->frame_update_skin (client->frame);
focus_set_client(client);
client_calc_layer(client);
if (client && client != focus_client) {
frame_engine->frame_set_is_focus(client->frame, FALSE);
frame_engine->frame_update_layout (client->frame, client->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == client)
+ focus_cycle_draw_indicator(client);
frame_engine->frame_update_skin(client->frame);
/* focus_set_client(NULL) has already been called in this
section or by focus_fallback */
#include "engine_interface.h"
#include "event.h"
#include "focus.h"
+#include "focus_cycle.h"
#include "popup.h"
#include "render/render.h"
#include "gettext.h"
server FocusIn event */
frame_engine->frame_set_is_focus (c->frame, TRUE);
frame_engine->frame_update_layout (c->frame, c->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == c)
+ focus_cycle_draw_indicator(c);
frame_engine->frame_update_skin (c->frame);
/* do this here so that if you switch desktops to a window with
helper windows then the helper windows won't flash */
server FocusIn event */
frame_engine->frame_set_is_focus(c->frame, TRUE);
frame_engine->frame_update_layout (c->frame, c->area, FALSE, FALSE);
+ /* if this occurs while we are focus cycling, the indicator needs to
+ match the changes */
+ if (focus_cycle_target == c)
+ focus_cycle_draw_indicator(c);
frame_engine->frame_update_skin (c->frame);
}
}