Openbox

Wiki

Introduction
Screen Shots
Contributors
Platforms
Mailing Lists
Downloads
Bug Reports

Changelogs

Stable
Testing

Documentation

Whats new
Using Openbox

F.A.Q.
Openbox Features
Epist Features
Docker
The RC File
Menu File

Submitting a patch
What to do about a bug

Openbox Changelog - Stable branch:

2.2.3: (clear)

* Fix compile errors when the strftime function is not found on the system.

* Fix for installation of the pl locale data.

2.2.2: (clear)

* New checks in configure for Xft versions.

* Add an option to disable the window raise on mouse clicks with the modifierMask.

* Fixed bug in epist which caused an infinate loop when cycling backwards through windows on an empty workspace.

2.2.1: (clear)

* Make configure look for Xft version 2 libraries and use them if they are available.

* Add bitmap button support to all the default styles.

* Change the default premax values to be larger than 0 for clients that map in a maximized state. (avoid a mozilla crash.)

* Fix for clients changing from a non-resizable window to a resizable window.

* Fix bug with mutltibyte fonts being really tiny.

* Stop using Utf8 drawing routines for Xft. These don't work at all for high-ascii letters, which are used in the non-english locales.

* Fix menu redraw bug when dragging them off-screen or under other menus, with Xft fonts.

* Build fixes for xftlsfonts and for openbox on redhat systems.

2.2.0: (clear)

* Allow changing the appearance of buttons with xbm bitmap files. Can be disabled with --disable-bitmap-buttons.

* Added style textures for window.button.pressed.focus/unfocus. See man page for detailed documentation.

2.1.1: (omnibus)

* A build fix for xftlsfonts.

* Add a configuration menu for changing Xft font options, when Xft is compiled in.

2.1.0:

* Improvements in epist (the keygrabber) including bug fixes, more verbose errors when reading epistrc configs, and new options for epist, such as stackedCycling and toggleDecor. (See man epistrc(5) for details.)

* Make alt-right-click resizing work on bottom window handles.

* Drop shadows for fonts, optional. (dropShadowFonts in the rc file).

* GNOME 2 Support. (Fixed problems with Gnome 2 taskbar.)

* Redo borders for styles. Any flat textured object (solid or gradient) can add "border" to its texture and then its ".borderColor" resource will be used for a 1 pixel-wide border around the element.

* Add an optional Sticky button for window titlebars. It can be added by putting an 'S' in your titlebarLayout.

* Fix SendTo menus. They would keep workspaces that had been deleted.

* Fixes for workspace switching. Putting old code back.

* Fixes for workspace warping. Window and mouse would move slightly out of sync, as one motion event would get dropped. Other windows could also be selected for moving during the warp. Now everything works as expected.

* Better workspace changing for sticky windows, don't unmap/remap them, causing them to flicker. But keep sloppy focus working right still.

* Fixed Sloppy Focus-Auto Raise bug, as exibited by fullscreen SDL applications. A frame window would be raised over the app.

* Enforce windows' functionality, so that windows that aren't suppoosed to be able to perform actions, such as iconify, can't end up being iconified anyhow. (Fixes the "Desktop Access" feature in KDE.)

* Fix window gravity handling for an application resizing (ConfigureRequest event for resize only).

* Fix support for the Shape extension.

* Fix for recognizing kde systray windows unmapping.

2.0.0:

* Add an rc option (modiferMask) to allow changing which modifier combo Openbox uses for mouse interation with windows.

* Add an rc option (rootScrollDirection) to specify the direction the workspaces scroll when using the mouse wheel on the root window.

* Add a new checkmark pixmap in the menus to denote selected items, instead of the old colored box.

* Add "workspace warping" while moving a window. (Grab a window and move it past the edge of the screen, so that your mouse pointer hits the edge, and you'll flip to the next workspace.

* Add options intheconfig menu for ignoring shaded and full-maximized windows when placing new windows.

* Style extension for flatborder texture type.

* Add a window-snapping offset (edgeSnapOffset in the rc file).

* Window resistance snapping (specified with windowToWindowSnap and windowToEdgeSnap in the rc file).

* Sticky windows appear in the workspace menus for all workspaces, and generally behave like a normal window, except appearing on all workspaces.

* Xft font support for styles.

* Xinerama support for window placement, maximization, and snapping (compile with --enable-xinerama).

* NETWM/EWMH Support.

* KDE 3 Support.

* window zone resizing (specified by resizeZones in the rc file). Allows you to resize a window in 2 halves or 4 quarters.

* Allow any style settings to be placed in the rc file, where they will override all styles (especially useful for the rootCommand or fonts).

* Makes the ~/.openbox dir for you if it doesn't exist.

* Window-to-window snapping (including corner snapping!).

* Properly save/restore your menu position when Openbox reconfigures (e.g. when changing styles).

* Disable the current workspace in the send-to menu.

* Added UnderMouse window placement algorithm/type.

* Added ClickMouse window placement algorithm/type.

* Added a runtime option for hiding the toolbar.

* Custom ordering of windows' titlebar elements with a titlebarLayout option added to the rc file.

* Rolling the mouse wheel on a window's title bar will shade/unshade the window. rolling the mouse wheel on the root window will change workspaces.

* Better handling of the rc file and its configuration options. The file is written each time an option in the file is changed, instead of being written at shutdown. This means that you can edit the file by hand while in Openbox, and then choose reconfig or restart to have it use the new rc file.

* Changed the default configuration file from ~/.blackboxrc to ~/.openbox/rc.

* Changed the menu from an rcfile option to a command-line option. use 'openbox -menu ' to select an alternate menu. The default menu used is ~/.openbox/menu. If the default, or the file you specify does not exist, the global menu is tried. And if the global menu also does not exist, a simple, internal menu is used instead.


Now forked off of the blackbox-0.65.0 source tree.

1.2.4: (epiphany)

* fix redraw issue when resizing, pixmaps were being redrawn too early and so being tiled.

* fix a resize bug where a window would be resized smaller than it was supposed to.

1.2.3:

* properly map iconified windows, especially on restart. (bbkeys stays iconified.)

* fix bug where iconic sticky windows would randomly not be iconified when they were mapped.

* snap windows to the slit as well as toolbar, and to the screen edges also. (Only when Full Max is off.)

* new options: snap windows to other windows, and snap windows to other windows' corners.

* fix some off-by-one window placement problems.

* Fix bug where bbtools could end up with an extra window when deleting a sticky window.

* better allow windows to set sticky on startup.

* use a different method to focus the root window as the focus fallback.

1.2.2:

* ignore fully maximized windows while placing new windows.

* change cascade's behavior to be less likely to place over a window and to reset when the workspace is empty.

* fixes for bsetroot support of Eterm/Esetroot atoms.

* make reconfigure save where you are in the menu properly, and restore it as best it can (i.e. it used to save only 1 level, now it saves them all).

* fix bug when removing a workspace with windows. (stl misuse, an iterator became invalidated.)

* back out all changes for sticky windows as it is not about to work. This will be implemented in the next development series instead. Use a slightly improved focus model for sticky windows, in the meantime.

1.2.1:

* fix compiling with --disable-slit and --disable-nls.

* better sticky windows behavior. Sticky windows appear in the window lists on all workspaces and obey focus order rules on each workspace the same as non-sticky windows.

* make reconfigure reset the timeout values for windows, the slit, and the toolbar, so that a new autoRaiseDelay value will take effect without having to restart.

* fix for loading the autoRaiseDelay value.

1.2.0:

* fix off-by-one window resizing bug.

* fix for slit menu not using the correct style when the style changed.

* changed the menu from an rcfile option to a command- line option. use 'openbox -menu ' to select an alternate menu. The default menu used is ~/.openbox/menu. If the default, or the file you specify does not exist, the global menu is tried. And if the global menu also does not exist, a simple, internal menu is used instead.

* make bsetroot behave properly with Eterm/Esetroot.

* new version of bsetroot ported from blackbox cvs with intent to support Eterm/Esetroot.

* new version of bsetbg.

* fix the 'wrong window move' bug displayed by apps such as bbkeys.

* fix bug when removing and then readding a titlebar button without restarting (by reconfiguring).

* more focus code changes. also fixes a segfault from last round of focus changes.

* make image dithering value load correctly.

* fix segfault with multiple screens.

1.1.0:

* improved focused window logic to remove a segfault when the focused window on an inactive workspace closes, and focusLastWindow is enabled.

* bsetroot supports transparent applications by setting the xrootpmap_id property on the root window.

* added ClickMouse window placement algorithm/type.

* added UnderMouse window placement algorithm/type.

* improved logic for decorating windows when the decoration level is changed.

* fix positioning of the window menu.

* save the titlebarLayout in the default config file.

* gcc 3 compatibilty.

1.0.0:

* maximizing windows takes the slit into account as well as the toolbar when 'Full Maximization' is off.

* better handling of the rc file and its configuration options. The file is written each time an option in the file is changed, instead of being written at shutdown. This means that you can edit the file by hand while in Openbox, and then choose reconfig or restart to have it use the new rc file.

* added a runtime option for hiding the toolbar.

* made shaded windows edge-snap correctly to the bottom for their size instead for their unshaded size.

* added BestFit window placement algorithm/type.

0.99.1:

* forced a redraw of the close button after pressing it. Some applications (eg. acroread) ignore the close request and you end up with a funky close button.

0.99.0:

* renamed header files from *.hh to *.h.

* fix clipping of the date/time in the toolbar with proportional fonts.

* added a --enable-clobber configuration option to allow users to run off the event clobbering taking place so that Openbox wont grab mouse events when num lock or scroll lock are on.

* window menu is inconsistant in that other menus ignore mouse button 2, but it did not, because of the maximize option. Now all options in the window menu ignore mouse button 2 to be consistant.

* changed the default configuration file from ~/.blackboxrc to ~/.openbox/rc.

* ignore fully-maximized windows when smart placing windows.

* windows snaps to both sides of the screen's edge, i.e. they have double the snapping area, half inside and half outside the visible screen.

* a rootCommand per-screen in the rc file which will override the rootCommand in styles for that screen.

* rolling the mouse wheel on a window's title bar will shade/unshade the window. rolling the mouse wheel on the root window will change workspaces.

* new button press/release code in Window class, gives window buttons more consistent behavior.

* custom ordering of windows' titlebar elements with a titlebarLayout option added to the rc file.

* when resizing a window in non-opaque mode, fixed the drawn rectangle so that it is drawn entirely within the bounds of the new window. it used to be drawn in the area of the window + 1.

* changed the background of the toolbar's workspace label when it is being edited. The text color being used was that of the active window label, but the background remained that of the toolbar. Changed to use the background of the active window label.

* added windowZones to the rc file specifying the number of zones to divide a window into for alt-drag resizing, and code to resize windows with the number of zones specified.