summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-14 21:09:51 +0000
committerDana Jansens <danakj@orodu.net>2003-09-14 21:09:51 +0000
commit0a220fb6a1756191e7865e20ff399676c7f2041f (patch)
tree8afe35a0c08859053f997dc43486a3a5353f2ab0 /openbox
parent13bbcdd86b5cb5a6dce8768d3fbaaede2032b043 (diff)
adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end
Diffstat (limited to 'openbox')
-rw-r--r--openbox/openbox.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/openbox/openbox.c b/openbox/openbox.c
index 220f0e2d..a3adb102 100644
--- a/openbox/openbox.c
+++ b/openbox/openbox.c
@@ -218,6 +218,15 @@ int main(int argc, char **argv)
ob_exit_with_error("Unable to load a theme.");
}
+ if (reconfigure) {
+ GList *it;
+
+ /* update all existing windows for the new theme */
+ for (it = client_list; it; it = g_list_next(it)) {
+ ObClient *c = it->data;
+ frame_adjust_theme(c->frame);
+ }
+ }
event_startup(reconfigure);
grab_startup(reconfigure);
/* focus_backup is used for stacking, so this needs to come before
@@ -243,7 +252,7 @@ int main(int argc, char **argv)
/* redecorate all existing windows */
for (it = client_list; it; it = g_list_next(it)) {
ObClient *c = it->data;
- frame_adjust_theme(c->frame);
+ frame_adjust_area(c->frame, TRUE, TRUE, FALSE);
}
}