summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-10Add support for loading SVG icons using librsvg.Dana Jansens
This adds a configure option --disable-librsvg, but defaults to using the library if it is present during configure. When enabled, Openbox will attempt to load svg image files using the library, similar to how Imlib2 is used for other image formats. Since librsvg uses the libXml2 library, their errors end up in the same global namespace as Openbox config file parsing. To avoid this, we reset the libXml current error whenever we start loading a file, and save the last error that occurred when we are finished, by storing the error in the ObtXmlInst.
2013-08-10Add autopoint to README.GIT list of packagesDana Jansens
2013-08-11Fix a typo that prevented setting client size for the height only (???)Mikael Magnusson
2013-08-11Convert two // to /*Mikael Magnusson
2013-06-07Constrain the moveresize popup to the monitor which has the clientMikael Magnusson
2013-06-07Rename bounds to monitor in place_overlap and move a constMikael Magnusson
2013-04-23Fix least overlap to fall back to the chosen monitor, not (0,0).Mikael Magnusson
2013-04-23We forgot to count the dock in LeastOverlapMikael Magnusson
2013-04-17Remove some evil tabsMikael Magnusson
2012-10-06Refactor the per-app parsing code into a helper function and reduce nesting ↵Dana Jansens
by 2 levels
2012-10-06Make MoveResizeTo work on the dimensions of the frame, not the clientDana Jansens
2012-10-06Allow application rules to control window size (Fix bug 4661)Dana Jansens
Use the following in your per-app rules: <size> <width>A</width> <height>B</height> </size> A and B can be integer values to specify a size in pixels. They can also be percentages or fractions to be relative to the size of the monitor the window is placed on.
2012-10-06Remove now-unused config_place_center option.Dana Jansens
The new LeastOverlap placement doesn't use this option, and it kind of defeats the purpose of the algorithm.
2012-10-06When an undecorated window is maximized give it a 1px border at the top (Fix ↵Dana Jansens
bug 5506) We want to keep some way for a user to re-decorate the window with the default bindings. However with a large border width, the top border is much bigger than it needs to be! So make it fixed at 1px large in this case.
2012-10-06Allow non-interactive focus cycling.Dana Jansens
Adds an <interactive>bool</interactive> option to the NextWindow and PreviousWindow actions. When it is false, the action is not interactive and will immediately switch focus to whatever the next focus target is. Removing the "interactive" flag from the focus_cycle() method, as it was unused previously, and the new code does not make use of it either. In order to be non-interactive it simply starts a focus_cycle then immediately ends it when the action ends. The "interactive" flag in focus_cycle() forced a linear cycling order which may not be what you want, so the new method is preferrable anyhow.
2012-10-06Don't let autostart checking for background-setting tools end up in logs ↵Dana Jansens
(Fix bug 5186)
2012-10-06Add a $pointer execute variable substitution and make $wip and $pid ↵Dana Jansens
consistent (Fix bug 5758) $wip and $pid would output values for the current target window if there was one, but output nothing at all if there wasn't making the output difficult to parse. Changed to make these always output a 0 if there is no target. Added a $pointer variable that is replaced with the x and y coordiates of the pointer, separated by a space. Inspired by the work of Denis Kaganovich <mahatma@eu.by>.
2012-10-06Remove unused variableDana Jansens
2012-10-06Fix duplicate const warningDana Jansens
2012-10-06Fix some namings and xml formatting in rc.xml and rc.xsdDenis Kaganovich
2012-10-06When a window is the focus target and it is removed from the focus order, ↵Dana Jansens
reset the focus cycling (Fix bug 5410) We were only doing this if a dialog was showing. But if it's the target, then a dialog is not relevant, we should always recompute the focus cycling. This avoids a crash when not using a dialog and closing a window during cycling.
2012-10-06Fix negative ResizeRelative values with terminal windows (Fix bug 5228)Dana Jansens
Inspired by patches from Brian Mock <mock.brian@gmail.com>.
2012-10-06Get the window's title in the fake-managed case since we apply app rule ↵Dana Jansens
matching (Fix bug 5277)
2012-10-06Print error message to stderr (Fix bug 5731)Xin Wang
As stdout is redirected to /dev/null by some DMs, we need to print error messages to stderr.
2012-10-06Address a couple bugs in rc.xsd (Fix bug 5746)Denis Kaganovich
2012-10-06Make .desktop files obey specs where possible (Fix bug 5737)Julian Ospald
2012-10-06Allow windows created by execute actions to steal focus if the user isn't ↵Dana Jansens
interacting with another window (Fix bug 5419). When the execute action was run, we would say that the user had used the focused at that time. Then when a new window popped up, we'd think the user was busy in the current window and prevent the new one from steal focus. Now the execute action does not update the "user interacted with the focused window" timestamp anymore. So, if they aren't currently typing in some window when they trigger an execute action, and the window appears, it will steal focus.
2012-10-06Allow window matching based on the group leader's name and class (Fix bug 5721)Dana Jansens
In Openbox 3.4 we used the group leader's WM_CLASS value when it was available. This prevents windows in the group from overriding with a specific value, however which is bad. More rationale can be found in http://icculus.org/pipermail/openbox/2010-September/006790.html Some applications (eg. Firefox) use command line flags to set the WM_CLASS property on the group leader but do not change the property on the mapped windows themselves. This makes matching these windows not possible in Openbox 3.5. We resolve this by exposing the group's WM_CLASS values alongside the individual window's values. We add _OB_APP_GROUP_NAME and _OB_APP_GROUP_CLASS properties along with "groupname" and "classname" attributes for the rc.xml application tag.
2012-10-06Allow loading of menu files outside of your XDG_CONFIG_HOME (Fix bug 5711)Dana Jansens
When the given file name can not be found in your XDG_CONFIG_HOME, ie in ~/.config/openbox, then try the file name directly. This means if you specify a menu file such as "/home/dana/helloworld.xml", openbox will try, in order: 1) ~/.config/openbox/home/dana/helloworld.xml 2) /home/dana/helloworld.xml And it will load the file you meant when it tries the second one.
2012-10-06Make LeastOverlap placment replace the behaviour of Smart and address style nitsDana Jansens
2012-10-06LeastOverlap placement option (Fix bug 5385)Ian Zimmerman
Adds a new placement algorithm that finds a place on the monitor that overlaps the least amount of windows as possible. Original patch by Ian Zimmerman <itz@buug.org>. Port to Openbox 3.5 by David Vogt <dv@adfinis.c>.
2012-10-06Use the nearest monitor when the search query rect does not intersect any ↵Dana Jansens
monitor (Fix bug 5500) Previously we would try to find the primary monitor and use that when the search was outside any monitor. However, if the primary monitor is chosen by the mouse position and the mouse is not inside any monitor, we enter infinite recursion trying to find the primary monitor. The nearest monitor is a better metric anyhow, and this ensures screen_find_monitor() is never recursive as it always returns a value without depending on other screen.c methods.
2012-10-06Don't edge-warp with the cursor based on a monitor that does not contain the ↵Dana Jansens
pointer (Fix bug 4992)
2012-10-06Pick the monitor most relevant to a rectangle more cleverly.Dana Jansens
When monitors overlap (this happens with cloning), we were choosing a monitor to associate with a window, for maximization for example, somewhat arbitrarily. Now we have a more clever algorithm that considers the configured primary monitor first, and that does not prefer monitors based on their sizes, but only how much of the window is in the monitor, excluding parts that were claimed by another monitor already.
2012-09-30Theme button-specific values should fallback to the button general values ↵Hanno Meyer-Thurow
consistently (Fix bug 5443)
2012-09-30Prompt should not always use the currently focused button as its result (Fix ↵Dana Jansens
bug 5518)
2012-09-30Update manpage to current version. (Fix bug 5444)John Vogel
2012-09-30Don't strip leading whitespace from menu labels (Fix bug 4782)Dana Jansens
2012-09-30Create some Openbox release scriptsDana Jansens
release/bugs: Prints a list of bugs that are mentioned in git commits for a git revision, since previous release. - Very useful for updating the CHANGELOG file! release/go: Tests a git revision for correct compilation, and prepares files for release. - Makes the tarball - Makes a GPG signature for the tarball - Tags the release - Spits out URLs to edit and gives the changelog for copy/paste. release/email: Sends an email to the Openbox mailing list with the changelog and details about the release. Call this with the same parameters used for running release/go once it is finished, and the files are uploaded, etc. - Also emails mikachu re freshmeat.net
2012-09-30Allow client destroy notify functions to be removed based on the data ↵Dana Jansens
associated with them.
2012-09-30Fix prompt cleanup (was not going through the list correctly when freeing items)Dana Jansens
2012-09-30Select the menu item under the mouse when the mouse is moved (Fix bug 5237)Dana Jansens
2012-09-30Make ResizeRelative resize in terms of pixels for windows with resize ↵Dana Jansens
increments (Fix bug 5228) If the resize is less than the window's resize increment then we bump it up to ensure a resize does at least happen.
2012-09-30Make the inactive osd text color fall back to the old osd property, and ↵Dana Jansens
lastly inherit from the unfocused window color.
2012-09-30Allow an xml tag to be unregistered from the xml parser.Dana Jansens
2012-09-30Properly build path names for obt_paths_try_execDana Jansens
2012-09-30add menu_sort_entries() which sorts all entries in an ObMenuDana Jansens
this function sorts each group of entries that appear together between two consecutive separators (or ends of the list)
2012-09-30Add another BSEARCH function that lets you search through an array of objects.Dana Jansens
If you give it a value x, the macro lets you pull a value out of each object that you want to compare to x.
2012-09-30skip empty strings when splitting paths in the environmentDana Jansens
2012-09-30hide the menus before shutting them down on reconfigureDana Jansens