Merge branch 'backport' into work
authorMikael Magnusson <mikachu@comhem.se>
Thu, 28 Feb 2008 05:20:50 +0000 (06:20 +0100)
committerMikael Magnusson <mikachu@comhem.se>
Thu, 28 Feb 2008 05:20:50 +0000 (06:20 +0100)
Conflicts:

Makefile.am

1  2 
Makefile.am
openbox/actions/execute.c
openbox/actions/exit.c

diff --combined Makefile.am
@@@ -8,8 -8,7 +8,8 @@@ rcdir           = $(configdir)/openbo
  xsessionsdir    = $(datadir)/xsessions
  gnomewmfilesdir = $(datadir)/gnome/wm-properties
  pkgconfigdir    = $(libdir)/pkgconfig
 -pubincludedir   = $(includedir)/openbox/@OB_VERSION@/openbox
 +obtpubincludedir= $(includedir)/openbox/@OBT_VERSION@/obt
 +rrpubincludedir = $(includedir)/openbox/@RR_VERSION@/render
  pixmapdir       = $(datadir)/pixmaps
  xsddir          = $(datadir)/openbox
  secretbindir    = $(libdir)/openbox
@@@ -26,14 -25,14 +26,14 @@@ check_PROGRAMS = 
        render/rendertest
  
  lib_LTLIBRARIES = \
 -      parser/libobparser.la \
 -      render/libobrender.la
 +      render/libobrender.la \
 +      obt/libobt.la
  
  bin_PROGRAMS = \
        openbox/openbox \
        tools/gnome-panel-control/gnome-panel-control
  
- secretbin_SCRIPTS = \
dist_secretbin_SCRIPTS = \
        tools/xdg-autostart/xdg-autostart
  
  nodist_bin_SCRIPTS = \
@@@ -49,7 -48,7 +49,7 @@@ render_rendertest_CPPFLAGS = 
        $(GLIB_CFLAGS) \
        -DG_LOG_DOMAIN=\"RenderTest\"
  render_rendertest_LDADD = \
 -      parser/libobparser.la \
 +      obt/libobt.la \
        render/libobrender.la \
        $(GLIB_LIBS) \
        $(PANGO_LIBS) \
@@@ -67,9 -66,9 +67,9 @@@ render_libobrender_la_CPPFLAGS = 
        -DG_LOG_DOMAIN=\"ObRender\" \
        -DDEFAULT_THEME=\"$(theme)\"
  render_libobrender_la_LDFLAGS = \
 -      -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 +      -version-info $(RR_CURRENT):$(RR_REVISION):$(RR_AGE)
  render_libobrender_la_LIBADD = \
 -      parser/libobparser.la \
 +      obt/libobt.la \
        $(X_LIBS) \
        $(PANGO_LIBS) \
        $(XFT_LIBS) \
@@@ -98,52 -97,33 +98,52 @@@ render_libobrender_la_SOURCES = 
        render/theme.h \
        render/theme.c
  
 -## parser ##
 +## obt ##
  
 -parser_libobparser_la_CPPFLAGS = \
 +obt_libobt_la_CPPFLAGS = \
 +      $(XINERAMA_CFLAGS) \
 +      $(XKB_CFLAGS) \
 +      $(XRANDR_CFLAGS) \
 +      $(XSHAPE_CFLAGS) \
 +      $(XSYNC_CFLAGS) \
        $(GLIB_CFLAGS) \
        $(XML_CFLAGS) \
 -      -DG_LOG_DOMAIN=\"ObParser\" \
 +      -DG_LOG_DOMAIN=\"Obt\" \
        -DLOCALEDIR=\"$(localedir)\" \
        -DDATADIR=\"$(datadir)\" \
        -DCONFIGDIR=\"$(configdir)\"
 -parser_libobparser_la_LDFLAGS = \
 -      -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 -parser_libobparser_la_LIBADD = \
 +obt_libobt_la_LDFLAGS = \
 +      -version-info $(OBT_CURRENT):$(OBT_REVISION):$(OBT_AGE)
 +obt_libobt_la_LIBADD = \
 +      $(XINERAMA_LIBS) \
 +      $(XKB_LIBS) \
 +      $(XRANDR_LIBS) \
 +      $(XSHAPE_LIBS) \
 +      $(XSYNC_LIBS) \
        $(GLIB_LIBS) \
 -      $(XML_LIBS) 
 -parser_libobparser_la_SOURCES = \
 -      parser/parse.h \
 -      parser/parse.c
 +      $(XML_LIBS)
 +obt_libobt_la_SOURCES = \
 +      obt/display.h \
 +      obt/display.c \
 +      obt/internal.h \
 +      obt/keyboard.h \
 +      obt/keyboard.c \
 +      obt/mainloop.h \
 +      obt/mainloop.c \
 +      obt/parse.h \
 +      obt/parse.c \
 +      obt/paths.h \
 +      obt/paths.c \
 +      obt/prop.h \
 +      obt/prop.c \
 +      obt/util.h \
 +      obt/xevent.h \
 +      obt/xevent.c
  
  ## openbox ##
  
  openbox_openbox_CPPFLAGS = \
        $(SM_CFLAGS) \
 -      $(XINERAMA_CFLAGS) \
 -      $(XKB_CFLAGS) \
 -      $(XRANDR_CFLAGS) \
 -      $(XSHAPE_CFLAGS) \
 -      $(XSYNC_CFLAGS) \
        $(X_CFLAGS) \
        $(XCURSOR_CFLAGS) \
        $(SM_CFLAGS) \
        -DG_LOG_DOMAIN=\"Openbox\"
  openbox_openbox_LDADD = \
        $(SM_LIBS) \
 -      $(XINERAMA_LIBS) \
 -      $(XKB_LIBS) \
 -      $(XRANDR_LIBS) \
 -      $(XSHAPE_LIBS) \
 -      $(XSYNC_LIBS) \
        $(GLIB_LIBS) \
        $(X_LIBS) \
        $(XCURSOR_LIBS) \
        $(EFENCE_LIBS) \
        $(LIBINTL) \
        render/libobrender.la \
 -      parser/libobparser.la
 +      obt/libobt.la
  openbox_openbox_LDFLAGS = -export-dynamic
  openbox_openbox_SOURCES = \
        gettext.h \
        openbox/dock.h \
        openbox/event.c \
        openbox/event.h \
 -      openbox/extensions.c \
 -      openbox/extensions.h \
        openbox/focus.c \
        openbox/focus.h \
        openbox/focus_cycle.c \
        openbox/keyboard.h \
        openbox/keytree.c \
        openbox/keytree.h \
 -      openbox/mainloop.c \
 -      openbox/mainloop.h \
        openbox/menuframe.c \
        openbox/menuframe.h \
        openbox/menu.c \
        openbox/menu.h \
        openbox/misc.h \
 -      openbox/modkeys.c \
 -      openbox/modkeys.h \
        openbox/mouse.c \
        openbox/mouse.h \
        openbox/moveresize.c \
        openbox/prompt.h \
        openbox/popup.c \
        openbox/popup.h \
 -      openbox/prop.c \
 -      openbox/prop.h \
        openbox/resist.c \
        openbox/resist.h \
        openbox/screen.c \
        openbox/translate.c \
        openbox/translate.h \
        openbox/window.c \
 -      openbox/window.h \
 -      openbox/xerror.c \
 -      openbox/xerror.h
 -
 +      openbox/window.h
  
  ## gnome-panel-control ##
  
@@@ -385,7 -381,7 +385,7 @@@ dist_syscrash_theme_DATA= 
  
  ## public headers ##
  
 -pubinclude_HEADERS = \
 +rrpubinclude_HEADERS = \
        render/color.h \
        render/font.h \
        render/geom.h \
        render/mask.h \
        render/render.h \
        render/theme.h \
 -      parser/parse.h
 -
 -nodist_pubinclude_HEADERS = \
 -      version.h
 +      render/version.h
 +
 +obtpubinclude_HEADERS = \
 +      obt/display.h \
 +      obt/keyboard.h \
 +      obt/mainloop.h \
 +      obt/parse.h \
 +      obt/paths.h \
 +      obt/prop.h \
 +      obt/util.h \
 +      obt/version.h \
 +      obt/xevent.h
  
  nodist_pkgconfig_DATA = \
 -      render/obrender-3.0.pc \
 -      parser/obparser-3.0.pc
 +      render/obrender-4.0.pc \
 +      obt/obt-4.0.pc
  
  ## data ##
  
  dist_pixmap_DATA = \
        data/openbox.png
  
+ nodist_rc_DATA = \
+       data/autostart.sh
  dist_rc_DATA = \
-       data/autostart.sh \
        data/rc.xml \
        data/menu.xml
  
@@@ -457,6 -447,8 +459,7 @@@ nodist_xsessions_DATA = 
        data/xsession/openbox-kde.desktop
  
  dist_noinst_DATA = \
 -      version.h.in \
+       data/autostart.sh.in \
        data/rc.xsd \
        data/menu.xsd \
        data/xsession/openbox.desktop.in \
        doc/openbox-gnome-session.1.in \
        doc/openbox-kde-session.1.sgml \
        doc/openbox-kde-session.1.in \
 -      render/obrender-3.0.pc.in \
 -      parser/obparser-3.0.pc.in \
 +      render/version.h.in \
 +      render/obrender-4.0.pc.in \
 +      obt/obt-4.0.pc.in \
 +      obt/version.h.in \
        tools/themeupdate/themeupdate.py \
        tests/hideshow.py \
        tests/Makefile \
@@@ -532,7 -522,7 +535,7 @@@ CLEANFILES = 
  #       $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc
  
  distclean-local:
 -      for d in . m4 po render; do \
 +      for d in . m4 po render parser obt openbox; do \
                for p in core core.* gmon.out *\~ *.orig *.rej .\#*; do \
                        rm -f "$$d/$$p"; \
                done \
@@@ -3,7 -3,6 +3,7 @@@
  #include "openbox/startupnotify.h"
  #include "openbox/prompt.h"
  #include "openbox/screen.h"
 +#include "obt/paths.h"
  #include "gettext.h"
  
  #ifdef HAVE_STDLIB_H
@@@ -19,7 -18,7 +19,7 @@@ typedef struct 
      gchar   *prompt;
  } Options;
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_func(xmlNodePtr node);
  static void     free_func(gpointer options);
  static gboolean run_func(ObActionsData *data, gpointer options);
  /*
@@@ -32,37 -31,41 +32,37 @@@ static void     i_cancel_func(gpointer 
  
  void action_execute_startup(void)
  {
 -    actions_register("Execute",
 -                     setup_func,
 -                     free_func,
 -                     run_func,
 -                     NULL, NULL);
 +    actions_register("Execute", setup_func, free_func, run_func, NULL, NULL);
  }
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
 +static gpointer setup_func(xmlNodePtr node)
  {
      xmlNodePtr n;
      Options *o;
  
      o = g_new0(Options, 1);
  
 -    if ((n = parse_find_node("command", node)) ||
 -        (n = parse_find_node("execute", node)))
 +    if ((n = obt_parse_find_node(node, "command")) ||
 +        (n = obt_parse_find_node(node, "execute")))
      {
 -        gchar *s = parse_string(doc, n);
 -        o->cmd = parse_expand_tilde(s);
 +        gchar *s = obt_parse_node_string(n);
 +        o->cmd = obt_paths_expand_tilde(s);
          g_free(s);
      }
  
 -    if ((n = parse_find_node("prompt", node)))
 -        o->prompt = parse_string(doc, n);
 +    if ((n = obt_parse_find_node(node, "prompt")))
 +        o->prompt = obt_parse_node_string(n);
  
 -    if ((n = parse_find_node("startupnotify", node))) {
 +    if ((n = obt_parse_find_node(node, "startupnotify"))) {
          xmlNodePtr m;
 -        if ((m = parse_find_node("enabled", n->xmlChildrenNode)))
 -            o->sn = parse_bool(doc, m);
 -        if ((m = parse_find_node("name", n->xmlChildrenNode)))
 -            o->sn_name = parse_string(doc, m);
 -        if ((m = parse_find_node("icon", n->xmlChildrenNode)))
 -            o->sn_icon = parse_string(doc, m);
 -        if ((m = parse_find_node("wmclass", n->xmlChildrenNode)))
 -            o->sn_wmclass = parse_string(doc, m);
 +        if ((m = obt_parse_find_node(n->children, "enabled")))
 +            o->sn = obt_parse_node_bool(m);
 +        if ((m = obt_parse_find_node(n->children, "name")))
 +            o->sn_name = obt_parse_node_string(m);
 +        if ((m = obt_parse_find_node(n->children, "icon")))
 +            o->sn_icon = obt_parse_node_string(m);
 +        if ((m = obt_parse_find_node(n->children, "wmclass")))
 +            o->sn_wmclass = obt_parse_node_string(m);
      }
      return o;
  }
@@@ -76,6 -79,7 +76,7 @@@ static void free_func(gpointer options
          g_free(o->sn_name);
          g_free(o->sn_icon);
          g_free(o->sn_wmclass);
+         g_free(o->prompt);
          g_free(o);
      }
  }
@@@ -94,20 -98,13 +95,13 @@@ static Options* dup_options(Options *in
  
  static gboolean run_func(ObActionsData *data, gpointer options);
  
- static void prompt_cb(ObPrompt *p, gint result, gpointer data)
+ static void prompt_cb(ObPrompt *p, gint result, gpointer options)
  {
-     Options *options = data;
      if (result)
          run_func(NULL, options);
  
      prompt_unref(p);
-     g_free(options->cmd);
-     g_free(options->sn_name);
-     g_free(options->sn_icon);
-     g_free(options->sn_wmclass);
-     g_free(options);
+     free_func(options);
  }
  
  /* Always return FALSE because its not interactive */
diff --combined openbox/actions/exit.c
@@@ -7,7 -7,7 +7,7 @@@ typedef struct 
      gboolean prompt;
  } Options;
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
 +static gpointer setup_func(xmlNodePtr node);
  static gboolean run_func(ObActionsData *data, gpointer options);
  
  void action_exit_startup(void)
      actions_register("Exit", setup_func, NULL, run_func, NULL, NULL);
  }
  
 -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
 +static gpointer setup_func(xmlNodePtr node)
  {
      xmlNodePtr n;
      Options *o;
  
      o = g_new0(Options, 1);
  
 -    if ((n = parse_find_node("prompt", node)))
 -        o->prompt = parse_bool(doc, n);
 +    if ((n = obt_parse_find_node(node, "prompt")))
 +        o->prompt = obt_parse_node_bool(n);
  
      return o;
  }
@@@ -43,8 -43,8 +43,8 @@@ static gboolean run_func(ObActionsData 
      if (o->prompt) {
          ObPrompt *p;
          ObPromptAnswer answers[] = {
-             { _("No"), 0 },
-             { _("Yes"), 1 }
+             { _("Cancel"), 0 },
+             { _("Exit"), 1 }
          };
  
          p = prompt_new(_("Are you sure you want to exit Openbox?"),