]> Dogcows Code - chaz/openbox/blobdiff - openbox/openbox.c
for startup notification, use the left ptr+watch if it is available, and fall back...
[chaz/openbox] / openbox / openbox.c
index dfcda4b39ccaca719f6399227f26aa0ed010abbc..7270379e47923e2be1ec5bcc271fcd43dcf36e36 100644 (file)
@@ -30,6 +30,9 @@
 #include "screen.h"
 #include "startupnotify.h"
 #include "focus.h"
+#include "focus_cycle.h"
+#include "focus_cycle_indicator.h"
+#include "focus_cycle_popup.h"
 #include "moveresize.h"
 #include "frame.h"
 #include "keyboard.h"
@@ -89,6 +92,7 @@ gboolean    ob_replace_wm = FALSE;
 gboolean    ob_sm_use = TRUE;
 gchar      *ob_sm_id = NULL;
 gchar      *ob_sm_save_file = NULL;
+gboolean    ob_debug_xinerama = FALSE;
 
 static ObState   state;
 static gboolean  xsync = FALSE;
@@ -100,7 +104,6 @@ static KeyCode   keys[OB_NUM_KEYS];
 static gint      exitcode = 0;
 static guint     remote_control = 0;
 static gboolean  being_replaced = FALSE;
-static gchar    *config_type = NULL;
 
 static void signal_handler(gint signal, gpointer data);
 static void remove_args(gint *argc, gchar **argv, gint index, gint num);
@@ -193,7 +196,8 @@ gint main(gint argc, gchar **argv)
     /* create available cursors */
     cursors[OB_CURSOR_NONE] = None;
     cursors[OB_CURSOR_POINTER] = load_cursor("left_ptr", XC_left_ptr);
-    cursors[OB_CURSOR_BUSY] = load_cursor("left_ptr_watch", XC_watch);
+    cursors[OB_CURSOR_BUSYPOINTER] = load_cursor("left_ptr_watch",XC_left_ptr);
+    cursors[OB_CURSOR_BUSY] = load_cursor("watch", XC_watch);
     cursors[OB_CURSOR_MOVE] = load_cursor("fleur", XC_fleur);
     cursors[OB_CURSOR_NORTH] = load_cursor("top_side", XC_top_side);
     cursors[OB_CURSOR_NORTHEAST] = load_cursor("top_right_corner",
@@ -212,7 +216,7 @@ gint main(gint argc, gchar **argv)
     prop_startup(); /* get atoms values for the display */
     extensions_query_all(); /* find which extensions are present */
 
-    if (screen_annex(program_name)) { /* it will be ours! */
+    if (screen_annex()) { /* it will be ours! */
         do {
             modkeys_startup(reconfigure);
 
@@ -237,15 +241,17 @@ gint main(gint argc, gchar **argv)
                 config_startup(i);
 
                 /* parse/load user options */
-                if (parse_load_rc(config_type, &doc, &node)) {
+                if (parse_load_rc(NULL, &doc, &node)) {
                     parse_tree(i, doc, node->xmlChildrenNode);
                     parse_close(doc);
                 } else
                     g_message(_("Unable to find a valid config file, using some simple defaults"));
 
+/*
                 if (config_type != NULL)
                     PROP_SETS(RootWindow(ob_display, ob_screen),
                               ob_config, config_type);
+*/
 
                 /* we're done with parsing now, kill it */
                 parse_shutdown(i);
@@ -281,6 +287,9 @@ gint main(gint argc, gchar **argv)
             /* focus_backup is used for stacking, so this needs to come before
                anything that calls stacking_add */
             focus_startup(reconfigure);
+            focus_cycle_startup(reconfigure);
+            focus_cycle_indicator_startup(reconfigure);
+            focus_cycle_popup_startup(reconfigure);
             window_startup(reconfigure);
             sn_startup(reconfigure);
             screen_startup(reconfigure);
@@ -346,6 +355,9 @@ gint main(gint argc, gchar **argv)
             propwin_shutdown(reconfigure);
             grab_shutdown(reconfigure);
             screen_shutdown(reconfigure);
+            focus_cycle_popup_shutdown(reconfigure);
+            focus_cycle_indicator_shutdown(reconfigure);
+            focus_cycle_shutdown(reconfigure);
             focus_shutdown(reconfigure);
             sn_shutdown(reconfigure);
             window_shutdown(reconfigure);
@@ -408,10 +420,6 @@ gint main(gint argc, gchar **argv)
             argv = nargv;
         }
 
-        /* we also remove some environment variables, so put them back */
-        if (config_type)
-            setenv("OPENBOX_CONFIG_NAMESPACE", config_type, 1);
-
         /* re-run me */
         execvp(argv[0], argv); /* try how we were run */
         execlp(argv[0], program_name, (gchar*)NULL); /* last resort */
@@ -420,7 +428,6 @@ gint main(gint argc, gchar **argv)
     /* free stuff passed in from the command line or environment */
     g_free(ob_sm_save_file);
     g_free(ob_sm_id);
-    g_free(config_type);
     g_free(program_name);
      
     return exitcode;
@@ -474,6 +481,7 @@ static void print_help()
     g_print(_("  --sync              Run in synchronous mode\n"));
     g_print(_("  --debug             Display debugging output\n"));
     g_print(_("  --debug-focus       Display debugging output for focus handling\n"));
+    g_print(_("  --debug-xinerama    Split the display into fake xinerama screens\n"));
     g_print(_("\nPlease report bugs at %s\n"), PACKAGE_BUGREPORT);
 }
 
@@ -492,12 +500,6 @@ static void parse_env()
 {
     /* unset this so we don't pass it on unknowingly */
     unsetenv("DESKTOP_STARTUP_ID");
-
-    if (getenv("OPENBOX_CONFIG_NAMESPACE")) {
-        config_type = g_strdup(getenv("OPENBOX_CONFIG_NAMESPACE"));
-        /* don't pass it on except if we restart */
-        unsetenv("OPENBOX_CONFIG_NAMESPACE");
-    }
 }
 
 static void parse_args(gint *argc, gchar **argv)
@@ -535,6 +537,9 @@ static void parse_args(gint *argc, gchar **argv)
             ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
             ob_debug_enable(OB_DEBUG_FOCUS, TRUE);
         }
+        else if (!strcmp(argv[i], "--debug-xinerama")) {
+            ob_debug_xinerama = TRUE;
+        }
         else if (!strcmp(argv[i], "--reconfigure")) {
             remote_control = 1;
 /* don't make this do anything if it's not in --help ..
This page took 0.024931 seconds and 4 git commands to generate.