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, Italian, Croatian, Ukrainian.

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.

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 <monitor> 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 <monitor> 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.

3.4.8-rc1

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.

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 <prompt> 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 <prompt> 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)

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 <prompt> 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' <position> tag

3.4.6

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 <bar> and <raise> 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 <monitor> 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 popu 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

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 <wmclass> 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

Fix for MoveToEdge skipping edges sometimes

Let you specify the vertical and horizontal padding independently in themes

Fix so that if you select an omnipresent window on another desktop in the client list menus, it will go to that desktop

Make the GrowToEdge action shrink once there is no more room to grow, similar to in 3.4.2, but shrinking to edges as well

Don't focus new helper windows unless they are alone in their group. This fixes gucharmap

Fancy keyboard window moving:

Shift-arrow will move the window to the next edge

Control-arrow will move the window by only 1 pixel

Arrow will move the window by a larger number of pixels

Fancy keyboard window resizing:

The first arrow will choose an edge to resize (then you can grow or shrink the window on that edge)

Hitting an arrow perpendicular to your selected edge will choose a different edge to resize

Shift-arrow will grow/shrink the window to the next edge

Control arrow will grow/shrink the window by only 1 pixel

Arrow will grow/shrink the window by a larger number of pixel

Timeout when synchronously resizing a window so you can still resize busy or dead application windows

Let you specify keyboard shortcuts in your root menus with _. Such as label="XTe_rm" would make 'r' the shortcut key.

Fixes for placing windows with per-app settings:

you can now place windows relative to any edge of the screen instead of only the top left. (-0 uses the far edge, +0 uses the near edge. You can use --0 and +-0 to specify negative numbers.)

fix bug with windows being placed far off-screen occasionally

allow you to place windows partially outside of the screen

let per-app settings override program-specified positions (but not if it is user-specified)

Add user-specified margins to the configuration file

Fix for transient windows in groups with transient windows of the group transients. That wasn't supposed to be legible. i.e. 2 group transients and 1 direct transient for one of the group transients.

Don't include child/parent windows in tests for being occluded or occluding other windows, since you can't raise/lower above/below them. This fixes the raiselower action for windows which have children.

Reduce the size of the middle gradient in splitvertical gradients. This makes the split harder than it was in 3.4.2

Fix race that could prevent ObConf from setting the desktop names correctly

Add new theme options:

window.active.button.toggled.image.color has been split into:

window.active.button.toggled.unpressed.image.color

window.active.button.toggled.pressed.image.color

window.active.button.toggled.hover.image.color

window.inactive.button.toggled.image.color has been split into:

window.inactive.button.toggled.unpressed.image.color

window.inactive.button.toggled.pressed.image.color

window.inactive.button.toggled.hover.image.color

window.active.button.toggled.bg has been split into:

window.active.button.toggled.unpressed.bg

window.active.button.toggled.pressed.bg

window.active.button.toggled.hover.bg

window.inactive.button.toggled.bg has been split into:

window.inactive.button.toggled.unpressed.bg

window.inactive.button.toggled.pressed.bg

window.inactive.button.toggled.hover.bg

Add new Onyx and Onyx-Citrus themes

Updated Mikachu theme using new theme options

Improvements to splitvertical gradients - Add a small gradient in the middle between the upper and lower gradients

Fix another emacs event storm, don't configure the window when it sets its WM_NORMAL_HINTS unless we have to

Fix for focus cycling to helper windows - Don't count dialogs as a sibling, so they don't stop you

Allow the use of negative numbers in per-app settings position to place a window relative to the right/bottom edges of your monitor (taking the struts (panels) into account) (similar syntax to X geometry options)

Fix focus moving irrationally when focusLast was off

3.4.0

Add Indian Bengali translation

Updated Italian translation

Small updates to Czech, Estonian, Norwegian, and German translations

Removed out-of-date Japanese translation (ja.po)

Removed out-of-date Croatian translation (hr.po)

Allow parentrelative theme textures to have borders, bevels and interlacing

3.3.995 (3.4 preview release)

Fix bug introduced in 3.3.993 that made the desktop window keep focus when changing desktops

Add Arabic translations

Added Control-Alt-Up/Down bindings to the mouse focus example rc.xml

Don't raise on clients in the client context in the mouse focus example rc.xml

Fixes for when to focus new windows - improve keeping transient windows from stealing focus, and allow new windows to get focus when any relative window is focused

Fixes for frame decorations layout

Fixes for forcing window sizes to fit on the screen. Don't resize windows if they are a user-specified size (USSize) or if they are non-normal windows. (Fix Rox pinboard mapping across multiple monitors)

Centre window icons when they are not square

Fixes for Java windows behaving badly - Java makes all kinds of non-standard-compliant assumptions which we are forced to meet

Highlight the first menu entry when there is a separator/header at the top

Only highlight the first menu entry when the menu is opened with a key binding

Fix crash when you press enter with nothing selected in the menu

Fix for ignoring an unmap event after restart

Fixes for setting the clients' colormaps

Change focusLast option behavior to what it was in 3.3.1. It only affects changing desktops.

Add comments to the default rc.xml files about the various focus options

Fix focus bug where a window had the keyboard grabbed when it unmapped (Firefox gmarks extension)

Update Catalan translation

Fix alignment of the titlebar elements when the window icon is placed to the right of the label

Improve placement of child (transient) windows. When their parent is omnipresent, open the child on the current desktop only.

When a window has modal children on another desktop and you try to focus it, bring the modal child to the current desktop to focus it instead

Let you focus cycle to windows with a modal child on another desktop

Fix for not seeing windows change their partial strut

Give iconified windows a faded icon in the focus cycling (Alt-Tab) dialog, and in the client list menus

Make it more difficult to select items by accident in parent menus when it changes direction. Moving the mouse only selects menu entries for a few levels of open menus. Mouse clicks will select menu entries further down.

Add Simplified Chinese translation

Set the current theme in the OB_THEME root property for other applications

Notify ksplash when we have started up if dcop is installed

Allow you to resize the window on the client padding as well as the outer border

Fix to show the focus cycle indicator when focus cycling and there is only 1 valid target

Centre splash screens on one monitor

Don't centre parent-less utility/menu/toolbar windows on the screen

Remove the bottom decorations for fully maximized windows

Fix crash when reconfiguring and no themes can be found

3.3.994 (3.4 preview release)

Fix a bug introduced in .993 that prevented you from switching desktops and caused general mayhem

3.3.993 (3.4 preview release)

Update for Russian translation

Added Dutch translation

Fix for choosing badly sized icons from the window for the window cycling dialog (and other things). (Fixes Pidgin icon)

Open child (transient) windows on the current desktop if they don't have a direct parent, or if the parents are not all on some other desktop. (Fixes Pidgin and Gimp dialogs appearing on the wrong desktop)

Make windows fit within the available space when they are first created, if they are not user-positioned. (Fix xpdf making itself bigger than the space inside the struts, and hiding behind them).

Send iconified windows to the bottom of the focus order so you can Alt-Shift-Tab to get back what you just iconified. This makes things more predictable.

Show the hostname for remotely run programs in iconified titles

Stop focus flicker when sending windows to a desktop and following them, and when changing desktops with an omnipresent window focused

Empty desktop names in the configuration file are not used, so you can set a name on the second desktop without having to set one on the first

Make control key work for menu accelerators like it does for mouse clicking and hitting enter

Add C-A-Up/Down mouse bindings to switch desktops, similar to the C-A-Left/Right/Up/Down keyboard bindings

3.3.992 (3.4 preview release)

Don't move mouse focus when the mouse is over the focus cycling dialog

Fixes for positioning of frame decoration elements

Update for Brazilian Portuguese translation

Improvements in how decorations respond for maximized windows. (If they can't be resized don't "hide" the resizing contexts)

Updated Italian translation

Added Czech translation

Fix for applications that do weird things with modal windows (Make sure you can focus cycle to them)

Updated Spanish translation

Fix for programs using the old WM-spec, and not setting unused fields to 0 in _NET_ACTIVE_WINDOW messages (Rox pinboard)

Fixes for default rc.xml configuration file. Updated comments and comment out the applications section in an xml compatible way.

Update for Portuguese translation

Fix support for window gravity (eg xterm -geometry -0+0)

Fix for libwnck with iconify animation (Unmap the parent of the client's window)

Force the top left corner of new windows onto the screen area, if the position wasn't requested by the user (Fix xpdf and others hiding their titlebar under a panel)

Fix for determining text geometry from Pango

Save the desktop layout and names in the session, and restore them on next log in.

The <desktop> section from the configuration file is only used for defaults, and so is only applied at the start of a new log-in. (Use ObConf 1.6.2 to change the config file for these options, and have them set immediately, if you don't use a session manager to save them.)

Fix updating and crashing in the old split client list menu

Translate the default desktop names

Update Taiwanese Chinese translation

Less restrictions of behavior based on window type (Let you maximize dialogs and utility windows)

Fix for focus tracking when Press mouse actions are used

Fix bug which let the openbox-*-session scripts take command-line arguments

SCIM support in the default Openbox session launched by the openbox-session command

Many code paths made significantly faster.

Sections of code rewritten to be more reliable, such as session save/restore and input focus handling

Handle the X server's clock going backwards, without locking up. Sometimes the server can still lock up though, it is not recommended to do this!

Better handling of window types such as docks, utility windows, tool bar windows. Clicking to focus these windows is done more intelligently. Dock windows no longer get focus when you click them, so that you don't have focus flickering when you use a dock window with a taskbar.

Better language support through Pango, which is now mandatory, and the code for Pango has been greatly improved and optimized.

Support for windows that use true 32-bit transparency

Resize grips (with mouse binding contexts) for the top, left, and right of the window frame

Smarter about keeping windows on the screen without invading user's capabilities

Add MoveFromEdge* actions corresponding to MoveToEdge* but aligns far edges instead of near edges, so if you have two overlapping windows you can easily put them side by side.

Better choice of mouse cursors for startup notification

Focus stealing prevention

Improve window placement across multiple Xinerama monitors

Support 8-bit truecolor visuals (such as in vncserver)

Better, more friendly support for omnipresent windows

Full support for EWMH 1.4-draft2

Iconify/restore animation !

Improved support for running openbox with multiple screens (non-xinerama) - won't steal focus from other screens, and let you focus a screen by clicking on the desktop (root window).

Support for more cursors through XCursor, means that startup notification can use a pointer+watch cursor if you are using an XCursor theme

Fully maximize terminal windows (and any resized-by-increment window)

Show the hostname of clients running on remote computers in the titlebar

When legacy windows raise themselves, interpreate as wanting to be activated. Makes Firefox more pleasant.

Don't show handles on windows that cant resize for more extreme visual minimalism

Let you move maximized windows between Xinerama monitors

Improve application awareness of focus, e.g. Kopete and Firefox, so they know when they are or aren't focused, and which window in their application is focused

Improvements in the distributed themes

Add new Clearlooks and Clearlooks-Olive themes by John McKnight

Fonts are no longer loaded from theme. They are loaded from the rc.xml config file. Font shadow settings are still loaded from the theme though. 5 fonts to be set: ActiveWindow InactiveWindow, MenuHeader, MenuItem and OnScreenDisplay

Distributed theme names have been renamed with Capitalization

menu.items.activedisabled.text.color

menu.border.color (note that globbing might set these properties when you didnt mean to)

window.active.border.color (note that globbing might set these properties when you didnt mean to)

window.inactive.border.color (note that globbing might set these properties when you didnt mean to)

menu.border.width

Guarantee that titlebar buttons are even sized, so even sized icons (button masks) will be centered

Made edge resist and Send/MoveToEdge not hit windows at layers below the current one, add option to disable this behaviour.

Fixed directional focus not getting trapped in omnipresent windows

Fixed focus actions when bound to the mouse, normal focus cycle is always linear and directional focus is totally disabled, it makes no sense anyway, just move the mouse.

Added an option for the raise/lower/raiselower/unshaderaise/shadelower options called group that lets you bind stuff to raise/lower the whole window group. yes

Add various new actions. I haven't updated the web docs yet, but I think I managed to get all of them listed in rc.xsd.

Bugs 1783, 1812, 1863, 1905, 2005, 1957 fixed.

Some translations added. (ca, no, pl, ru, fr)

3.2

Added spanish and swedish translations

Changed "Unnamed Desktop" to "Desktop n" where n is the actual number of the desktop

Hopefully no more of the hanging X totally bug

the fullscreen property now overrides aspect hints, all programs i've tried that use it (mplayer and tvtime) handle the aspect internally anyway, this just makes sure you have black borders all the way to the edge. If this breaks anything for you, let me know.

Added M as an alias for Mod3 in the same manner that W is an alias for Mod4

Added probably too many options and actions

ToggleDockAutohide to toggle the autohide option at runtime, doesn't save it to the config

keepBorder option to set if you want the 1-pixel border when you toggleDecorations

added popupShow and popupPosition to control where and when the move/resize-popup is shown, these go in the resize section of the config popupPosition can be Top or Center, popupShow can be Always, Never or Nonpixel (this is the default).

Added the xorStyle option to change the behaviour of menus along the bottom edge, note that the default is true

warpPointer option in the menu section to control if the mouse cursor is to be warped by openbox when the menu moves to keep on screen to keep the cursor in the same place relative to the menu. (I think i got that right)

Added back the focusLast option (this controls what happens when you change desktops and have followMouse on)

Added an option to set which desktop to start on when you start openbox, firstdesk, for example you might like to set it to 5 if you have a 3x3 grid to start in the middle.

Closed bug #940 (actions dont work on desktops with no client windows)

3.0-rc3

Closed bug #904 (ToggleMaximizeHorz & Vert dont always toggle)

Allow resizing of windows in only vertical/horizontal directions (via Alt-MiddleClick-Drag with the default bindings)

Added intelligence to window cycling and raise/lowering based on window types

Closed bug #902 (Openbox raises gDesklets when clicked). This has the side effect that panels which do not set the ABOVE state (most panels curerntly around) will no longer be kept always on top. You can set the ABOVE state yourself by using the client menu (Alt-RightClick in the default bindings) and selecting the Always on top Layer

Closed bug #907 (window focus is not properly indicated)

Added a focus indicator during focus cycling that is always visible instead of just moving the focus hilight around.