From bddbe9432837edccc67b76f2d29d4dbc9b02203f Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 10 Jul 2003 19:06:00 +0000 Subject: [PATCH] make ob_state a function so it cant be changed outside of openbox.c --- openbox/client.c | 6 +++--- openbox/dock.c | 2 +- openbox/event.c | 2 +- openbox/focus.c | 2 +- openbox/frame.c | 2 +- openbox/openbox.c | 13 +++++++++---- openbox/openbox.h | 2 +- openbox/screen.c | 2 +- openbox/stacking.c | 2 +- plugins/placement/history.c | 2 +- plugins/placement/placement.c | 2 +- 11 files changed, 21 insertions(+), 16 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index 644198a7..339c2a18 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -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; diff --git a/openbox/dock.c b/openbox/dock.c index 5d110353..5f7585da 100644 --- a/openbox/dock.c +++ b/openbox/dock.c @@ -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) { diff --git a/openbox/event.c b/openbox/event.c index d80f755c..6d74a27d 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -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; diff --git a/openbox/focus.c b/openbox/focus.c index 6177bc9a..0285f40d 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -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); diff --git a/openbox/frame.c b/openbox/frame.c index 82e7f90b..5efc869a 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -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 diff --git a/openbox/openbox.c b/openbox/openbox.c index 65669652..747f3840 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -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; +} diff --git a/openbox/openbox.h b/openbox/openbox.h index 93ee4813..73f84364 100644 --- a/openbox/openbox.h +++ b/openbox/openbox.h @@ -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(); diff --git a/openbox/screen.c b/openbox/screen.c index 67863d17..4b25a035 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -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(); diff --git a/openbox/stacking.c b/openbox/stacking.c index 5b9b37b2..bab7b765 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -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!) */ diff --git a/plugins/placement/history.c b/plugins/placement/history.c index 22dbb6e0..eeff1f63 100644 --- a/plugins/placement/history.c +++ b/plugins/placement/history.c @@ -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) { diff --git a/plugins/placement/placement.c b/plugins/placement/placement.c index a84c41ec..599d58a9 100644 --- a/plugins/placement/placement.c +++ b/plugins/placement/placement.c @@ -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)); -- 2.39.2