X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fopenbox.c;h=0c758cfdf4bd4c762833522c5c12c89dfb7003ed;hb=098ae047f89f23d888f26425f7c5f77b75437d91;hp=e3f52ce3c18ee0561c9dad79c84e2995a671dea2;hpb=a4ef4fd5505883464d59d335b2418b0ace116603;p=chaz%2Fopenbox diff --git a/openbox/openbox.c b/openbox/openbox.c index e3f52ce3..0c758cfd 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -28,6 +28,7 @@ #include "xerror.h" #include "prop.h" #include "screen.h" +#include "actions.h" #include "startupnotify.h" #include "focus.h" #include "focus_cycle.h" @@ -128,7 +129,7 @@ gint main(gint argc, gchar **argv) if (chdir(g_get_home_dir()) == -1) g_message(_("Unable to change to home directory '%s': %s"), g_get_home_dir(), g_strerror(errno)); - + /* parse the command line args, which can change the argv[0] */ parse_args(&argc, argv); /* parse the environment variables */ @@ -154,7 +155,7 @@ gint main(gint argc, gchar **argv) prop_startup(); /* Send client message telling the OB process to: - * remote_control = 1 -> reconfigure + * remote_control = 1 -> reconfigure * remote_control = 2 -> restart */ PROP_MSG(RootWindow(ob_display, ob_screen), ob_control, remote_control, 0, 0, 0); @@ -238,6 +239,8 @@ gint main(gint argc, gchar **argv) of the rc */ i = parse_startup(); + /* register all the available actions */ + actions_startup(reconfigure); /* start up config which sets up with the parser */ config_startup(i); @@ -332,12 +335,12 @@ gint main(gint argc, gchar **argv) ObClient *c = it->data; /* the new config can change the window's decorations */ - client_setup_decor_and_functions(c, TRUE); + client_setup_decor_and_functions(c, FALSE); /* redraw the frames */ frame_adjust_area(c->frame, TRUE, TRUE, FALSE); /* the decor sizes may have changed, so the windows may end up in new positions */ - client_reconfigure(c); + client_reconfigure(c, FALSE); } } @@ -371,6 +374,7 @@ gint main(gint argc, gchar **argv) window_shutdown(reconfigure); event_shutdown(reconfigure); config_shutdown(); + actions_shutdown(reconfigure); modkeys_shutdown(reconfigure); } while (reconfigure); } @@ -439,7 +443,7 @@ gint main(gint argc, gchar **argv) g_free(ob_sm_save_file); g_free(ob_sm_id); g_free(program_name); - + return exitcode; } @@ -452,7 +456,7 @@ static void signal_handler(gint signal, gpointer data) break; case SIGUSR2: ob_debug("Caught signal %d. Reconfiguring.\n", signal); - ob_reconfigure(); + ob_reconfigure(); break; case SIGCHLD: /* reap children */