make ob_state a function so it cant be changed outside of openbox.c
This commit is contained in:
parent
35418ca0fc
commit
bddbe94328
11 changed files with 21 additions and 16 deletions
|
@ -256,7 +256,7 @@ void client_manage(Window window)
|
|||
focus_order_add_new(self);
|
||||
|
||||
/* focus the new window? */
|
||||
if (ob_state != OB_STATE_STARTING && config_focus_new &&
|
||||
if (ob_state() != OB_STATE_STARTING && config_focus_new &&
|
||||
(self->type == OB_CLIENT_TYPE_NORMAL || self->type == OB_CLIENT_TYPE_DIALOG)) {
|
||||
gboolean group_foc = FALSE;
|
||||
|
||||
|
@ -405,7 +405,7 @@ void client_unmanage(ObClient *self)
|
|||
frame_release_client(self->frame, self);
|
||||
self->frame = NULL;
|
||||
|
||||
if (ob_state != OB_STATE_EXITING) {
|
||||
if (ob_state() != OB_STATE_EXITING) {
|
||||
/* these values should not be persisted across a window
|
||||
unmapping/mapping */
|
||||
prop_erase(self->window, prop_atoms.net_wm_desktop);
|
||||
|
@ -1125,7 +1125,7 @@ void client_update_wmhints(ObClient *self)
|
|||
|
||||
/* only do this when first managing the window *AND* when we aren't
|
||||
starting up! */
|
||||
if (ob_state != OB_STATE_STARTING && self->frame == NULL)
|
||||
if (ob_state() != OB_STATE_STARTING && self->frame == NULL)
|
||||
if (hints->flags & StateHint)
|
||||
self->iconic = hints->initial_state == IconicState;
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ void dock_add(Window win, XWMHints *wmhints)
|
|||
member set the root window, and one set to the client, but both get
|
||||
handled and need to be ignored.
|
||||
*/
|
||||
if (ob_state == OB_STATE_STARTING)
|
||||
if (ob_state() == OB_STATE_STARTING)
|
||||
app->ignore_unmaps += 2;
|
||||
|
||||
if (app->win != app->icon_win) {
|
||||
|
|
|
@ -650,7 +650,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
|
|||
break;
|
||||
case EnterNotify:
|
||||
if (client_normal(client)) {
|
||||
if (ob_state == OB_STATE_STARTING) {
|
||||
if (ob_state() == OB_STATE_STARTING) {
|
||||
/* move it to the top of the focus order */
|
||||
guint desktop = client->desktop;
|
||||
if (desktop == DESKTOP_ALL) desktop = screen_desktop;
|
||||
|
|
|
@ -94,7 +94,7 @@ void focus_set_client(ObClient *client)
|
|||
push_to_top(client);
|
||||
|
||||
/* set the NET_ACTIVE_WINDOW hint, but preserve it on shutdown */
|
||||
if (ob_state != OB_STATE_EXITING) {
|
||||
if (ob_state() != OB_STATE_EXITING) {
|
||||
active = client ? client->window : None;
|
||||
PROP_SET32(RootWindow(ob_display, ob_screen),
|
||||
net_active_window, window, active);
|
||||
|
|
|
@ -349,7 +349,7 @@ void frame_grab_client(ObFrame *self, ObClient *client)
|
|||
member set the root window, and one set to the client, but both get
|
||||
handled and need to be ignored.
|
||||
*/
|
||||
if (ob_state == OB_STATE_STARTING)
|
||||
if (ob_state() == OB_STATE_STARTING)
|
||||
client->ignore_unmaps += 2;
|
||||
|
||||
/* select the event mask on the client's parent (to receive config/map
|
||||
|
|
|
@ -59,10 +59,10 @@ RrInstance *ob_rr_inst;
|
|||
RrTheme *ob_rr_theme;
|
||||
Display *ob_display;
|
||||
gint ob_screen;
|
||||
ObState ob_state;
|
||||
Cursor ob_cursors[OB_NUM_CURSORS];
|
||||
KeyCode ob_keys[OB_NUM_KEYS];
|
||||
|
||||
static ObState state;
|
||||
static gboolean sync;
|
||||
static gboolean shutdown;
|
||||
static gboolean restart;
|
||||
|
@ -91,7 +91,7 @@ int main(int argc, char **argv)
|
|||
xmlDocPtr doc;
|
||||
xmlNodePtr node;
|
||||
|
||||
ob_state = OB_STATE_STARTING;
|
||||
state = OB_STATE_STARTING;
|
||||
|
||||
/* initialize the locale */
|
||||
if (!setlocale(LC_ALL, ""))
|
||||
|
@ -256,10 +256,10 @@ int main(int argc, char **argv)
|
|||
/* get all the existing windows */
|
||||
client_manage_all();
|
||||
|
||||
ob_state = OB_STATE_RUNNING;
|
||||
state = OB_STATE_RUNNING;
|
||||
while (!shutdown)
|
||||
event_loop();
|
||||
ob_state = OB_STATE_EXITING;
|
||||
state = OB_STATE_EXITING;
|
||||
|
||||
dock_remove_all();
|
||||
client_unmanage_all();
|
||||
|
@ -612,3 +612,8 @@ KeyCode ob_keycode(ObKey key)
|
|||
g_assert(key < OB_NUM_KEYS);
|
||||
return ob_keys[key];
|
||||
}
|
||||
|
||||
ObState ob_state()
|
||||
{
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ SnDisplay *ob_sn_display;
|
|||
extern gint ob_screen;
|
||||
|
||||
/* The state of execution of the window manager */
|
||||
extern ObState ob_state;
|
||||
ObState ob_state();
|
||||
|
||||
void ob_restart_other(const gchar *path);
|
||||
void ob_restart();
|
||||
|
|
|
@ -257,7 +257,7 @@ void screen_resize()
|
|||
PROP_SETA32(RootWindow(ob_display, ob_screen),
|
||||
net_desktop_geometry, cardinal, geometry, 2);
|
||||
|
||||
if (ob_state == OB_STATE_STARTING)
|
||||
if (ob_state() == OB_STATE_STARTING)
|
||||
return;
|
||||
|
||||
dock_configure();
|
||||
|
|
|
@ -18,7 +18,7 @@ void stacking_set_list()
|
|||
/* on shutdown, don't update the properties, so that we can read it back
|
||||
in on startup and re-stack the windows as they were before we shut down
|
||||
*/
|
||||
if (ob_state == OB_STATE_EXITING) return;
|
||||
if (ob_state() == OB_STATE_EXITING) return;
|
||||
|
||||
/* create an array of the window ids (from bottom to top,
|
||||
reverse order!) */
|
||||
|
|
|
@ -58,7 +58,7 @@ gboolean place_history(ObClient *c)
|
|||
|
||||
if (hi && !(hi->flags & PLACED)) {
|
||||
hi->flags |= PLACED;
|
||||
if (ob_state != OB_STATE_STARTING) {
|
||||
if (ob_state() != OB_STATE_STARTING) {
|
||||
if (hi->flags & HAVE_POSITION ||
|
||||
hi->flags & HAVE_SIZE) {
|
||||
if (hi->flags & HAVE_POSITION) {
|
||||
|
|
|
@ -30,7 +30,7 @@ static void place_random(ObClient *c)
|
|||
int x, y;
|
||||
Rect *area;
|
||||
|
||||
if (ob_state == OB_STATE_STARTING) return;
|
||||
if (ob_state() == OB_STATE_STARTING) return;
|
||||
|
||||
area = screen_area_monitor(c->desktop,
|
||||
g_random_int_range(0, screen_num_monitors));
|
||||
|
|
Loading…
Reference in a new issue