]> Dogcows Code - chaz/openbox/blobdiff - openbox/openbox.c
add a bunch of comments for images and image caches. and make the number of resized...
[chaz/openbox] / openbox / openbox.c
index 014199dc3779cf9bb9dd5110ea4813ad5afb7b60..f7d820e0111a5a834003df2fadc2c821fa3c7b96 100644 (file)
@@ -41,6 +41,7 @@
 #include "group.h"
 #include "config.h"
 #include "ping.h"
+#include "prompt.h"
 #include "gettext.h"
 #include "render/render.h"
 #include "render/theme.h"
 #include <X11/Xlib.h>
 #include <X11/keysym.h>
 
-RrInstance  *ob_rr_inst;
-RrTheme     *ob_rr_theme;
-ObtMainLoop *ob_main_loop;
-gint         ob_screen;
-gboolean     ob_replace_wm = FALSE;
-gboolean     ob_sm_use = TRUE;
-gchar       *ob_sm_id = NULL;
-gchar       *ob_sm_save_file = NULL;
-gboolean     ob_sm_restore = TRUE;
-gboolean     ob_debug_xinerama = FALSE;
+RrInstance   *ob_rr_inst;
+RrImageCache *ob_rr_icons;
+RrTheme      *ob_rr_theme;
+ObtMainLoop  *ob_main_loop;
+gint          ob_screen;
+gboolean      ob_replace_wm = FALSE;
+gboolean      ob_sm_use = TRUE;
+gchar        *ob_sm_id = NULL;
+gchar        *ob_sm_save_file = NULL;
+gboolean      ob_sm_restore = TRUE;
+gboolean      ob_debug_xinerama = FALSE;
 
 static ObState   state;
 static gboolean  xsync = FALSE;
@@ -166,6 +168,11 @@ gint main(gint argc, gchar **argv)
     ob_rr_inst = RrInstanceNew(obt_display, ob_screen);
     if (ob_rr_inst == NULL)
         ob_exit_with_error(_("Failed to initialize the obrender library."));
+    /* 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(obt_display, xsync);
 
@@ -209,6 +216,8 @@ gint main(gint argc, gchar **argv)
             keys[OB_KEY_RIGHT] = obt_keyboard_keysym_to_keycode(XK_Right);
             keys[OB_KEY_UP] = obt_keyboard_keysym_to_keycode(XK_Up);
             keys[OB_KEY_DOWN] = obt_keyboard_keysym_to_keycode(XK_Down);
+            keys[OB_KEY_TAB] = obt_keyboard_keysym_to_keycode(XK_Tab);
+            keys[OB_KEY_SPACE] = obt_keyboard_keysym_to_keycode(XK_space);
 
             {
                 ObtParseInst *i;
@@ -293,6 +302,7 @@ 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);
@@ -349,6 +359,7 @@ 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);
@@ -368,6 +379,7 @@ gint main(gint argc, gchar **argv)
     XSync(obt_display, FALSE);
 
     RrThemeFree(ob_rr_theme);
+    RrImageCacheUnref(ob_rr_icons);
     RrInstanceFree(ob_rr_inst);
 
     session_shutdown(being_replaced);
This page took 0.022223 seconds and 4 git commands to generate.