X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fopenbox.c;h=377b21990317acf1884414d8e6e85c52269645bb;hb=bb557f06a6828a95ee94c7579919dec1ee014484;hp=f2dc7159e60d9d7bf88f1df61433baca27abc93d;hpb=4c7cc1cfa64bf5722f059eae0528d510c2ae636f;p=chaz%2Fopenbox diff --git a/openbox/openbox.c b/openbox/openbox.c index f2dc7159..377b2199 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -121,7 +121,7 @@ gint main(gint argc, gchar **argv) { gchar *program_name; - state = OB_STATE_STARTING; + ob_set_state(OB_STATE_STARTING); /* initialize the locale */ if (!setlocale(LC_ALL, "")) @@ -131,7 +131,7 @@ gint main(gint argc, gchar **argv) textdomain(PACKAGE_NAME); if (chdir(g_get_home_dir()) == -1) - g_message(_("Unable to change to home directory '%s': %s"), + 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] */ @@ -183,7 +183,11 @@ gint main(gint argc, gchar **argv) ob_rr_inst = RrInstanceNew(ob_display, ob_screen); if (ob_rr_inst == NULL) ob_exit_with_error(_("Failed to initialize the obrender library.")); - ob_rr_icons = RrImageCacheNew(); + /* Saving 3 resizes of an RrImage makes a lot of sense for icons, as there + are generally 3 icon sizes needed: the titlebar icon, the menu icon, + and the alt-tab icon + */ + ob_rr_icons = RrImageCacheNew(3); XSynchronize(ob_display, xsync); @@ -319,7 +323,6 @@ gint main(gint argc, gchar **argv) grab_startup(reconfigure); group_startup(reconfigure); ping_startup(reconfigure); - prompt_startup(reconfigure); client_startup(reconfigure); dock_startup(reconfigure); moveresize_startup(reconfigure); @@ -327,6 +330,7 @@ gint main(gint argc, gchar **argv) mouse_startup(reconfigure); menu_frame_startup(reconfigure); menu_startup(reconfigure); + prompt_startup(reconfigure); if (!reconfigure) { guint32 xid; @@ -363,15 +367,17 @@ gint main(gint argc, gchar **argv) reconfigure = FALSE; - state = OB_STATE_RUNNING; + ob_set_state(OB_STATE_RUNNING); ob_main_loop_run(ob_main_loop); - state = OB_STATE_EXITING; + ob_set_state(reconfigure ? + OB_STATE_RECONFIGURING : OB_STATE_EXITING); if (!reconfigure) { dock_remove_all(); client_unmanage_all(); } + prompt_shutdown(reconfigure); menu_shutdown(reconfigure); menu_frame_shutdown(reconfigure); mouse_shutdown(reconfigure); @@ -379,7 +385,6 @@ gint main(gint argc, gchar **argv) moveresize_shutdown(reconfigure); dock_shutdown(reconfigure); client_shutdown(reconfigure); - prompt_shutdown(reconfigure); ping_shutdown(reconfigure); group_shutdown(reconfigure); grab_shutdown(reconfigure); @@ -421,7 +426,7 @@ gint main(gint argc, gchar **argv) g_strfreev(argvp); } else { g_message( - _("Restart failed to execute new executable '%s': %s"), + _("Restart failed to execute new executable \"%s\": %s"), restart_path, err->message); g_error_free(err); } @@ -507,6 +512,9 @@ static void print_help() g_print(_(" --help Display this help and exit\n")); g_print(_(" --version Display the version and exit\n")); g_print(_(" --replace Replace the currently running window manager\n")); + /* TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..." + aligned still, if you have to, make a new line with \n and 22 spaces. It's + fine to leave it as FILE though. */ g_print(_(" --config-file FILE Specify the path to the config file to use\n")); g_print(_(" --sm-disable Disable connection to the session manager\n")); g_print(_("\nPassing messages to a running Openbox instance:\n")); @@ -630,7 +638,7 @@ static void parse_args(gint *argc, gchar **argv) else { /* this is a memleak.. oh well.. heh */ gchar *err = g_strdup_printf - (_("Invalid command line argument '%s'\n"), argv[i]); + (_("Invalid command line argument \"%s\"\n"), argv[i]); ob_exit_with_error(err); } } @@ -702,3 +710,8 @@ ObState ob_state() { return state; } + +void ob_set_state(ObState s) +{ + state = s; +}