From: Dana Jansens Date: Thu, 14 Jan 2010 21:19:57 +0000 (-0500) Subject: Merge branch 'backport' into work X-Git-Tag: xkb~26 X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=3bd4397b6ec5212bfe53a36892746962dc45dbeb;hp=374888f5e9c3c98204a708ef40afec86d136d836 Merge branch 'backport' into work Conflicts: openbox/frame.c --- diff --git a/.gitignore b/.gitignore index 907abb9..f4b627b 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ m4/*.m4 missing .dirstamp openbox/openbox -parser/obparser-3.0.pc +parser/obparser-4.0.pc po/Makefile.in.in po/Makevars.template po/POTFILES @@ -48,7 +48,8 @@ po/en@boldquot.insert-header po/en@quot.insert-header po/remove-potcdate.sed *.gmo -render/obrender-3.0.pc +obrender/obrender-3.5.pc +obt/obt-3.5.pc tools/gnome-panel-control/gnome-panel-control tools/gdm-control/gdm-control tools/obxprop/obxprop @@ -75,11 +76,13 @@ tests/grouptrancircular2 tests/iconifydelay tests/icons tests/mapiconic +tests/mingrow tests/modal tests/modal2 tests/modal3 tests/noresize tests/override +tests/overrideinputonly tests/positioned tests/resize tests/restack diff --git a/CHANGELOG b/CHANGELOG index fd68f09..8636efb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,276 @@ +3.5.0-rc1: + +3.4.9: + * Allow focus to move while inside an Openbox menu, or during an interactive + action such as window cycling. + * Fixed bug #3717 (Empty dock interfered with move/grow to edge actions). + * Fixed bug #4411 (Crash when switching desktops and window cycling). + * Fixed bug #4377 (Window resistance against struts). + * Fixed bug #4035 (Prevent focus from moving under the mouse after + activating a window with an Openbox menu. + * Correct the value provided by the _NET_WORKAREA hint, so desktop icons + will place across all monitors. + * Don't hide submenus immediately when moving through the parent menu. + (Resolves request #3762). + * Fix for showing Openbox menus with multiple monitors, don't restrict them + to the monitor where the mouse is. + * Fixed bug #4023 (Allow the user to have multiple keys which perform the + same function in Openbox menus/move/resize. E.g. two keys which are + both bound to Escape. + * Add a new obprop tool, which can be used to read the _OB_ROLE, _OB_NAME, + and _OB_CLASS (as well as any other UTF-8 window properties) off of a + window. + * Add _OB_ROLE, _OB_NAME, and _OB_CLASS hints on each window that show the + respective values for use in the rc.xml applications section, to modify + the window when it appears. + * Improve Openbox interoperability with gnome-session >= 2.24. + * Fixed bug #4040 (Remove desktop hints set by gdm in the openbox-session + scripts, so that Openbox can set the number of desktops (assuming + gnome-settings-daemon doesn't first)). + * Fix a bug in xdg-autostart preventing some .desktop files from working. + * Show the desktop pager popup on the primary monitor instead of on all + monitors. + * Add a new primaryMonitor config option, which is where Openbox popups + will appear. Defaults to a fixed monitor, but can be made to behave as + before with the "active" value for it. + * Correct edge detection for move/grow to edge to properly use monitor edges + for multi-monitor setups. + * Change default window placement policy to stay on the active monitor for + multi-monitor setups. + * Fixed bug #1149 (Crash with some window icon sizes). + * Respond to all strut changes, fixes moving/hiding panels. + * Fix internal code to focus windows on other desktops correctly (Fixes + bug #4413). + * Focus correctness fixups for switching desktops. + * Fixed bug #4373 (Decoration bug for shaded maximized windows). + * Fixed bug #4350 (Allow a window to be made skip_taskbar but still get + focused by the user's rc.xml). + * Fixed bug #4307 (Set a minimum time for screenEdgeWarpTime). + * Fixed bug #4253 (Support for Solaris in openbox-session scripts). + * Fixed bug #3851 (Allow transient windows to be above helper windows). + +3.4.8: + * Updated translations: Slovak. + * Allow windows to change their decorations at any time (Fix for + Google Chrome). + * Make openbox-session to respect the $XDG_CONFIG_HOME environment variable. + * Fixed bug #4344 where borders were given to windows that should not have + them. + * Merge the SessionLogout and Exit actions. They now test if connected to a + session manager and ask it to exit if so, or simply kill Openbox if not. + * Further tweaks to the _NET_ACTIVE_WINDOW message handling. Use the same + logic for focus-stealing as is used when mapping a new window. + * Don't go out of our way any more to prevent focus from moving while the + keyboard is grabbed. + * Fix openbox-gnome-session when using gnome-session > 2.22. + +3.4.8-rc2: + * Updated translations: Italian, Croatian, Ukrainian. + * When resizing a window while focus cycling with bar=no, the bar no longer + reappears. + * Correctly handle shaped windows using the ShapeInput kind, this is used + by many composited apps to pass through clicks in their transparent areas. + * Fix the per-app setting. + * Avoid using anonymous unions. + * Windows that had their decorations removed by per-app settings were still + placed as if they still had their decorations. + * Fix event handling not to ignore events on a window when they have an unmap + event in the queue, if that unmap event doesn't cause the window to be + unmanaged. + * Show the desktop switch on every monitor in xinerama. + * Fix interpretation of struts in xinerama where the screens have different + sizes. + * Add "next" and "prev" as possible targets in the moveto and + resizeto actions. + * Allow escaping the _ used to mark the shortcut character in menu labels. + You can now change the (first) _ in a label to __, this will be displayed + as a single underscore. The rest of the _ in the string will be unaffected, + so only double the first one. + * Only replace ~ with the home directory when it is preceded by whitespace or + is at the start of the string, and when it is followed by a space, slash, or + the end of the string. This is implemented with GRegex, and so the required + glib version has been bumped to 2.14. + * Some other small fixes. + +3.4.8-rc1: + * Updated translations: Basque, Catalan, Turkish, Italian, Spanish, Russian. + * New translations: Danish, Turkish, Lithuanian. + * Set the _MOTIF_WM_INFO atom so urxvt uses motif hints for borderless mode. + * Properly escape the xml used in session files. + * Correct a 64-bit issue related to comparing timestamps. + * There is a sneaky sentence right at the end of a big paragraph in the + wm-spec document that says windows mapping with _NET_WM_USER_TIME=0 should + not be focused initially, honor this request. + * When moving a window to another desktop with following on, bring the + window's helper windows (for example gimp image windows with the toolbox + set to utility window). + * Change the _NET_ACTIVE_WINDOW messages again, if they originate from the + app and the window is on another desktop, just set the demands_attention + flag. If the event came from the user (ie pager/panel), then the window + is still moved to the current desktop. + +3.4.7.2: + * The system I used to generate the dist tarball didn't have the + docbook-to-man command so the manpages were empty. + +3.4.7.1: + * Not to be outdone by the cairo team, I introduced a bug in the last release + which made resizing not give any feedback. This is now fixed. + +3.4.7: + * Fully updated Czech, Simplified Chinese, Traditional Chinese, German, + French, Hungarian, Norwegian, Vietnamese, Dutch, Swedish, Finnish, + Brazilian Portuguese, Japanese and Portuguese translations + * Partially updated Spanish translation + * Add an example of the "force" option for the per-app placement options to + the default rc.xml file + * Add a new xdg-autostart script. This will eventually end up in the PyXDG + distribution hopefully, but it is included in Openbox for now. This script + runs things based on the freedesktop.org autostart specification. You can + have it run GNOME, KDE, ROX, or XFCE specific things if you want. The + new default system-wide autostart.sh script runs it automatically + * Update the default menu.xml to include a lot of common apps + * Fix white font shadows (negative shadowtint) + * Update the autostart.sh to find gnome-settings-daemon correctly, as the + GNOME people have moved it to libexec + * Fix focus possibly getting stolen when using the Focus action + * Drastically speed up rendering of Vertical and SplitVertical gradients + * Speed improvements also for Horizonal and Pyramid gradients + * Add new theme options, menu.overlap.x and menu.overlap.y options, that let + you independently control the horizontal and vertical position of submenus + * Change _NET_ACTIVE_WINDOW messages to not change the current desktop, but + to bring the window to the current desktop instead. This is the industry + standard policy + * Use the pretty new openbox.png icon as the default window icon + * Allow matching per-application rules to windows by their window type + (normal, dialog, splash, etc). The default rc.xml has more details + * Add new Openbox-themed prompt windows. Use these prompt windows to ask + before killing off windows that aren't responding. This also means we + don't need to ping every window constantly forever + * Add a new option to the Execute action. If this is set to a + string, a dialog will be shown with that string in it and "yes"/"no" + buttons. The command to be executed will only be run if the user selects + "yes" in the dialog + * Add a new option to the Exit action, which is a boolean (not a + string). When true, Openbox will show a dialog confirming if you want to + exit. The default is to show the prompt + * Reduce Openbox's memory footprint and speed up rendering through the use + of a new icon cache, so that Openbox only needs to keep 1 copy of an icon + when 100 different windows share it + * Make Openbox menus have the "menu type" hint for compositors to see and use + * Fix the MoveResizeTo action for negative coords (opposite edges) + * Fix key bindings getting lost if multiple bindings at the same level could + not be translated (Fixes VMWare causing Openbox keybindings to stop + working) + * Fix the resize popup box for terminal windows with a base size of 0 (show + the right size values for urxvt terminals) + * Fix some off-by-one bugs with the edge growing/shrinking code + * Add new theme options for menu line separators: menu.separator.color, + menu.separator.width, menu.separator.padding.width, + menu.separator.padding.height + * Add xfce-mcs-manager to the default autostart.sh, and run it automatically + when gnome-settings-daemon is not present to have GTK apps inherit settings + from the XFCE configuration tools + * Make the send-to-desktop menu in the client-menu indicate which is the current + desktop for omnipresent windows, and don't close it if just toggling + omni-presence when ctrl-clicking + * Add a new SessionLogout action that logs out through the session manager, + when running Openbox within a session manager such as within an + GNOME/Openbox or KDE/Openbox session. The action includes a + option which is similar to the Exit action's + * Add a new gdm-control command that lets you control gdm from within an X + session. The gdm-control lets you change GDM's behaviour for when you end + the current session. For instance, you can tell GDM to reboot, and + then immediately log out of the current session, and the computer will be + rebooted + * Show an information dialog when an error occurs for Openbox, such as when + the Execute action fails or when XML syntax errors are present in the + configuration files + * When making a window very narrow, don't draw buttons to the right of the title + on top of the ones on its left. + +3.4.6.1: + * Updated Clearlooks theme + * Add the force="yes/no" option for the per-app settings' tag + * Raise and focus modal children and their direct parents together, improved + usability with direct modal transient windows + * Fix crash when using for NextWindow and there are no windows + to move focus to + * Add the option in the rc.xml section, which toggles + the "Manage Desktops" section appearing in the combined-client-list-menu + * Fix for menu headers showing the wrong text + * Fix for the behavior + * Treat modal direct children as one window with their parent consistently + +3.4.6: + * Added Basque translation + * Updated French, Vietnamese German, Simplified Chinese, Russian, Portuguese, + Brasilian Portuguese, Norwegian, and Finnish translations + * New Clearlooks theme, updated by David Barr + * Updated the previous Clearlooks theme, and renamed it to Clearlooks-3.4 + * Allow dialog type windows to go fullscreen (Fixes Kpdf) + * Remove the extraneous top border for undecorated windows while maximized + * Fixes for keyboard modifiers (Alt-tab dialog getting stuck on screen for + some users) + * Automatically catch changes to the keyboard map and reconfigure the key + bindings on the fly + * Fix focus moving incorrectly sometimes with focus under mouse enabled + * Make default configuration focus the desktop when you right click + * Add the and options for all window cycling actions, allowing + you to have your target window temporarily raised above all others, and to + turn the focus target indicator bar off + * Improve the LastDesktop action to not remember desktops you skipped across + * Ignore mouse clicks that are made on override-redirect (unmanaged) windows + * When opening a menu with a key binding, don't use the key binding to run + something in the menu + * Add a option for window placement, which gives you the option + to place new windows on the active monitor, or the monitor where the mouse + is, instead of on any monitor (for xinerama multihead setups) + * Add options for placing the window move/resize coordinate popup window in + a fixed position on screen, rather than relative to the window being + moved or resized + * Prevent the dock from auto-hiding completely offscreen if the theme has + no borders for it + * New icon + * Fix race condition when running things that want to grab the keyboard + (e.g. gnome-panel-control --main-menu) + * When dialog windows ask to not appear in the taskbar, still give them focus + in normal ways (fixes new GNOME session logout dialogs) + * Fix bug with resizing corners on certain parts of the window frame + * Ping applications to tell when they are running or have become frozen. + Show a [Not Responding] message in the title bar of windows which are + frozen. + * When closing a window which is [Not Responding], kill the window's process + if it is running on the same machine as Openbox. Otherwise, just + disconnect + the window from the X display. A second attempt to close a [Not + Responding] + window will kill it forcefully (kill -9). + * Fixes for internal timers + * Add a option for the execute action's startup-notification. This + lets you tell Openbox that the application will map a window with the + specified class - for applications that do not support startup-notification + natively. + * Fix for empty dock taking up space onscreen after a reconfigure + * Reduce Openbox's additional memory footprint per-window and per-menu + * Faster horizontal gradient rendering + * Don't deiconify windows that aren't allowed to be directly iconified on + restart (eg toolbars), as they can be iconified by other means + * Improve support for fullscreen windows in xinerama (TwinView) and + multiple-screen setups + * Add a --config-file command line option, to specify an alternate + configuration file path + +3.4.5: + * Added Hungarian translation + * Updated Finnish, Russian, German and French translations + * Fixed some very minor memory leaks + * Hide the desktop popup when showing the focus popup + * Fix a crash when trying to access the More... menu of + client-list-combined-menu + * Fix the coordinate popup only showing up on the first monitor in xinerama + * Add --exit to exit the currently running openbox instance + 3.4.4: * Updated Traditional Chinese translation * Updated Norwegian translation diff --git a/Makefile.am b/Makefile.am index 14786f5..91b2303 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,7 +8,8 @@ rcdir = $(configdir)/openbox 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@/obrender pixmapdir = $(datadir)/pixmaps xsddir = $(datadir)/openbox secretbindir = $(libdir)/openbox @@ -23,11 +24,11 @@ ACLOCAL_AMFLAGS = -I m4 INCLUDES = -I. check_PROGRAMS = \ - render/rendertest + obrender/rendertest lib_LTLIBRARIES = \ - parser/libobparser.la \ - render/libobrender.la + obt/libobt.la \ + obrender/libobrender.la bin_PROGRAMS = \ openbox/openbox \ @@ -43,90 +44,105 @@ nodist_bin_SCRIPTS = \ data/xsession/openbox-gnome-session \ data/xsession/openbox-kde-session -## render ## +## obrender ## -render_rendertest_CPPFLAGS = \ +obrender_rendertest_CPPFLAGS = \ $(PANGO_CFLAGS) \ - $(XFT_CFLAGS) \ $(GLIB_CFLAGS) \ -DG_LOG_DOMAIN=\"RenderTest\" -render_rendertest_LDADD = \ - parser/libobparser.la \ - render/libobrender.la \ +obrender_rendertest_LDADD = \ + obt/libobt.la \ + obrender/libobrender.la \ $(GLIB_LIBS) \ $(PANGO_LIBS) \ - $(XFT_LIBS) \ $(XML_LIBS) \ $(X_LIBS) -render_rendertest_SOURCES = render/test.c +obrender_rendertest_SOURCES = obrender/test.c -render_libobrender_la_CPPFLAGS = \ +obrender_libobrender_la_CPPFLAGS = \ $(X_CFLAGS) \ $(GLIB_CFLAGS) \ $(XML_CFLAGS) \ $(PANGO_CFLAGS) \ - $(XFT_CFLAGS) \ -DG_LOG_DOMAIN=\"ObRender\" \ -DDEFAULT_THEME=\"$(theme)\" -render_libobrender_la_LDFLAGS = \ - -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -render_libobrender_la_LIBADD = \ - parser/libobparser.la \ +obrender_libobrender_la_LDFLAGS = \ + -version-info $(RR_CURRENT):$(RR_REVISION):$(RR_AGE) +obrender_libobrender_la_LIBADD = \ + obt/libobt.la \ $(X_LIBS) \ $(PANGO_LIBS) \ - $(XFT_LIBS) \ $(GLIB_LIBS) \ $(XML_LIBS) -render_libobrender_la_SOURCES = \ +obrender_libobrender_la_SOURCES = \ gettext.h \ - render/color.h \ - render/color.c \ - render/font.h \ - render/font.c \ - render/geom.h \ - render/gradient.h \ - render/gradient.c \ - render/icon.h \ - render/image.h \ - render/image.c \ - render/imagecache.h \ - render/imagecache.c \ - render/instance.h \ - render/instance.c \ - render/mask.h \ - render/mask.c \ - render/render.h \ - render/render.c \ - render/theme.h \ - render/theme.c - -## parser ## - -parser_libobparser_la_CPPFLAGS = \ + obrender/color.h \ + obrender/color.c \ + obrender/font.h \ + obrender/font.c \ + obrender/geom.h \ + obrender/gradient.h \ + obrender/gradient.c \ + obrender/icon.h \ + obrender/image.h \ + obrender/image.c \ + obrender/imagecache.h \ + obrender/imagecache.c \ + obrender/instance.h \ + obrender/instance.c \ + obrender/mask.h \ + obrender/mask.c \ + obrender/render.h \ + obrender/render.c \ + obrender/theme.h \ + obrender/theme.c + +## obt ## + +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/xml.h \ + obt/xml.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) \ @@ -134,17 +150,13 @@ openbox_openbox_CPPFLAGS = \ $(GLIB_CFLAGS) \ $(LIBSN_CFLAGS) \ $(XML_CFLAGS) \ + $(IMLIB2_CFLAGS) \ -DLOCALEDIR=\"$(localedir)\" \ -DDATADIR=\"$(datadir)\" \ -DCONFIGDIR=\"$(configdir)\" \ -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) \ @@ -152,8 +164,9 @@ openbox_openbox_LDADD = \ $(XML_LIBS) \ $(EFENCE_LIBS) \ $(LIBINTL) \ - render/libobrender.la \ - parser/libobparser.la + $(IMLIB2_LIBS) \ + obrender/libobrender.la \ + obt/libobt.la openbox_openbox_LDFLAGS = -export-dynamic openbox_openbox_SOURCES = \ gettext.h \ @@ -192,6 +205,7 @@ openbox_openbox_SOURCES = \ openbox/actions/resizerelative.c \ openbox/actions/restart.c \ openbox/actions/shade.c \ + openbox/actions/shadelowerraise.c \ openbox/actions/showdesktop.c \ openbox/actions/showmenu.c \ openbox/actions/unfocus.c \ @@ -213,8 +227,6 @@ openbox_openbox_SOURCES = \ 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 \ @@ -236,15 +248,11 @@ openbox_openbox_SOURCES = \ 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 \ @@ -260,8 +268,6 @@ openbox_openbox_SOURCES = \ openbox/prompt.h \ openbox/popup.c \ openbox/popup.h \ - openbox/prop.c \ - openbox/prop.h \ openbox/resist.c \ openbox/resist.h \ openbox/screen.c \ @@ -275,9 +281,7 @@ openbox_openbox_SOURCES = \ openbox/translate.c \ openbox/translate.h \ openbox/window.c \ - openbox/window.h \ - openbox/xerror.c \ - openbox/xerror.h + openbox/window.h ## gnome-panel-control ## @@ -406,24 +410,32 @@ dist_syscrash_theme_DATA= \ ## public headers ## -pubinclude_HEADERS = \ - render/color.h \ - render/font.h \ - render/geom.h \ - render/gradient.h \ - render/image.h \ - render/instance.h \ - render/mask.h \ - render/render.h \ - render/theme.h \ - parser/parse.h - -nodist_pubinclude_HEADERS = \ - version.h +rrpubinclude_HEADERS = \ + obrender/color.h \ + obrender/font.h \ + obrender/geom.h \ + obrender/gradient.h \ + obrender/image.h \ + obrender/instance.h \ + obrender/mask.h \ + obrender/render.h \ + obrender/theme.h \ + obrender/version.h + +obtpubinclude_HEADERS = \ + obt/display.h \ + obt/keyboard.h \ + obt/mainloop.h \ + obt/xml.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 + obrender/obrender-3.5.pc \ + obt/obt-3.5.pc ## data ## @@ -475,7 +487,6 @@ nodist_xsessions_DATA = \ data/xsession/openbox-kde.desktop dist_noinst_DATA = \ - version.h.in \ data/autostart.sh.in \ data/rc.xsd \ data/menu.xsd \ @@ -495,8 +506,10 @@ dist_noinst_DATA = \ doc/openbox-kde-session.1.in \ doc/obxprop.1.sgml \ doc/obxprop.1.in \ - render/obrender-3.0.pc.in \ - parser/obparser-3.0.pc.in \ + obrender/version.h.in \ + obrender/obrender-3.5.pc.in \ + obt/obt-3.5.pc.in \ + obt/version.h.in \ tools/themeupdate/themeupdate.py \ tests/hideshow.py \ tests/Makefile \ @@ -552,7 +565,7 @@ CLEANFILES = \ # $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc distclean-local: - for d in . m4 po render; do \ + for d in . m4 po obrender parser obt openbox; do \ for p in core core.* gmon.out *\~ *.orig *.rej .\#*; do \ rm -f "$$d/$$p"; \ done \ diff --git a/README.GIT b/README.GIT index c50118e..b4b0557 100644 --- a/README.GIT +++ b/README.GIT @@ -3,7 +3,7 @@ To build Openbox from git you need: A C Compiler (GNU GCC 3.2+ suggested) GNU Gettext 0.14.4 GNU Autoconf 2.50+ -GNU Automake 1.9+ +GNU Automake 1.9 (no more, no less) GNU Libtool Xlib library/headers (devel package) Pkg-Config diff --git a/configure.ac b/configure.ac index eb11c03..57f126a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,44 +1,71 @@ AC_PREREQ([2.54]) -AC_INIT([openbox], [3.999.0], [http://bugzilla.icculus.org]) +AC_INIT([openbox], [3.5.0-rc1], [http://bugzilla.icculus.org]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([openbox/openbox.c]) +OB_VERSION=$PACKAGE_VERSION +AC_SUBST(OB_VERSION) + dnl Making releases: -dnl OB_MICRO_VERSION += 1; -dnl OB_INTERFACE_AGE += 1; -dnl OB_BINARY_AGE += 1; -dnl if any functions have been added, set OB_INTERFACE_AGE to 0. +dnl RR_MICRO_VERSION += 1; +dnl RR_INTERFACE_AGE += 1; +dnl R_BINARY_AGE += 1; +dnl if any functions have been added, set RR_INTERFACE_AGE to 0. dnl if backwards compatibility has been broken, -dnl set OB_BINARY_AGE and OB_INTERFACE_AGE to 0. +dnl set RR_BINARY_AGE and RR_INTERFACE_AGE to 0. dnl dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match dnl -OB_MAJOR_VERSION=3 -OB_MINOR_VERSION=4 -OB_MICRO_VERSION=16 -OB_INTERFACE_AGE=0 -OB_BINARY_AGE=0 -OB_VERSION=$PACKAGE_VERSION - -AC_SUBST(OB_MAJOR_VERSION) -AC_SUBST(OB_MINOR_VERSION) -AC_SUBST(OB_MICRO_VERSION) -AC_SUBST(OB_INTERFACE_AGE) -AC_SUBST(OB_BINARY_AGE) -AC_SUBST(OB_VERSION) +RR_MAJOR_VERSION=3 +RR_MINOR_VERSION=5 +RR_MICRO_VERSION=27 +RR_INTERFACE_AGE=0 +RR_BINARY_AGE=0 +RR_VERSION=$RR_MAJOR_VERSION.$RR_MINOR_VERSION + +OBT_MAJOR_VERSION=3 +OBT_MINOR_VERSION=5 +OBT_MICRO_VERSION=0 +OBT_INTERFACE_AGE=0 +OBT_BINARY_AGE=0 +OBT_VERSION=$OBT_MAJOR_VERSION.$OBT_MINOR_VERSION + +AC_SUBST(RR_MAJOR_VERSION) +AC_SUBST(RR_MINOR_VERSION) +AC_SUBST(RR_MICRO_VERSION) +AC_SUBST(RR_INTERFACE_AGE) +AC_SUBST(RR_BINARY_AGE) +AC_SUBST(RR_VERSION) +AC_SUBST(OBT_MAJOR_VERSION) +AC_SUBST(OBT_MINOR_VERSION) +AC_SUBST(OBT_MICRO_VERSION) +AC_SUBST(OBT_INTERFACE_AGE) +AC_SUBST(OBT_BINARY_AGE) +AC_SUBST(OBT_VERSION) dnl Libtool versioning -LT_RELEASE=$OB_MAJOR_VERSION.$OB_MINOR_VERSION -LT_CURRENT=`expr $OB_MICRO_VERSION - $OB_INTERFACE_AGE` -LT_REVISION=$OB_INTERFACE_AGE -LT_AGE=`expr $OB_BINARY_AGE - $OB_INTERFACE_AGE` -LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` - -AC_SUBST(LT_RELEASE) -AC_SUBST(LT_CURRENT) -AC_SUBST(LT_REVISION) -AC_SUBST(LT_AGE) -AC_SUBST(LT_CURRENT_MINUS_AGE) +RR_RELEASE=$RR_MAJOR_VERSION.$RR_MINOR_VERSION +RR_CURRENT=`expr $RR_MICRO_VERSION - $RR_INTERFACE_AGE` +RR_REVISION=$RR_INTERFACE_AGE +RR_AGE=`expr $RR_BINARY_AGE - $RR_INTERFACE_AGE` +RR_CURRENT_MINUS_AGE=`expr $RR_CURRENT - $RR_AGE` + +OBT_RELEASE=$OBT_MAJOR_VERSION.$OBT_MINOR_VERSION +OBT_CURRENT=`expr $OBT_MICRO_VERSION - $OBT_INTERFACE_AGE` +OBT_REVISION=$OBT_INTERFACE_AGE +OBT_AGE=`expr $OBT_BINARY_AGE - $OBT_INTERFACE_AGE` +OBT_CURRENT_MINUS_AGE=`expr $OBT_CURRENT - $OBT_AGE` + +AC_SUBST(RR_RELEASE) +AC_SUBST(RR_CURRENT) +AC_SUBST(RR_REVISION) +AC_SUBST(RR_AGE) +AC_SUBST(RR_CURRENT_MINUS_AGE) +AC_SUBST(OBT_RELEASE) +AC_SUBST(OBT_CURRENT) +AC_SUBST(OBT_REVISION) +AC_SUBST(OBT_AGE) +AC_SUBST(OBT_CURRENT_MINUS_AGE) AC_PREFIX_DEFAULT([/usr/local]) test "$prefix" = "NONE" && prefix=$ac_default_prefix @@ -61,7 +88,8 @@ AM_GNU_GETTEXT_VERSION(0.15) AM_GNU_GETTEXT([external]) AC_CHECK_HEADERS(ctype.h fcntl.h locale.h signal.h string.h stdio.h stdlib.h) -AC_CHECK_HEADERS(unistd.h sys/stat.h sys/select.h sys/time.h sys/wait.h) +AC_CHECK_HEADERS(unistd.h sys/stat.h sys/select.h sys/socket.h sys/time.h) +AC_CHECK_HEADERS(sys/wait.h) # AC_HEADER_TIME # AC_TYPE_SIGNAL @@ -78,10 +106,6 @@ PKG_CHECK_MODULES(PANGO, [pango >= 1.8.0 pangoxft >= 1.8.0]) AC_SUBST(PANGO_CFLAGS) AC_SUBST(PANGO_LIBS) -PKG_CHECK_MODULES(XFT, [xft]) -AC_SUBST(XFT_CFLAGS) -AC_SUBST(XFT_LIBS) - PKG_CHECK_MODULES(XML, [libxml-2.0 >= 2.6.0]) AC_SUBST(XML_CFLAGS) AC_SUBST(XML_LIBS) @@ -136,6 +160,33 @@ else xcursor_found=no fi +AC_ARG_ENABLE(imlib2, + AC_HELP_STRING( + [--disable-imlib2], + [disable use of Imlib2 image library for loading icons. [[default=enabled]]] + ), + [enable_imlib2=$enableeval], + [enable_imlib2=yes] +) + +if test "$enable_imlib2" = yes; then +PKG_CHECK_MODULES(IMLIB2, [imlib2], + [ + AC_DEFINE(USE_IMLIB2, [1], [Use Imlib2 image library]) + AC_SUBST(IMLIB2_CFLAGS) + AC_SUBST(IMLIB2_LIBS) + imlib2_found=yes + ], + [ + imlib2_found=no + ] +) +else + imlib2_found=no +fi + +AM_CONDITIONAL(USE_IMLIB2, [test $imlib2_found = yes]) + dnl Check for session management X11_SM @@ -154,8 +205,10 @@ AC_CONFIG_FILES([ Makefile m4/Makefile po/Makefile.in - render/obrender-3.0.pc - parser/obparser-3.0.pc + obrender/obrender-3.5.pc + obt/obt-3.5.pc + obrender/version.h + obt/version.h version.h ]) AC_CONFIG_COMMANDS([doc], @@ -171,5 +224,6 @@ AC_MSG_RESULT([Compiling with these options: Startup Notification... $sn_found X Cursor Library... $xcursor_found Session Management... $SM + Imlib2 library... $imlib2_found ]) AC_MSG_RESULT([configure complete, now type "make"]) diff --git a/data/rc.xml b/data/rc.xml index a576ca6..ecc22bb 100644 --- a/data/rc.xml +++ b/data/rc.xml @@ -98,7 +98,16 @@ normal - + + sans + 9 + + bold + + normal + + + sans 9 @@ -266,6 +275,28 @@ + + + + right + + + + + left + + + + + up + + + + + down + + + @@ -354,14 +385,24 @@ - - - - + + no + + + + + + + - - + + yes + + + + + @@ -565,23 +606,23 @@ - + previous - + next - + previous - + next - + previous - + next @@ -606,16 +647,16 @@ - + previous - + next - + previous - + next @@ -652,6 +693,8 @@