dana/openbox.git
5 years agoFix gcc warnings in screen.c
Rafael Ignacio Zurita [Thu, 9 Jan 2014 14:49:00 +0000 (11:49 -0300)]
Fix gcc warnings in screen.c

5 years agoAdded missing break statement (Bug 6043)
Markus Roesch [Wed, 1 Jan 2014 12:25:31 +0000 (13:25 +0100)]
Added missing break statement (Bug 6043)

5 years agoAdd a strict option to the ToggleShowDesktop action
Dana Jansens [Sun, 8 Sep 2013 17:39:59 +0000 (13:39 -0400)]
Add a strict option to the ToggleShowDesktop action

When the strict option is used, normal windows are not able to show themselves
while showing the desktop.

5 years agoPortuguese update for openbox
Sérgio Marques [Fri, 6 Sep 2013 08:51:02 +0000 (09:51 +0100)]
Portuguese update for openbox

5 years agoAllow FillToEdge to grow when all its edges are blocked.
Dana Jansens [Sun, 1 Sep 2013 21:37:53 +0000 (17:37 -0400)]
Allow FillToEdge to grow when all its edges are blocked.

This change points out how useless the return value from client_find_resize_directional()
was, so it also removes that.

When all edges are blocked, the FillToEdge action will try to grow all four edges agin
without blocking any of them on their current edge. This more closely matches the
behaviour of the GrowToEdge action.

5 years agoClean up the FillToEdge action implementation
Dana Jansens [Sun, 1 Sep 2013 20:48:39 +0000 (16:48 -0400)]
Clean up the FillToEdge action implementation

This extend the client_find_resize_directional() method to support
two growing modes, and return a bool for whether it was able to grow/shrink.

The client_find_resize_directional() method now takes an enum instead
of a bool, with two growing modes. The old mode which always tries to
grow, the a new mode that will only grow if the client's edge is not
already at a grow stopping point (ie against the edge of another window).

5 years agoCreated a 'GrowToFill' action. (Bug 3356)
Lucas Augusto Deters [Sat, 28 Aug 2010 05:21:18 +0000 (02:21 -0300)]
Created a 'GrowToFill' action. (Bug 3356)

5 years agoUse the BSEARCH() macro in overlap placement
Dana Jansens [Sun, 1 Sep 2013 19:17:11 +0000 (15:17 -0400)]
Use the BSEARCH() macro in overlap placement

Currently the code rolls its own binary search, but now that we have
a well-tested binary search implementation in obt/ we can make use
of that.

5 years agoFix bugs and add unit tests for BSEARCH()
Dana Jansens [Sun, 1 Sep 2013 18:54:51 +0000 (14:54 -0400)]
Fix bugs and add unit tests for BSEARCH()

Also adds running unit tests to the release/go script so we can be
sure that all tests pass before we make a release.

5 years agoFix nits for overlap placement center option
Dana Jansens [Sun, 1 Sep 2013 15:49:06 +0000 (11:49 -0400)]
Fix nits for overlap placement center option

5 years agoAdd the old <center> option for the placement policy. (Bug 5946)
Ian Zimmerman [Sat, 17 Aug 2013 23:08:25 +0000 (16:08 -0700)]
Add the old <center> option for the placement policy. (Bug 5946)

Original commit messages:
. Reformat to move closer to house style
. Add center on top of leat overlap place algo
. Add sentinel value to edge arrays
. Use a Size instead of a Rect for a centering field
. Fix off by one bug
. Need to declare dx and dy
. Pass length of edge array instead of recomputing
. Fix missing open-brace in config.c
. Address the more trivial subset of danakj comments
. Revert "Remove now-unused config_place_center option."
  This reverts commit 5e282dae08be3b900e0337efa0fae8f3ffa92cd7.
. Remove reliance on sentinel value when scanning edge arrays
. Avoid need to initialize Size structure by removing it :)
. Clean up field expansion code somewhat
. Compress code further by using a structure for common args
. Fix search for next grid point
. Squeeze it even more by not using Size at all

5 years agoFix gcc warnings
Ian Zimmerman [Sat, 17 Aug 2013 22:13:05 +0000 (15:13 -0700)]
Fix gcc warnings

5 years agoFix a typo causing submenuShowDelay to be ignored (Bug 6019)
Tom Sires [Tue, 27 Aug 2013 13:02:31 +0000 (08:02 -0500)]
Fix a typo causing submenuShowDelay to be ignored (Bug 6019)

5 years agoAdd window type to If as well
Mikael Magnusson [Mon, 19 Aug 2013 01:25:40 +0000 (03:25 +0200)]
Add window type to If as well

This one required some extra helpers so is separate commit

5 years agoAllow matching class, name and role in If action
Mikael Magnusson [Mon, 19 Aug 2013 00:40:21 +0000 (02:40 +0200)]
Allow matching class, name and role in If action

5 years agoAdd ForEach action which is like If but runs on all clients
Mikael Magnusson [Sun, 18 Aug 2013 22:03:51 +0000 (00:03 +0200)]
Add ForEach action which is like If but runs on all clients

Also adds a Stop action that lets you stop running, in case you only
want to run actions on the first match.

5 years agoRemove the else-on-newline rule from HACKING
Dana Jansens [Mon, 19 Aug 2013 00:03:46 +0000 (20:03 -0400)]
Remove the else-on-newline rule from HACKING

5 years agoAdd queries to If actions
Dana Jansens [Sun, 18 Aug 2013 23:29:05 +0000 (19:29 -0400)]
Add queries to If actions

This allows the If action to run queries against a client other than
the target of the actions being run, for example to check state on
the focused window while performing actions on another window during
focus cycling.

The syntax looks like

<action name="If">
  <query target="default">
    <title>FooBar</title>
    <maximized>yes</maximized>
  </query>
  <query target="focus">
    <desktop>3</desktop>
  </query>
  <then>
   <action name="NextDesktop"/>
  </then>
</action>

The above checks the client window that the actions will run on to
verify that its title is "FooBar" and that it is maximized. If that
is true, it also checks that the currently focused client window is
on desktop 3. If that is true also, then it runs the NextDesktop
action.

The target="" option can be set to "default" which uses the client
window that the actions will run on, or it can be "focus" which uses
the client window that is currently focused.

The <query> tag is optional, and the conditions inside the query can
be placed directly inside the If <action> tag, as they were before
this change. In that case, a default <query> tag is assumed with
target="default" which matches the previous behaviour.

Multiple <query> tags can be present, and they must all be true in
order to run the actions in <then>. If any one is false, the actions
in <else> will be run instead.

5 years agoUpdate HACKING for brace rules
Dana Jansens [Sun, 18 Aug 2013 22:11:26 +0000 (18:11 -0400)]
Update HACKING for brace rules

The rules in HACKING for braces are kind of unclear, so add some
more rules and provide examples too.

5 years agoAdd a note to add the version to the bug tracker for new releases.
Dana Jansens [Mon, 12 Aug 2013 20:52:48 +0000 (16:52 -0400)]
Add a note to add the version to the bug tracker for new releases.

Also important to update IRC and keep hydrated.

5 years agoUpdate po files for 3.5.2 release-3.5.2
Dana Jansens [Mon, 12 Aug 2013 01:30:20 +0000 (21:30 -0400)]
Update po files for 3.5.2

5 years agoAdd CHANGELOG for 3.5.2
Dana Jansens [Mon, 12 Aug 2013 01:28:22 +0000 (21:28 -0400)]
Add CHANGELOG for 3.5.2

5 years agoUpdate version in configure.ac to 3.5.2
Dana Jansens [Mon, 12 Aug 2013 01:26:08 +0000 (21:26 -0400)]
Update version in configure.ac to 3.5.2

No library interfaces were changed since 3.5.1.

5 years agoMaximized undecored windows have incorrect top border. (Bug 5996) origin/work
Dana Jansens [Sun, 11 Aug 2013 20:37:14 +0000 (16:37 -0400)]
Maximized undecored windows have incorrect top border. (Bug 5996)

If the window has no border since the theme has bwidth=0, or because the
window is truly undecorated via MWM hints, then we should not allocate space
for the frame of the window which will just be empty pixels.

5 years agowindow.inactive.label.text.color should default to white.
Dana Jansens [Sun, 11 Aug 2013 20:12:25 +0000 (16:12 -0400)]
window.inactive.label.text.color should default to white.

Currently it defaults to itself, which is NULL, and causes a crash.

The spec http://openbox.org/wiki/Help:Themes#window.inactive.label.text.color
claims that the default is white.

In 98b02c6b60bbde2a5db026b3ee3e6e6dc44d1a92 we had this property being read
twice, once with the NULL backup and once with white. It seems that we kept
the wrong one, so just switching this to white now.

5 years agoFix a write out of bounds in splitvertical gradients (Bug 3612)
Dana Jansens [Sun, 11 Aug 2013 20:04:50 +0000 (16:04 -0400)]
Fix a write out of bounds in splitvertical gradients (Bug 3612)

If the gradient has height 1, then y1sz is 0. We don't want to use the
first color and move the data pointer, since this will move it past the
end of the array.

5 years agoWe use congfigure.ac not configure.am release-3.5.1
Dana Jansens [Sun, 11 Aug 2013 18:43:48 +0000 (14:43 -0400)]
We use congfigure.ac not configure.am

5 years agoFix some compiler warnings
Dana Jansens [Sun, 11 Aug 2013 18:39:26 +0000 (14:39 -0400)]
Fix some compiler warnings

Void function should actually be declared void. Not-reached switch
condition should still return something.

5 years agoUpdate line numbers in po files
Dana Jansens [Sun, 11 Aug 2013 17:47:53 +0000 (13:47 -0400)]
Update line numbers in po files

5 years agoChange "plain" to "exact" for If's <title>
Mikael Magnusson [Sun, 11 Aug 2013 17:26:52 +0000 (19:26 +0200)]
Change "plain" to "exact" for If's <title>

5 years agoUpdate CHANGELOG
Mikael Magnusson [Sun, 11 Aug 2013 14:24:29 +0000 (16:24 +0200)]
Update CHANGELOG

5 years agoAdd matching which monitor the client is on in the If action (Bug 5426)
Mikael Magnusson [Sun, 11 Aug 2013 13:47:31 +0000 (15:47 +0200)]
Add matching which monitor the client is on in the If action (Bug 5426)

5 years agoUse enum value for monitor in MoveToCenter
Mikael Magnusson [Sun, 11 Aug 2013 13:45:48 +0000 (15:45 +0200)]
Use enum value for monitor in MoveToCenter

5 years agoLet the If action match window titles with GRegex
Mikael Magnusson [Sat, 14 Aug 2010 23:36:10 +0000 (01:36 +0200)]
Let the If action match window titles with GRegex

5 years agoUse a helper function to make if.c a bit shorter
Mikael Magnusson [Sat, 9 Oct 2010 22:41:29 +0000 (00:41 +0200)]
Use a helper function to make if.c a bit shorter

5 years agoAdd activedesktop to If
Mikael Magnusson [Sat, 9 Oct 2010 22:41:10 +0000 (00:41 +0200)]
Add activedesktop to If

5 years agoDock used showDelay for both hiding and showing (Bug 5811)
Lefteris Chatzimparmpas [Sun, 11 Aug 2013 12:45:29 +0000 (14:45 +0200)]
Dock used showDelay for both hiding and showing (Bug 5811)

5 years agoAllow specifying only one of width and height in per-app settings size
Mikael Magnusson [Sun, 11 Aug 2013 12:33:46 +0000 (14:33 +0200)]
Allow specifying only one of width and height in per-app settings size

Fixes bug 5819.

5 years agoFix use after free in error message
Mikael Magnusson [Sun, 11 Aug 2013 10:02:30 +0000 (12:02 +0200)]
Fix use after free in error message

5 years agoAdd some comments in MoveResizeTo code
Mikael Magnusson [Sun, 11 Aug 2013 00:39:14 +0000 (02:39 +0200)]
Add some comments in MoveResizeTo code

5 years agoRemove fuzzy and outdated translations, add plural expressions.
Dana Jansens [Sun, 11 Aug 2013 04:46:48 +0000 (00:46 -0400)]
Remove fuzzy and outdated translations, add plural expressions.

Clean up the .po files for this release. Plural expressions are needed in
all files that have plurals. And replace fuzzy (incorrect) translations
with empty ones instead.

5 years agoMake nplurals=2 in Turkish translation since there are plurals translations
Dana Jansens [Sun, 11 Aug 2013 04:19:50 +0000 (00:19 -0400)]
Make nplurals=2 in Turkish translation since there are plurals translations

The plural should be a c expression that says if n is plural or not.

5 years agoRemove po_PL from LINGUAS as that doesn't exist, should have be pl.po
Dana Jansens [Sun, 11 Aug 2013 04:18:10 +0000 (00:18 -0400)]
Remove po_PL from LINGUAS as that doesn't exist, should have be pl.po

5 years agoFix format specifications in Interlingua translation
Dana Jansens [Sun, 11 Aug 2013 04:17:40 +0000 (00:17 -0400)]
Fix format specifications in Interlingua translation

5 years ago3.5.1 changelog
Dana Jansens [Sun, 11 Aug 2013 04:16:05 +0000 (00:16 -0400)]
3.5.1 changelog

5 years agoNew Polish translation was an update to existing one.
Dana Jansens [Sun, 11 Aug 2013 04:15:28 +0000 (00:15 -0400)]
New Polish translation was an update to existing one.

Move the po_PL.po file to pl.po as it should have been named.

5 years agoRemove Imlib2 mention from po files
Dana Jansens [Sun, 11 Aug 2013 04:08:58 +0000 (00:08 -0400)]
Remove Imlib2 mention from po files

5 years agoRemove deprecated and unneeded g_type_init call.
Dana Jansens [Sun, 11 Aug 2013 03:46:01 +0000 (23:46 -0400)]
Remove deprecated and unneeded g_type_init call.

5 years agoRemove unneeded obrender/button.h
Dana Jansens [Sun, 11 Aug 2013 03:45:42 +0000 (23:45 -0400)]
Remove unneeded obrender/button.h

5 years agoUpdate version to 3.5.1.
Dana Jansens [Sun, 11 Aug 2013 03:42:20 +0000 (23:42 -0400)]
Update version to 3.5.1.

obrender broke backward compatibility by changing the layout of the
theme structure.

obt broke backward compatibility by changing the method signature of
some keyboard methods.

Both libraries added some new methods as well.

5 years agoMove shortcuts to latin characters in Greek translation
Dana Jansens [Sun, 11 Aug 2013 03:35:04 +0000 (23:35 -0400)]
Move shortcuts to latin characters in Greek translation

The _ keyboard shortcut in menus only works on latin characters.

5 years agoMove shortcuts to latin characters in Hebrew translation
Dana Jansens [Sun, 11 Aug 2013 03:25:39 +0000 (23:25 -0400)]
Move shortcuts to latin characters in Hebrew translation

The _ keyboard shortcut in menus only works on latin characters.

5 years agoUpdated Italian translation
Davide Truffa [Sun, 11 Aug 2013 03:23:10 +0000 (23:23 -0400)]
Updated Italian translation

5 years agoUpdated Serbian translation
Jay A. Fleming [Sun, 11 Aug 2013 03:21:35 +0000 (23:21 -0400)]
Updated Serbian translation

5 years agoUpdated Spanish translation
Gerardo Seguin [Sun, 11 Aug 2013 03:18:17 +0000 (23:18 -0400)]
Updated Spanish translation

5 years agoUpdated Czech translation
David Kolibáč [Sun, 11 Aug 2013 03:12:09 +0000 (23:12 -0400)]
Updated Czech translation

5 years agoUpdate Hungarian translation
Laszlo Dvornik [Sun, 11 Aug 2013 03:10:32 +0000 (23:10 -0400)]
Update Hungarian translation

5 years agoAdd Afrikaans translation
Nicolaas van der Merwe [Sun, 11 Aug 2013 03:08:29 +0000 (23:08 -0400)]
Add Afrikaans translation

5 years agoAdd Romanian translation
remotedot@gmail.com [Sun, 11 Aug 2013 03:06:45 +0000 (23:06 -0400)]
Add Romanian translation

5 years agoUpdated Turkish translation
Muhammet Kara [Sun, 11 Aug 2013 02:59:42 +0000 (22:59 -0400)]
Updated Turkish translation

5 years agoUpdated German translation
Volker Ribbert [Sun, 11 Aug 2013 02:56:54 +0000 (22:56 -0400)]
Updated German translation

5 years agoUpdated Arabic translation
Karim Oulad Chalha [Sun, 11 Aug 2013 02:54:53 +0000 (22:54 -0400)]
Updated Arabic translation

5 years agoAdd Belarusian translation
Mikalai Udodau [Sun, 11 Aug 2013 02:51:00 +0000 (22:51 -0400)]
Add Belarusian translation

5 years agoAdd Interlingua translation
Nik Kalach [Sun, 11 Aug 2013 02:47:07 +0000 (22:47 -0400)]
Add Interlingua translation

5 years agoAdd Hebrew translation
khazarian@fastmail.in [Sun, 11 Aug 2013 02:44:12 +0000 (22:44 -0400)]
Add Hebrew translation

5 years agoUpdated Dutch translation
Pjotr [Sun, 11 Aug 2013 02:39:15 +0000 (22:39 -0400)]
Updated Dutch translation

5 years agoAdd Polish translation
Piotr Strebski [Sun, 11 Aug 2013 02:35:49 +0000 (22:35 -0400)]
Add Polish translation

5 years agoAdd Greek translation
Efstathios Iosifidis [Sun, 11 Aug 2013 02:33:34 +0000 (22:33 -0400)]
Add Greek translation

5 years agoSort po/LINGUAS alphabetically
Dana Jansens [Sun, 11 Aug 2013 02:32:06 +0000 (22:32 -0400)]
Sort po/LINGUAS alphabetically

5 years agoUpdated Lithuanian translation
Algimantas Margevičius [Sun, 11 Aug 2013 02:27:48 +0000 (22:27 -0400)]
Updated Lithuanian translation

5 years agoChange the message about no icons in menus.
Dana Jansens [Sun, 11 Aug 2013 02:24:08 +0000 (22:24 -0400)]
Change the message about no icons in menus.

The message used to mention Imlib2, but now there are two libraries
that can be used to support icons. So make the message more generic
and show it only when both libraries are not present.

5 years agoAdd support for loading SVG icons using librsvg.
Dana Jansens [Sun, 11 Aug 2013 00:46:27 +0000 (20:46 -0400)]
Add support for loading SVG icons using librsvg.

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.

5 years agoAdd autopoint to README.GIT list of packages
Dana Jansens [Sat, 10 Aug 2013 16:29:26 +0000 (12:29 -0400)]
Add autopoint to README.GIT list of packages

5 years agoFix a typo that prevented setting client size for the height only (???)
Mikael Magnusson [Sun, 11 Aug 2013 00:07:32 +0000 (02:07 +0200)]
Fix a typo that prevented setting client size for the height only (???)

5 years agoConvert two // to /*
Mikael Magnusson [Sun, 11 Aug 2013 00:03:23 +0000 (02:03 +0200)]
Convert two // to /*

5 years agoConstrain the moveresize popup to the monitor which has the client
Mikael Magnusson [Tue, 23 Apr 2013 20:29:58 +0000 (22:29 +0200)]
Constrain the moveresize popup to the monitor which has the client

5 years agoRename bounds to monitor in place_overlap and move a const
Mikael Magnusson [Tue, 23 Apr 2013 19:34:58 +0000 (21:34 +0200)]
Rename bounds to monitor in place_overlap and move a const

6 years agoFix least overlap to fall back to the chosen monitor, not (0,0).
Mikael Magnusson [Thu, 18 Apr 2013 13:36:56 +0000 (15:36 +0200)]
Fix least overlap to fall back to the chosen monitor, not (0,0).

6 years agoWe forgot to count the dock in LeastOverlap
Mikael Magnusson [Wed, 17 Apr 2013 11:42:27 +0000 (13:42 +0200)]
We forgot to count the dock in LeastOverlap

6 years agoRemove some evil tabs
Mikael Magnusson [Tue, 11 Jan 2011 17:12:01 +0000 (18:12 +0100)]
Remove some evil tabs

6 years agoRefactor the per-app parsing code into a helper function and reduce nesting by 2...
Dana Jansens [Tue, 2 Oct 2012 02:04:14 +0000 (22:04 -0400)]
Refactor the per-app parsing code into a helper function and reduce nesting by 2 levels

6 years agoMake MoveResizeTo work on the dimensions of the frame, not the client
Dana Jansens [Sun, 7 Oct 2012 01:35:42 +0000 (21:35 -0400)]
Make MoveResizeTo work on the dimensions of the frame, not the client

6 years agoAllow application rules to control window size (Fix bug 4661)
Dana Jansens [Tue, 2 Oct 2012 01:43:56 +0000 (21:43 -0400)]
Allow application rules to control window size (Fix bug 4661)

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.

6 years agoRemove now-unused config_place_center option.
Dana Jansens [Tue, 2 Oct 2012 02:39:39 +0000 (22:39 -0400)]
Remove now-unused config_place_center option.

The new LeastOverlap placement doesn't use this option, and it kind of defeats
the purpose of the algorithm.

6 years agoWhen an undecorated window is maximized give it a 1px border at the top (Fix bug...
Dana Jansens [Mon, 1 Oct 2012 04:32:39 +0000 (00:32 -0400)]
When an undecorated window is maximized give it a 1px border at the top (Fix 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.

6 years agoAllow non-interactive focus cycling.
Dana Jansens [Tue, 2 Oct 2012 02:32:59 +0000 (22:32 -0400)]
Allow non-interactive focus cycling.

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.

6 years agoDon't let autostart checking for background-setting tools end up in logs (Fix bug...
Dana Jansens [Mon, 1 Oct 2012 04:53:57 +0000 (00:53 -0400)]
Don't let autostart checking for background-setting tools end up in logs (Fix bug 5186)

6 years agoAdd a $pointer execute variable substitution and make $wip and $pid consistent (Fix...
Dana Jansens [Tue, 2 Oct 2012 00:20:15 +0000 (20:20 -0400)]
Add a $pointer execute variable substitution and make $wip and $pid 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>.

6 years agoRemove unused variable
Dana Jansens [Mon, 1 Oct 2012 05:04:41 +0000 (01:04 -0400)]
Remove unused variable

6 years agoFix duplicate const warning
Dana Jansens [Tue, 2 Oct 2012 15:36:31 +0000 (11:36 -0400)]
Fix duplicate const warning

6 years agoFix some namings and xml formatting in rc.xml and rc.xsd
Denis Kaganovich [Sun, 7 Oct 2012 00:53:36 +0000 (20:53 -0400)]
Fix some namings and xml formatting in rc.xml and rc.xsd

6 years agoWhen a window is the focus target and it is removed from the focus order, reset the...
Dana Jansens [Mon, 1 Oct 2012 03:42:16 +0000 (23:42 -0400)]
When a window is the focus target and it is removed from the focus order, 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.

6 years agoFix negative ResizeRelative values with terminal windows (Fix bug 5228)
Dana Jansens [Mon, 1 Oct 2012 04:11:04 +0000 (00:11 -0400)]
Fix negative ResizeRelative values with terminal windows (Fix bug 5228)

Inspired by patches from Brian Mock <mock.brian@gmail.com>.

6 years agoGet the window's title in the fake-managed case since we apply app rule matching...
Dana Jansens [Mon, 1 Oct 2012 03:24:45 +0000 (23:24 -0400)]
Get the window's title in the fake-managed case since we apply app rule matching (Fix bug 5277)

6 years agoPrint error message to stderr (Fix bug 5731)
Xin Wang [Thu, 16 Aug 2012 23:57:08 +0000 (07:57 +0800)]
Print error message to stderr (Fix bug 5731)

As stdout is redirected to /dev/null by some DMs, we need to print error
messages to stderr.

6 years agoAddress a couple bugs in rc.xsd (Fix bug 5746)
Denis Kaganovich [Mon, 1 Oct 2012 03:00:24 +0000 (23:00 -0400)]
Address a couple bugs in rc.xsd (Fix bug 5746)

6 years agoMake .desktop files obey specs where possible (Fix bug 5737)
Julian Ospald [Mon, 1 Oct 2012 02:54:18 +0000 (22:54 -0400)]
Make .desktop files obey specs where possible (Fix bug 5737)

6 years agoAllow windows created by execute actions to steal focus if the user isn't interacting...
Dana Jansens [Mon, 1 Oct 2012 02:41:34 +0000 (22:41 -0400)]
Allow windows created by execute actions to steal focus if the user isn't 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.

6 years agoAllow window matching based on the group leader's name and class (Fix bug 5721)
Dana Jansens [Mon, 1 Oct 2012 02:16:10 +0000 (22:16 -0400)]
Allow window matching based on the group leader's name and class (Fix bug 5721)

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.

6 years agoAllow loading of menu files outside of your XDG_CONFIG_HOME (Fix bug 5711)
Dana Jansens [Mon, 1 Oct 2012 01:23:58 +0000 (21:23 -0400)]
Allow loading of menu files outside of your XDG_CONFIG_HOME (Fix bug 5711)

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.