all repos — openbox @ master

openbox fork - make it a bit more like ryudo

9e8813e1
Add include of cairo.h when using librsvg

This should be compatible with both old and new librsvg versions.
Mikael Magnusson mikachu@gmail.com
718b4c75
Update version to 3.6
Mikael Magnusson mikachu@gmail.com
224ecd74
Add missing file so make distcheck passes
Mikael Magnusson mikachu@gmail.com
8bc0dcd7
Merge branch 'master' of git://git.openbox.org/dana/openbox
Mikael Magnusson mikachu@gmail.com
288ef589
Update the gnome-session support for version 3.9.90 in Ubuntu Trusty

This change is not backward compatible unfortunately. The format of
the gnome-session .session files has changed, such that every part
of the session is now listed on the RequiredComponents line.
Dana Jansens danakj@orodu.net
d7568bc0
Special case for unusual monitor setup

When no monitor is at (0,0), the screen rect containing all monitors
is not at the origin, but screen_apply_gravity_point assumes the passed
x/y are relative to the passed area, so adjust them.
Mikael Magnusson mikachu@gmail.com
9e4db4e6
Update CHANGELOG again.
Mikael Magnusson mikachu@gmail.com
d4eb9363
Update Norwegian translation.
Michael Kjelbergvik Thung postlogic@gmail.com
0239b5b6
Clarify versioning comment instructions in configure.ac
Mikael Magnusson mikachu@gmail.com
29a7d9b3
Clean up translation files

Correct obvious and remove other fuzzy translations
Update line numbers
Fill out Language: header correctly (just the filename without the .po)
Mikael Magnusson mikachu@gmail.com
468a7471
Add Galician translation.
Javier Mancebo palleiros@yahoo.es
abe14c88
Update Polish translation.
Jakub Błażejczyk kuboslawik@gmail.com
24bb21a1
Move some more code around to make it shorter
Mikael Magnusson mikachu@gmail.com
35e92e4c
Reduce length of theme.c a bit
Mikael Magnusson mikachu@gmail.com
10c276c6
Make theme.c indentation more locally consistent

Also removes some comments that is just the code with s/_/ /g
Mikael Magnusson mikachu@gmail.com
f1f5610c
Remove wrong code from button mask loading code, bug 6065

The READ_MASK_COPY macro already uses these exact fallbacks, so these
lines just overwrote the custom bitmaps with the default fallback bitmaps.
Mikael Magnusson mikachu@gmail.com
4784b69b
Only add xqueue listener fd once, bug 6326
Mikael Magnusson mikachu@gmail.com
8944094f
Allow selecting menu entries during menuHideDelay if you click again, bug 5501
Mikael Magnusson mikachu@gmail.com
28e85ea2
Move final frame adjust in flashing to timeout func

This possibly avoids badness when the timeout destroy notify is removed
from the frame release func.
Mikael Magnusson mikachu@gmail.com
031e3c13
Make sure to reset all the GSource timer ids

Avoids warnings like 'Source ID 8382 was not found when attempting to
remove it'. In particular some removals were missing in menuframe.c
resulting in a warning being printed every time a submenu was opened.
Mikael Magnusson mikachu@gmail.com
69dc27ed
Update my email address
Mikael Magnusson mikachu@gmail.com
a68c41f5
Fix some compiler warnings for ShowMenu
Mikael Magnusson mikachu@gmail.com
122e2a81
Some fixes found by coverity for things used before a null check

In the second case, we actually check the wrong variable.
Mikael Magnusson mikachu@gmail.com
1491e196
Initialize some stuff to 0 before taking their address
Mikael Magnusson mikachu@gmail.com
0f705cfd
Move assignment to before break, hopefully this doesn't break stuff
Mikael Magnusson mikachu@gmail.com
1387b333
Fix an if statement getting moved into a loop it shouldn't have

Found by coverity code analysis.
Mikael Magnusson mikachu@gmail.com
39619808
Use PANGO_UNDERLINE_SINGLE for rendering shortcuts

The pango docs say to use _LOW for accelerators, but that causes the line
to be drawn beneath the ink extents which for us may be outside the area
that gets displayed and we end up with no line at all. We also don't want
to extend every menu entry with enough space to fit this possible line.
Mikael Magnusson mikachu@gmail.com
d6797e53
Fix compile failure when X_HAVE_UTF8_STRING is not defined
Peter Åstrand astrand@cendio.se
088524f0
Use GString for appending strings

It can take a very long time to print a _NET_WM_ICON property for firefox with the previous code, several minutes. Fixes bug #6042 and also implements the change for append_string.
Mikael Magnusson mikachu@gmail.com
26951b0d
Fix use after free in menu_entry_frame_free
Edward Sheldrake ejsheldrake@gmail.com
130075de
Fix copy paste typo in swap_byte_order
Pascal Terjan pterjan@google.com
7a6c5599
Update CHANGELOG with changes so far
Mikael Magnusson mikachu@gmail.com
bcfc71a6
Make desktop actions noninteractive
Mikael Magnusson mikachu@gmail.com
8543e574
Remove freshmeat related stuff from release script, the site is dead
Mikael Magnusson mikachu@gmail.com
bf5357f9
Clip client rect to monitor bounds while picking a corner for resizing

This way you can actually do everything to it when it's offscreen,
not just resize the one edge that's poking out
Mikael Magnusson mikachu@gmail.com
fe6453b4
Change some while loops to for loops in config.c
Mikael Magnusson mikachu@gmail.com
d6985fd9
Allow specifying several mousebinds in one go, like for keybinds

Also fixes minor indent error
Mikael Magnusson mikachu@gmail.com
6273bf2e
Make RaiseLower work for the dock as well

As a side effect, _NET_RESTACK_REQUEST now also allows specifying the dock as the sibling.
Mikael Magnusson mikachu@gmail.com
7b3dc694
Add keyboard/rebindOnMappingNotify option

I have to switch to a qwerty layout to play steam games, and every time
I switch back and forth, we lose some random bindings so I also had to
reconfigure Openbox every time, now I don't.
Mikael Magnusson mikachu@gmail.com
39dfb745
Pass the GravityPoint as const* instead of by value
Mikael Magnusson mikachu@gmail.com
d3359676
Let the menu placement code know if the position was user specified

This way, it can avoid running the code that moves it to a good position
relative to a mouse that isn't there
Mikael Magnusson mikachu@gmail.com
1b3afcff
Move common gravity application to screen.c
Mikael Magnusson mikachu@gmail.com
c5c5b7b4
Resolve gravity coords in menuframe so it can use the widths
Mikael Magnusson mikachu@gmail.com
238ab3f7
Add <position> tag to ShowMenu action
Mikael Magnusson mikachu@gmail.com
2d289312
Fix negative relative coordinate placement
Mikael Magnusson mikachu@gmail.com
e02c2f41
double space
Mikael Magnusson mikachu@gmail.com
1ea13104
Fix thinko in if.c, *o in Stop can never be pointing at the right place.

Use a file static boolean instead.
Mikael Magnusson mikachu@gmail.com
d8f1ef05
Fix typo in variable name
Mikael Magnusson mikachu@gmail.com
76113b8a
Avoid initializing a VLA of 0 length
Mikael Magnusson mikachu@gmail.com
9fb4b56b
Declare variables at start of blocks in place.c
Mikael Magnusson mikachu@gmail.com
f469a46d
Break loop if is_true was set to false in If
Mikael Magnusson mikachu@gmail.com
a8a2375c
Don't segfault when there's no target in If
Mikael Magnusson mikachu@gmail.com
835ef325
Some fixes in french translation
Mikael Magnusson mikachu@gmail.com
540c53ee
Cache results of offset/shift functions so we don't do 6 function calls per pixel when reducing color depth
Derek Foreman derek.foreman@collabora.co.uk
33caeb55
Fix gcc warnings in screen.c
Rafael Ignacio Zurita rafaelignacio.zurita@gmail.com
c7a458b5
Added missing break statement (Bug 6043)
Markus Roesch markus@roesch.de
7b408bc3
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.
Dana Jansens danakj@orodu.net
adcb7a78
Portuguese update for openbox
Sérgio Marques smarquespt@gmail.com
e6a0beb3
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.
Dana Jansens danakj@orodu.net
f5e9df18
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).
Dana Jansens danakj@orodu.net
f757e744
Created a 'GrowToFill' action. (Bug 3356)
Lucas Augusto Deters deters@inf.ufsc.br
e33c070d
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.
Dana Jansens danakj@orodu.net
047a2014
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.
Dana Jansens danakj@orodu.net
4c071270
Fix nits for overlap placement center option
Dana Jansens danakj@orodu.net
f866c034
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
Ian Zimmerman itz@buug.org
9750e5ce
Fix gcc warnings
Ian Zimmerman itz@buug.org
0afb5b28
Fix a typo causing submenuShowDelay to be ignored (Bug 6019)
Tom Sires tsires@uno.edu
0a7ff45e
Add window type to If as well

This one required some extra helpers so is separate commit
Mikael Magnusson mikachu@gmail.com
1d1fe5e6
Allow matching class, name and role in If action
Mikael Magnusson mikachu@gmail.com
780b2428
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.
Mikael Magnusson mikachu@gmail.com
2d5239b6
Remove the else-on-newline rule from HACKING
Dana Jansens danakj@orodu.net
881076d2
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.
Dana Jansens danakj@orodu.net
98c5205b
Update HACKING for brace rules

The rules in HACKING for braces are kind of unclear, so add some
more rules and provide examples too.
Dana Jansens danakj@orodu.net
f4bad155
Add a note to add the version to the bug tracker for new releases.

Also important to update IRC and keep hydrated.
Dana Jansens danakj@orodu.net
1a9f697f
Update po files for 3.5.2
Dana Jansens danakj@orodu.net
1d34e171
Add CHANGELOG for 3.5.2
Dana Jansens danakj@orodu.net
1f614a70
Update version in configure.ac to 3.5.2

No library interfaces were changed since 3.5.1.
Dana Jansens danakj@orodu.net
db212a4f
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.
Dana Jansens danakj@orodu.net
aa1fe695
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.
Dana Jansens danakj@orodu.net
f3873cac
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.
Dana Jansens danakj@orodu.net
cddd736d
We use congfigure.ac not configure.am
Dana Jansens danakj@orodu.net
bcfe59fc
Fix some compiler warnings

Void function should actually be declared void. Not-reached switch
condition should still return something.
Dana Jansens danakj@orodu.net
b4b780ba
Update line numbers in po files
Dana Jansens danakj@orodu.net
7c4fae03
Change "plain" to "exact" for If's <title>
Mikael Magnusson mikachu@gmail.com
eae7a570
Update CHANGELOG
Mikael Magnusson mikachu@gmail.com
bced74be
Add matching which monitor the client is on in the If action (Bug 5426)
Mikael Magnusson mikachu@gmail.com
f8aa8cf5
Use enum value for monitor in MoveToCenter
Mikael Magnusson mikachu@gmail.com
db1c0809
Let the If action match window titles with GRegex
Mikael Magnusson mikachu@gmail.com
5a1da743
Use a helper function to make if.c a bit shorter
Mikael Magnusson mikachu@gmail.com
9614dd8d
Add activedesktop to If
Mikael Magnusson mikachu@gmail.com
2b1a53cd
Dock used showDelay for both hiding and showing (Bug 5811)
Lefteris Chatzimparmpas lefcha@fastmail.net
b2b5df76
Allow specifying only one of width and height in per-app settings size

Fixes bug 5819.
Mikael Magnusson mikachu@gmail.com
937ba3c7
Fix use after free in error message
Mikael Magnusson mikachu@gmail.com
f55caaf6
Add some comments in MoveResizeTo code
Mikael Magnusson mikachu@gmail.com
16c0fb84
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.
Dana Jansens danakj@orodu.net
677fb426
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.
Dana Jansens danakj@orodu.net
23c6a8c9
Remove po_PL from LINGUAS as that doesn't exist, should have be pl.po
Dana Jansens danakj@orodu.net
ea7a5e01
Fix format specifications in Interlingua translation
Dana Jansens danakj@orodu.net
2ea60e77
3.5.1 changelog
Dana Jansens danakj@orodu.net
644dedd0
New Polish translation was an update to existing one.

Move the po_PL.po file to pl.po as it should have been named.
Dana Jansens danakj@orodu.net
69d03c61
Remove Imlib2 mention from po files
Dana Jansens danakj@orodu.net
d52a6dd3
Remove deprecated and unneeded g_type_init call.
Dana Jansens danakj@orodu.net
c5c924f7
Remove unneeded obrender/button.h
Dana Jansens danakj@orodu.net
83e53234
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.
Dana Jansens danakj@orodu.net
0621f19a
Move shortcuts to latin characters in Greek translation

The _ keyboard shortcut in menus only works on latin characters.
Dana Jansens danakj@orodu.net
9edb4e39
Move shortcuts to latin characters in Hebrew translation

The _ keyboard shortcut in menus only works on latin characters.
Dana Jansens danakj@orodu.net
6c87b1dd
Updated Italian translation
Davide Truffa davide@catoblepa.org
6fec4060
Updated Serbian translation
Jay A. Fleming tito.nehru.naser@gmail.com
c1d21a1a
Updated Spanish translation
Gerardo Seguin galux@esdebian.org
403483db
Updated Czech translation
David Kolibáč david@kolibac.cz
97c43e98
Update Hungarian translation
Laszlo Dvornik rezuri@zoho.com
8ea945b2
Add Afrikaans translation
Nicolaas van der Merwe aspersieman@gmail.com
1e43632a
Add Romanian translation
remotedot@gmail.com remotedot@gmail.com
32cbf0fb
Updated Turkish translation
Muhammet Kara muhammet.k@gmail.com
b888197d
Updated German translation
Volker Ribbert volker.2012@arcor.de
241445d8
Updated Arabic translation
Karim Oulad Chalha herr.linux88@gmail.com
f9357e5c
Add Belarusian translation
Mikalai Udodau crom-a@tut.by
5f25e69d
Add Interlingua translation
Nik Kalach nikka@fedoraproject.org
df1ecaad
Add Hebrew translation
khazarian@fastmail.in khazarian@fastmail.in
6143c6ec
Updated Dutch translation
Pjotr pjotrvertaalt@gmail.com
43eb7db1
Add Polish translation
Piotr Strebski strebski@o2.pl
52d809b8
Add Greek translation
Efstathios Iosifidis iefstathios@gmail.com
5ef196ff
Sort po/LINGUAS alphabetically
Dana Jansens danakj@orodu.net
23c7ea66
Updated Lithuanian translation
Algimantas Margevičius gymka@mail.ru
b73f4190
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.
Dana Jansens danakj@orodu.net
4e6c0086
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.
Dana Jansens danakj@orodu.net
a5eb363f
Add autopoint to README.GIT list of packages
Dana Jansens danakj@orodu.net
ef868caf
Fix a typo that prevented setting client size for the height only (???)
Mikael Magnusson mikachu@gmail.com
21349b60
Convert two // to /*
Mikael Magnusson mikachu@gmail.com
1b73a296
Constrain the moveresize popup to the monitor which has the client
Mikael Magnusson mikachu@gmail.com
8be9cc92
Rename bounds to monitor in place_overlap and move a const
Mikael Magnusson mikachu@gmail.com
e6a5acaf
Fix least overlap to fall back to the chosen monitor, not (0,0).
Mikael Magnusson mikachu@gmail.com
53b8c86a
We forgot to count the dock in LeastOverlap
Mikael Magnusson mikachu@gmail.com
f6fb70a4
Remove some evil tabs
Mikael Magnusson mikachu@gmail.com
782b2864
Refactor the per-app parsing code into a helper function and reduce nesting by 2 levels
Dana Jansens danakj@orodu.net
71ffb437
Make MoveResizeTo work on the dimensions of the frame, not the client
Dana Jansens danakj@orodu.net
10a833b2
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.
Dana Jansens danakj@orodu.net
5e282dae
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.
Dana Jansens danakj@orodu.net
8a26a519
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.
Dana Jansens danakj@orodu.net
1869e4e8
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.
Dana Jansens danakj@orodu.net
d0ba8806
Don't let autostart checking for background-setting tools end up in logs (Fix bug 5186)
Dana Jansens danakj@orodu.net
d3a8bab0
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>.
Dana Jansens danakj@orodu.net
aa36b603
Remove unused variable
Dana Jansens danakj@orodu.net
01570a6a
Fix duplicate const warning
Dana Jansens danakj@orodu.net
1974c69f
Fix some namings and xml formatting in rc.xml and rc.xsd
Denis Kaganovich mahatma@eu.by
56a09933
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.
Dana Jansens danakj@orodu.net
2391410e
Fix negative ResizeRelative values with terminal windows (Fix bug 5228)

Inspired by patches from Brian Mock <mock.brian@gmail.com>.
Dana Jansens danakj@orodu.net
62fd771d
Get the window's title in the fake-managed case since we apply app rule matching (Fix bug 5277)
Dana Jansens danakj@orodu.net
c6997ba1
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.
Xin Wang dram.wang@gmail.com
65693d18
Address a couple bugs in rc.xsd (Fix bug 5746)
Denis Kaganovich mahatma@eu.by
9154bddf
Make .desktop files obey specs where possible (Fix bug 5737)
Julian Ospald julian.ospald@googlemail.com
af01da31
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.
Dana Jansens danakj@orodu.net
6eb740cf
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.
Dana Jansens danakj@orodu.net
51d73567
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.
Dana Jansens danakj@orodu.net
dc4cfa94
Make LeastOverlap placment replace the behaviour of Smart and address style nits
Dana Jansens danakj@orodu.net
4d2ccf19
LeastOverlap placement option (Fix bug 5385)

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>.
Ian Zimmerman itz@buug.org
01f62ded
Use the nearest monitor when the search query rect does not intersect any 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.
Dana Jansens danakj@orodu.net
9a5160b8
Don't edge-warp with the cursor based on a monitor that does not contain the pointer (Fix bug 4992)
Dana Jansens danakj@orodu.net
d68116c9
Pick the monitor most relevant to a rectangle more cleverly.

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.
Dana Jansens danakj@orodu.net
dc69fe7c
Theme button-specific values should fallback to the button general values consistently (Fix bug 5443)
Hanno Meyer-Thurow h.mth@web.de
29b735d8
Prompt should not always use the currently focused button as its result (Fix bug 5518)
Dana Jansens danakj@orodu.net
c9499217
Update manpage to current version. (Fix bug 5444)
John Vogel jvogel4@stny.rr.com
dff52764
Don't strip leading whitespace from menu labels (Fix bug 4782)
Dana Jansens danakj@orodu.net
3aee1ac3
Create some Openbox release scripts

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
Dana Jansens danakj@orodu.net
52cdea65
Allow client destroy notify functions to be removed based on the data associated with them.
Dana Jansens danakj@orodu.net
34b332c2
Fix prompt cleanup (was not going through the list correctly when freeing items)
Dana Jansens danakj@orodu.net
efc9d970
Select the menu item under the mouse when the mouse is moved (Fix bug 5237)
Dana Jansens danakj@orodu.net
8f988b2b
Make ResizeRelative resize in terms of pixels for windows with resize 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.
Dana Jansens danakj@orodu.net
9415459a
Make the inactive osd text color fall back to the old osd property, and lastly inherit from the unfocused window color.
Dana Jansens danakj@orodu.net
d58ed5c4
Allow an xml tag to be unregistered from the xml parser.
Dana Jansens danakj@orodu.net
69672e9d
Properly build path names for obt_paths_try_exec
Dana Jansens danakj@orodu.net
9f31f80c
add menu_sort_entries() which sorts all entries in an ObMenu

this function sorts each group of entries that appear together between two
consecutive separators (or ends of the list)
Dana Jansens danakj@orodu.net
7d32190a
Add another BSEARCH function that lets you search through an array of objects.

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.
Dana Jansens danakj@orodu.net
30fe9697
skip empty strings when splitting paths in the environment
Dana Jansens danakj@orodu.net
5ced1a06
hide the menus before shutting them down on reconfigure
Dana Jansens danakj@orodu.net
f53fa1e5
Fix for when the menu's update function returns FALSE and no menu is shown.

The ObMenuFrame was not being freed, and the child pointer was being left
pointing to the frame that was not visible.
Dana Jansens danakj@orodu.net
fbc3e344
Just put copyright starting year in README so we don't need to keep updating it. Make --version match README.
Dana Jansens danakj@orodu.net
e27680e4
Generate a fake leave event on actions that move windows (used to generate another enter event?)
Dana Jansens danakj@orodu.net
08756833
Link X into libobt (Fixes compile on debian).
Dana Jansens danakj@orodu.net
73608702
Ignore enters on windows that are raised over focused window while being mapped.
Dana Jansens danakj@orodu.net
be9637e4
Use the KeyCode to directly find the modifier mask. (Fix bug 5173)

We were finding the KeySym first, and then converting back to a modifier mask.
But KeySym on a key's release can differ from on its press, and we don't need
them to determine the modmask from the keycode.

[setxkbmap -option "grp:shifts_toggle"] turns Shift_L into XK_ISO_Prev_Group on
key release, and Shift_R into XK_ISO_Next_Group.
Dana Jansens danakj@orodu.net
ad5b9258
Don't make desktop switching interactive when no mods used. (Fix bug #5203)

Make mod state passing more consistent, and always give actions the full state
instead of stripping sometimes. (They ended up expecting it stripped always).
Dana Jansens danakj@orodu.net
58f666a2
Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages

gtk+ 3.4 apparently sends these randomly when you select text in a
GtkEntry. This also fixes bug #5460.
Mikael Magnusson mikachu@gmail.com
4195eafd
Update german translation
Mario Blättermann mario.blaettermann@gmail.com
515ea1ab
Fix bootstrapping, forgot to change WANT_AUTOMAKE to 1.11 in previous commit
Mikael Magnusson mikachu@gmail.com
5aad740a
Quiet build outbut on by default
Dana Jansens danakj@orodu.net
fb2ce213
Fix window width/height going less than 1 on some platforms (bug #5246)
Dana Jansens danakj@orodu.net
9868ee29
ignore .rej files
Dana Jansens danakj@orodu.net
eb4c8ff0
Fix maximized windows and such after screen resizings
Dana Jansens danakj@orodu.net
8412fb02
Hear screen resizes when they don't change the root window (cloning)
Dana Jansens danakj@orodu.net
0f18d062
Check the return value for launching the startup command.

Copy/paste error?
Dana Jansens danakj@orodu.net
3991e148
Fixes for gnome-session 3.

We run by default with a panel (default gnome-panel) and then run Openbox
without any panel if one cannot be found.

- Adds a fallback session for if a panel (default gnome-panel) not found.
- Removes notifications as a requirement.  Seems to be a legacy thing judging
  from the ubuntu .session files.  Notifications are being provided by
  notify-osd on modern systems, and you can't check for its presence in
  gnome-session (gnome-classic.session always fails because it looks for it, so
  ubuntu falls back to gnome-fallback.session).
Dana Jansens danakj@orodu.net
14deacc8
Remove unused variable
Dana Jansens danakj@orodu.net
8a975cb1
respect the active/mouse options for monitor placement, and use ObMonitorPlace for per-app too
Dana Jansens danakj@orodu.net
4aade636
Allow per-app settings to pick a monitor for a window without choosing a position in it.
Dana Jansens danakj@orodu.net
c590a832
Add "active" and "primary" options to the <monitor> placement option for per-app settings (bug #5180)
Dana Jansens danakj@orodu.net
a0d14c7d
make undecorated windows place according to their undecorated state (bug #5179)

splits client_setup_decor_and_functions() into 3 functions.

1. add client_setup_default_decor_and_functions()
- called from client_get_all() to get the maximum decor/functions that will
  be available for use by the client.
2. add client_setup_decor_undecorated()
- sets up the client's undecorarted decor if the flag is set by the per-app
  settings or session state.
- we do this before setting up the frame so the frame reflects the window as it
  should be when getting placed.
3. client_setup_decor_and_functions()
- calls the above 2 to perform the same functions as before.
- added to client_apply_startup_state() so that we can ensure it was run fully
  at least once in the mapping process, since it is not called in
  client_get_all() anymore.
Dana Jansens danakj@orodu.net
332280da
it would seem this cannot return NULL now

It will get the primary monitor if there is not monitor under the pointer. But
assert so it's clear something went wrong if this does happen. Note that there
was previously no check for the return value even though the comment claimed
there should be.
Dana Jansens danakj@orodu.net
b1039d61
Link libobt into libobrender, as it uses things from libobt (bug #5150)

libobrender uses ObtPaths stuff, so it needs to link in libobt.
Fryderyk Dziarmagowski fdziarmagowski@gmail.com
aa15563f
Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)
Dana Jansens danakj@orodu.net
fd9bb430
Strip leading/trailing whitespace when parsing colors and other strings (bug #4937)
Dana Jansens danakj@orodu.net
808bb02a
free undecorated border colors
Dana Jansens danakj@orodu.net
fadf435e
Specific border width/color for undecorated active/inactive windows (bug #4889)

The attached patch adds three theme options with backward compatible defaults:

undecorated.border.width
  defaults to border.width

window.undecorated.active.border.color
  defaults to window.active.border.color

window.undecorated.inactive.border.color
  defaults to window.inactive.border.color
Carlos Pita carlosjosepita@gmail.com
e4e7c2be
Fix crash when keyboard map changes and no keybindings exist.

Don't assume old tree is non-null and start rebinding it.
Dana Jansens danakj@orodu.net
c885c9a6
Change default doubleclick timeout to 500ms and keep track of where last click was

Bug #5152 - "mouse double-click time is too low by default - 200ms"

We only use the doubleclick in one place in the default configuration,
for doubleclicking titlebars to maximize windows, so any negative impact
of increasing the timeout should be minimal, especially with the
addition of requiring the two clicks to be in the same place.

Doubleclicks are hardcoded to occur within 8 pixels for now, it doesn't
seem worth it to add a config until someone complains. A possibility is
using the drag threshold, but some people have that set very low so it
could be hard to doubleclick then.
Mikael Magnusson mikachu@gmail.com
1d2da703
Parse all the actions in a single menu item
Dana Jansens danakj@orodu.net
63fcce37
Don't remove openbox-gnome.session on make clean - it's not generated.
Dana Jansens danakj@orodu.net
3f870080
Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.

Yay they did something nice and made it easier for other window managers to be used.  How unexpected and pleasant.
Geoffrey Antos dynamotwain@aim.com
303cbe76
Don't show prompts inside the message handler to prevent recursion

Showing prompts causes messages to be created which causes the glib message
handler to abort().  Save the messages and show them when done all other
processing for the current event.
Dana Jansens danakj@orodu.net
a23954ec
bug #5253 kde4 is out now, use kde4 menus by default.

Startup scripts should export "XDG_MENU_PREFIX=kde-4-" but they export
"XDG_MENU_PREFIX=kde-".
Dana Jansens danakj@orodu.net
8e4fcae6
Make "no" a valid choice for the dialog option in cyclewindows.c.

It is the same as "none" for backward compatibility (it used to be a boolean).
Dana Jansens danakj@orodu.net
5fdb5cb7
Update copyright notice in --version output
Mikael Magnusson mikachu@gmail.com
4ee0b6f8
Fix typo in configure.ac, noticed by hwoarang
Mikael Magnusson mikachu@gmail.com
dc6d1d75
Consistency with helper/modal windows and multiple desktops.

When focusing a window, bring its helper windows.  This happened before when
switching its desktop, but if you have 2 windows on different desktops and
switch between them, the helpers should come to both when they are being used.

When a new helper/modal window maps on a different desktop and you are using
the application, then the helper/modal window is moved to the current desktop
to be with the application you are using.
Dana Jansens danakj@orodu.net
eea1a9fe
Fix focus stealing for changing desktops/Use timestamp for user input events

Change the logic for when to allow stealing focus across desktops.
- It was possible to call event_time_after() with a CurrentTime in the old code.
- It would disallow a user requested change which is crazy.
- It would change desktops on you when a new window appeared but this is
  generally not desirable.

event_source_time() is supposed to give the time which the user made things
happen. we leave it at 0 for user-input events right now which means stuff like
changing desktop doesn't save any timestamp at all.  we should use the
timestamp from x for user-generated events.
Dana Jansens danakj@orodu.net
98b02c6b
Fix a memleak introduced by 0dd91ba0e2382a8f6177f501f8a0b26e0daf26a8, some cleanups
Mikael Magnusson mikachu@gmail.com
ef0bfdc7
be a bit more explicit about what is being copied from one texture to another
Dana Jansens danakj@orodu.net
177a0340
Separate theme options for osd prompt buttons.

I managed to keep backwards compatibility without really cluttering
the code so here is the patch
http://bugzilla.icculus.org/show_bug.cgi?id=4874 too.

Please keep in mind that this is my first piece of code for openbox
and that I'm not a die hard openbox user (yet), not to tell the patch
was not exhaustively tested. Anyway I think it's pretty much in a good
shape but any criticism will be welcome.

Basically the patch add the following theme options for controlling
buttons in osd prompts:

%%%% colors
%
% for the text inside the button
osd.button.unpressed.text.color
osd.button.pressed.text.color
osd.button.focused.text.color
%
% for the line art around the button
%  (if you don't wan't the box just make box.color = bg.color)
osd.button.pressed.box.color
osd.button.focused.box.color

%%%% textures
%
osd.button.unpressed.bg
osd.button.pressed.bg
osd.button.focused.bg

The buttons can be in three states:

 unpressed: neither clicked nor selected
 focused: selected but not clicked
 pressed: clicked (and of course selected)

I discarded the previous distinction between press and pfocus as in
fact it was only a formal distinction, in that both appearances
mimicked each other in every sense. It think that it was just
inherited from the way titlebar buttons are managed so I decided to
simplify it a bit.

All the options default in a way that preserves backwards compatibility:

osd.button.unpressed.text.color  -> osd.active.label.text.color
osd.button.pressed.text.color -> osd.active.label.text.color
osd.button.focused.text.color -> osd.active.label.text.color

osd.button.pressed.box.color ->  window.active.button.pressed.image.color
osd.button.focused.box.color -> window.active.button.hover.image.color

osd.button.unpressed.bg -> window.active.button.unpressed.bg
osd.button.pressed.bg -> window.active.button.pressed.bg
osd.button.focused.bg -> window.active.button.hover.bg

Notice that a good deal of locs where added to theme.c but in
compensation prompt.c is pretty much simpler now because the
appearances and textures are created while loading the theme.
Carlos Pita carlosjosepita@gmail.com
d09fd318
Merge branch 'm4/master'
Mikael Magnusson mikachu@gmail.com
9116b124
Revert these two commits temporarily to make the buttons merge easier

1e427a3358deeadf8abc326e714ee201fddc43d6
2288da0ae3b44c987687e3deeb7864fcb7b23bb9
Mikael Magnusson mikachu@gmail.com
33d93777
Update portuguese translation
Pedro Beja althaser@gmail.com
35051601
Update estonian translation
Mikael Magnusson mikachu@gmail.com
220298fc
Add Plural-Forms header to fi.po and remove fuzzy mark.
Mikael Magnusson mikachu@gmail.com
155eafe0
Update polish translation.
Jakub Łojewski lojewski@ovi.com
2f38d883
add --disable options for x extensions

so we can test compiling without them present
Dana Jansens danakj@orodu.net
118a4fe7
Update Brazilian Portuguese translation
Og Maciel ogmaciel@gnome.org
db2c2295
add the 3.4.10+ changes to the CHANGELOG
Dana Jansens danakj@orodu.net
979f3b13
Add 3.5.0 changes
Dana Jansens danakj@orodu.net
a71c4a0f
Update other po files
Mikael Magnusson mikachu@gmail.com
a54d02df
Update swedish translation
Mikael Magnusson mikachu@gmail.com
5f5880dc
Fix some translation string markings
Mikael Magnusson mikachu@gmail.com
588aa079
Allow setting icons for submenus
Mikael Magnusson mikachu@gmail.com
6ad5f085
Fix menu placement to avoid dead xinerama areas, possibly break other stuff

Use screen_find_monitor(area) instead of screen_find_monitor_point(
topleft corner) in order to find a better monitor when the menu isn't
opening with the mouse cursor in the top left corner.

I made screen_find_monitor return the primary screen when it failed to
find a monitor containing the rect, instead of the total area, no idea
what behaviour this will change but I doubt it will be worse.
Mikael Magnusson mikachu@gmail.com
cc4e44e8
Link libraries directly to compile on some systems (debian).

If program (A) is linked to library (B) which is linked to library (C),
then A must also link C directly in order to use things from it directly.
Mikael Magnusson mikachu@gmail.com
65315ca4
The environments are passed in from the openbox-session script so use them.
Dana Jansens danakj@orodu.net
5b2ed63c
Fix bug #4877 (Some harmless code quirks involving booleans)
Dana Jansens danakj@orodu.net
2288da0a
be a bit more explicit about what is being copied from one texture to another
Dana Jansens danakj@orodu.net
1e427a33
Separate theme options for osd prompt buttons.

I managed to keep backwards compatibility without really cluttering
the code so here is the patch
http://bugzilla.icculus.org/show_bug.cgi?id=4874 too.

Please keep in mind that this is my first piece of code for openbox
and that I'm not a die hard openbox user (yet), not to tell the patch
was not exhaustively tested. Anyway I think it's pretty much in a good
shape but any criticism will be welcome.

Basically the patch add the following theme options for controlling
buttons in osd prompts:

%%%% colors
%
% for the text inside the button
osd.button.unpressed.text.color
osd.button.pressed.text.color
osd.button.focused.text.color
%
% for the line art around the button
%  (if you don't wan't the box just make box.color = bg.color)
osd.button.pressed.box.color
osd.button.focused.box.color

%%%% textures
%
osd.button.unpressed.bg
osd.button.pressed.bg
osd.button.focused.bg

The buttons can be in three states:

 unpressed: neither clicked nor selected
 focused: selected but not clicked
 pressed: clicked (and of course selected)

I discarded the previous distinction between press and pfocus as in
fact it was only a formal distinction, in that both appearances
mimicked each other in every sense. It think that it was just
inherited from the way titlebar buttons are managed so I decided to
simplify it a bit.

All the options default in a way that preserves backwards compatibility:

osd.button.unpressed.text.color  -> osd.active.label.text.color
osd.button.pressed.text.color -> osd.active.label.text.color
osd.button.focused.text.color -> osd.active.label.text.color

osd.button.pressed.box.color ->  window.active.button.pressed.image.color
osd.button.focused.box.color -> window.active.button.hover.image.color

osd.button.unpressed.bg -> window.active.button.unpressed.bg
osd.button.pressed.bg -> window.active.button.pressed.bg
osd.button.focused.bg -> window.active.button.hover.bg

Notice that a good deal of locs where added to theme.c but in
compensation prompt.c is pretty much simpler now because the
appearances and textures are created while loading the theme.
Carlos Pita carlosjosepita@gmail.com
a5a91b32
move Imlib to the option deps in the git readme
Dana Jansens danakj@orodu.net
b913191d
Update note on dependencies wrt autopoint
Mikael Magnusson mikachu@gmail.com
d80edf6a
Update README.GIT to the packages in current ubuntu distribution and include imlib2
Dana Jansens danakj@orodu.net
79911e33
Comment fix
Dana Jansens danakj@orodu.net
be626ad7
bump version to 3.5.0 and library versions
Dana Jansens danakj@orodu.net
cf276faf
Fix Java apps always appearing on desktop 0.

Fake managing a window doesn't read a requested desktop, but ended up placing
  a NET_WM_DESKTOP hint on the window (with value 0).  Fake managing doesn't
  need to set the DESKTOP hint since the window is not actually being managed,
  so remove it from the codepath.
Dana Jansens danakj@orodu.net
823997f0
don't re-run the startup command on reconfigure
Dana Jansens danakj@orodu.net
6624d06d
fix global autostart installation, and the pointer to it so it is run
Dana Jansens danakj@orodu.net
007f0917
Resizing removes maximization now, so don't only snap "grow to edge" to screen edges.

This caused a serious annoyance when shrinking a maximized window, it would
shrink to the other end of the monitor, effectively reducing it to its minimum
size.
Dana Jansens danakj@orodu.net
805f42e1
Fix compiling without sync extension present.

Make waiting_for_sync always present, but it is set to 0 (not waiting) if we aren't using sync.
Dana Jansens danakj@orodu.net
99ec7f6f
Fix regression: hitting a key accel in a menu didn't move focus to the submenu
Dana Jansens danakj@orodu.net
2e82715a
Show the submenu and move focus there with the enter key when the submenu isn't shown yet.
Dana Jansens danakj@orodu.net
f14bf9ca
don't free the XIC if it wasn't created.  this appears to cause a crash
Dana Jansens danakj@orodu.net
4e3ffbfc
cap the client (and frame) window's dimensions at the range of an unsigned short (bug #4596)
Dana Jansens danakj@orodu.net
9c4ef9aa
extra \n in debug output
Dana Jansens danakj@orodu.net
2acbf04c
Move focus to a window when the mouse enters a window during a pointer grab, if using "focus under mouse" (Fixes bug #4617)
Dana Jansens danakj@orodu.net
29d595b1
when focus=yes in the per-app settings, then the focus request for the new window is from a user.  also if allow_other_desktops is false, then always disallow other desktops (Fixes bug #4752)
Dana Jansens danakj@orodu.net
385967b5
Make NET_ACTIVE messages always treated as from the user.  Loosen up focus stealing for user-requested focusing.

Seems panels such as xfce's and gnome's still treat their activation requests
  as being from an application when a user has requested it.

Make the focus stealing code more lenient for user-requested focusings
  (_NET_ACTIVE).  But treat new windows as not user-requested unless they
  gave a launch time.

When activating a window, if another window would be the one to actually get
  focused, then activate that instead (avoid clicking a window in the panel and
  nothing happens).
Dana Jansens danakj@orodu.net
d291a9c7
don't use -Wextra unless --enable-super-warnings
Dana Jansens danakj@orodu.net
d082572b
setenv and unsetenv dont exist in Solaris 9.  (Fixes bug #4663)

Seeing as how you already use glib, I just substituted g_setenv and g_unsetenv
as appropriate, and it now works for me.
Philip Brown phil@bolthole.com
9c356d37
Some versions of X, have the Shape extension, but apparently not "ShapeInput" (Fixes bug #4662)

the sawfish window manager has ifdefs for this sort of situation.
I followed suit, and #ifdef'd it, and it now works for me.
patch attached.

Slight changes to the patch from danakj@orodu.net for readability
Philip Brown phil@bolthole.com
7c33f45e
make the default drag threshold 1.  it is smooth and feels and looks nice.

(also macos has it and i liked it.)
Dana Jansens danakj@orodu.net
80b6d4ac
XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() instead
Dana Jansens danakj@orodu.net
c5c34cca
if no launch time is provided for an application, make one up.

if the window is related to other existing windows
  and one of those windows was the last used
    then we will give it a launch time equal to the last user time,
    which will end up giving the window focus probably.
  else
    the window is related to other windows, but you are not working in them?
    seems suspicious, so we will give it a launch time of NOW - STEAL_INTERVAL,
    so it will be given focus only if we didn't use something else during the
    steal interval.
else
  the window is all on its own, so we can't judge it.  give it a launch time
  equal to the last user time, so it will probably take focus.

this way running things from a terminal will give them focus, but popups
without a launch time shouldn't steal focus so easily.
Dana Jansens danakj@orodu.net
5e38690d
fix segfault for placing windows without a group
Dana Jansens danakj@orodu.net
a8dbf2e7
add primary monitor stuff to rc.xsd
Dana Jansens danakj@orodu.net
74f7f35b
Fix small leak in If action option parsing
Mikael Magnusson mikachu@gmail.com
95535e86
Big changes to placement across multiple monitors.

Add a Primary option for which monitor to place new windows on.  Make "Active" the default instead of "Any", which is just totally crazy.

When a window is being placed in the FOREGROUND, use a monitor chosen in
  the following order:
  1. same monitor as parent
  2. primary monitor if placement=PRIMARY
     active monitor if placement=ACTIVE
     pointer monitor if placement=MOUSE
  3. primary monitor
  4. other monitors where the window has group members on the same desktop
  5. other monitors where the window has group members on other desktops
  6. other monitors

When a window is being placed in the BACKGROUND, use a monitor chosen in the
  following order:
  1. same monitor as parent
  2. other monitors where the window has group members on the same desktop
   2a. primary monitor in this set
   2b. other monitors in this set
  3. other monitors where the window has group members on other desktops
   3a. primary monitor in this set
   3b. other monitors in this set
  4. other monitors
   4a. primary monitor in this set
   4b. other monitors in this set

Decide to focus the new window before placing it, so we know if it will be
  placed in the foreground or background.

Always choose a single monitor, then place on it, rather than possibly moving
  to a "backup" monitor.  Unpredictable monitor placement is horrible.
Dana Jansens danakj@orodu.net
76ae1992
add function screen_compare_desktops()

tells if two windows' current desktops are considered logically on the same
  desktop (taking "all desktops" into account)
if a window is on "all desktops" it is considered to be on the current desktop
  only - windows can only be in one place at a time.
Dana Jansens danakj@orodu.net
4ce98ecf
don't steal focus if someone used a window within 1 second ago

(instead of 0.5 seconds)
Dana Jansens danakj@orodu.net
8ac60401
Fixing commit 066a15d7aa64eaa0.  Don't ever use CurrentTime as event_curtime.

Force event_curtime to be some valid timestamp.
Dana Jansens danakj@orodu.net
4f8503c2
Allow XIncludes in xml documents we read.

Add the XInclude namespace in the default config file (named "xi")
Dana Jansens danakj@orodu.net
6dedf8f3
use top_builddir, not builddir variable in Makefile.  seems builddir doesn't always exist/anymore
Dana Jansens danakj@orodu.net
a21e9c9c
add some more warning flags for debug builds

-Wno-write-strings so that "foo" is treated as a const char* not a char*.
-Wextra for more fun
Dana Jansens danakj@orodu.net
6e5de3b5
Fix icons.c test for 64-bit platforms
Hiltjo Posthuma hiltjo@codemadness.org
a8843b58
update the last user interaction timestamp during a move/resize of the focused window
Dana Jansens danakj@orodu.net
5ff0d07a
update the user-interaction timestamp when running a (non-interactive) action on the focused window
update it at the end of running actions instead of multiple times (once for
 each action)
Dana Jansens danakj@orodu.net
d614bebf
don't steal focus from a window if it was used very recently, when someone uses _NET_ACTIVE request.
Dana Jansens danakj@orodu.net
e7371507
mem leak in config.c
Dana Jansens danakj@orodu.net
001f174c
Big rework of image.c and the image cache system.

Added a lot of comments, simplified call graphs.
Added full (not second-class) support for images coming from named sources (files, icon themes).
RrImage holds an RrImageSet.  RrImageSet holds a bunch of RrImagePic, which are different sizes of a logical image.
RrImageSet objects can be merged if it is discovered they (will) share an RrImagePic.  The RrImage objects are updated to use the new merged RrImageSet.
Dana Jansens danakj@orodu.net
f458d66c
Use >= instead of > when comparing timestamps, or we will ignore some events
Mikael Magnusson mikachu@gmail.com
b1fc1971
add some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotify watch)
Dana Jansens danakj@orodu.net
7eeae03f
oops, crash if searching for something smaller than * in the array
Dana Jansens danakj@orodu.net
d3660704
less redundant calls to screen_update_areas() and client_move_onscreen()
Dana Jansens danakj@orodu.net
6f92931f
Ignore MotionNotify on menus, it reset the submenudelay timer

It also caused the slightest cursor movement to activate the entry under
the cursor when navigating via the keyboard.
Mikael Magnusson mikachu@gmail.com
6d0f44e1
Use g_list_find instead of weird bouncing loops
Mikael Magnusson mikachu@gmail.com
3ff41620
Parse multiple keys in one keybind
Dana Jansens danakj@orodu.net
36a437a7
allow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the string "DockApp"
Dana Jansens danakj@orodu.net
194bb32c
Don't hog the user during the hideDelay
Mikael Magnusson mikachu@gmail.com
5d5714f0
Handle STRING and COMPOUND_TEXT type text properties.

STRING should be latin1 text (plus TAB and LF)
COMPOUND_TEXT should be encoded in the current locale.
Dana Jansens danakj@orodu.net
d3d96b57
Revert "add an inotify watcher for directories (doesnt work without inotify yet)"

This reverts commit c36b89ba12eae18d3011c8516906c21e9abb89dc.
Dana Jansens danakj@orodu.net
27ae9d65
fix make distcheck
Dana Jansens danakj@orodu.net
2813d2c1
glib can't handle -Wcast-qual
Dana Jansens danakj@orodu.net
d81f94bf
add wmhints test that toggles motif decor hints on a mapped window
Dana Jansens danakj@orodu.net
9fcf466a
Fix a double free when you have a mousebind without a button attribute

Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2
Mikael Magnusson mikachu@gmail.com
670ff8b4
Fix a copypasto that broke interactive keybinds with meta and hyper keys
Mikael Magnusson mikachu@gmail.com
624ffe39
Revert "add XFlush to g_timeout callbacks"

This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99.

Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed
Dana Jansens danakj@orodu.net
179312f9
Fix 3.4 compatibility for SendToDesktop
Mikael Magnusson mikachu@gmail.com
eafcc060
Correct typo occured -> occurred in function name
Mikael Magnusson mikachu@gmail.com
1666d285
Add signal handling with the GMainLoop

Provided through a very simplistic interface in obt, found in the
 obt/signal.[ch] files
Dana Jansens danakj@orodu.net
b79b7062
add stackabove test, that lets you move a client window just above a specified window in the stacking order
Dana Jansens danakj@orodu.net
6865e538
80 cols
Dana Jansens danakj@orodu.net
a4a5fc86
Continue parsing contexts when an unsupported one is encountered
Mikael Magnusson mikachu@gmail.com
1ffc0021
Make the dock a context and add actions LowerDock and RaiseDock
Mikael Magnusson mikachu@gmail.com
48d36cd5
Move usage of iconh into the branch that assigns it
Mikael Magnusson mikachu@gmail.com
12890921
settings can't be NULL here, or we'd have already crashed anyway
Mikael Magnusson mikachu@gmail.com
a1bb01c9
Use a gsource instead of gio channels for watching x events

Fixes not getting some focusin events sometimes.
Mikael Magnusson mikachu@gmail.com
de7c3f46
obt returns libxml2 structures directly, so anyone linking against it better also link to libxml2
Dana Jansens danakj@orodu.net
aa3685d1
add XFlush to g_timeout callbacks

GMainLoop doesn't cause an flush to occur after handling a timeout.
Dana Jansens danakj@orodu.net
79cf72d1
Fix the EXTENTS reported on window frames.

Change the order things are done on map, so we apply startup state without
  any states set first, thus getting all the functions possible for the window
  type etc.  then change the order states are applied, as some remove the
  ability to apply others (ie fullscreen comes last).
Add an oldsize to ObFrame that remembers the size of the frame last reported to
  the world through the EXTENTS property.  If you frame_adjust_area(FAKE) then
  frame_adjust_area(NONFAKE), the EXTENTS would not be updated since the
  oldsize wasn't remembered across fake updates.
Make the extentsrequest test ask about windows with states set also.
Dana Jansens danakj@orodu.net
e1a51bdf
keep stacking_list_tail a pointer to the tail of the stacking list
Dana Jansens danakj@orodu.net
6d95e244
allow a user to set "undecorated" on a window without decorations

if not based on window type, the app may decide to have decorations again
sometime.  this was not always legal but chromium has made it so.
Dana Jansens danakj@orodu.net
c36b89ba
add an inotify watcher for directories (doesnt work without inotify yet)
Dana Jansens danakj@orodu.net
fd77a0a7
Use GMainLoop instead of ObtMainLoop
Dana Jansens danakj@orodu.net
2e94af28
save the list of mime types listed as supported by an application
Dana Jansens danakj@orodu.net
b025a026
parse app Categories better.  parse a list of strings into a gchar**
Dana Jansens danakj@orodu.net
78a8f407
parse Categories tag and save them as an array of GQuarks
Dana Jansens danakj@orodu.net
a6141fe7
improved .desktop parsing.

properly (and quickly) check for existence of required keys
figure out what an app can open from its exec key
validate the %fields in an app's exec key
Dana Jansens danakj@orodu.net
d9d65b73
free the user's group ids
Dana Jansens danakj@orodu.net
19e051a4
free the path dirs
Dana Jansens danakj@orodu.net
475961e1
parse Path, Terminal, and StartupNotify
Dana Jansens danakj@orodu.net
0c8c9cab
parse OnlyShowIn/NotShowIn
Dana Jansens danakj@orodu.net
632eb082
allow new windows on other desktops to get focused if specified in a per-app rule

you can not client_active() with user=false and desktop=true and activate things on other desktops, by the general focus steal restrictions, if you wanted to do that sorta thing
Dana Jansens danakj@orodu.net
fa39954c
Allow sending windows on other desktops to the current desktop.
Mikael Magnusson mikachu@comhem.se
46ca54fd
Add some more conditions to the If action

It can now match on window titles, virtual desktop (number, "current",
"other"),
demands_attention, and undecoratedness.
Mikael Magnusson mikachu@comhem.se
97345648
don't need a force_reply when changing the decor for a window

it will send a configurenotify if the client's rootwindow position changed
Dana Jansens danakj@orodu.net
4eb9a0c5
client_update_protocols() doesnt change anything that would affect a client's decor or functions
Dana Jansens danakj@orodu.net
da675397
allows a window to unmax by resizing.

makes "clever" use of the client's pre_max_area values to allow this to happen
without flashing, and preserving them in case the user cancels the resize
after it has become unmaximized.
Dana Jansens danakj@orodu.net
c129c236
set the frame's initial size to something invalid so the extents hint will be
set for sure the first time.
Dana Jansens danakj@orodu.net
53430914
set the interactive action to NULL before doing its cleanup phase

if the cleanup ends up cancelling the "current interactive action", it would
cause the end function to be called again, which sucks.  for instance if the
cleanup function uses the Focus action. this prevents the unwanted loop
into the interactive action cleanup.
Dana Jansens danakj@orodu.net
9a826d8c
fix focus when starting up, especially when replacing another instance of openbox

adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp
Dana Jansens danakj@orodu.net
ab7673c8
remove a debug print in the keyboard obt stuff
Dana Jansens danakj@orodu.net
54506182
avoid new gcc warning (casting ** to const** is not valid for good reason)
Dana Jansens danakj@orodu.net
4463bb6e
merge some contexts together in the default rc.xml mouse bindings
Dana Jansens danakj@orodu.net
f307a3fe
allow multiple contexts separated by space in a mouse binding

example: context="Top Left Right Bottom"
Dana Jansens danakj@orodu.net
09d1d043
turn off focuslast and on undermouse in mouse focus config example
Dana Jansens danakj@orodu.net
3374fb2a
Remove some unneeded stdlib.h includes
Mikael Magnusson mikachu@gmail.com
7a679dd1
Add support for using relative expressions in move and resize actions

Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally
Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size
Rename to config_parse_relative_number so it can be used for sizes too
Add relative numbers to width/height in MoveResizeTo
Add relative numbers to MoveRelative
Add relative numbers to ResizeRelative, these are for the client size, not screen size
Mikael Magnusson mikachu@gmail.com
1c637efc
new enum values need to be handled in switches

(the new enum values were added to count the number of entries in the enums)
Dana Jansens danakj@orodu.net
925e4c59
fix typo in enum
Dana Jansens danakj@orodu.net
48ad5f6c
add _NUM_TYPES to obrender enums, to allow enumeration of the enum values
Derek Foreman foremande@gmail.com
87443c95
show empty properties in obxprop
Dana Jansens danakj@orodu.net
dd623f5b
parse number values write in a hex string in obxprop
Dana Jansens danakj@orodu.net
013df404
advance while parsing a hex input in obxprop
Dana Jansens danakj@orodu.net
6e799ad4
add cleanup functions to the client list menus that removes everything from them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)
Dana Jansens danakj@orodu.net
3fd74abb
add cleanup function for menus that fires when the menu is no longer visible
Dana Jansens danakj@orodu.net
523a726c
don't try go to selected submenu when there is nothing selected
Dana Jansens danakj@orodu.net
b9b0284e
use clicks in prompts
Dana Jansens danakj@orodu.net
cce78e08
add a test to set a mouse cursor on an InputOnly subwindow
Dana Jansens danakj@orodu.net
0d98c4fa
fix XSYNCronization of resizes (especially with two monitors).

1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window
Dana Jansens danakj@orodu.net
b3023ac5
make sure clients stay on screen when the root window changes size, and maximized/fullscreen windows must be on some monitor or it doesn't make much sense (and asserts)
Dana Jansens danakj@orodu.net
145d526d
Remove two unused variables

Remains from 64adc0eeba598cb1469b2140777fba30e3053f0e
Mikael Magnusson mikachu@gmail.com
5e424b81
found memory corruption in the obt xqueue and paths
Dana Jansens danakj@orodu.net
55b84316
make an event queue for X events.  the queue's min size is 16 XEvents (~3k)
Dana Jansens danakj@orodu.net
02962808
don't put reparent events back on the stack.  the window is no longer being managed anyways.  and it messes up the order of events in the queue
Dana Jansens danakj@orodu.net
f6e42339
putting events on the event queue does not send them back to the server.  it was just going to get ignored the next time around cuz the window wouldnt be in our list of clients
Dana Jansens danakj@orodu.net
bb97a207
don't use XPutBackEvent and mess up timestamp order in the event queue
Dana Jansens danakj@orodu.net
72fe65fd
add asserts to make sure we don't add things to stacking list that are not managed
Dana Jansens danakj@orodu.net
a16449ad
don't change stacking stuff on windows when moving them during the unmanage phase.
Dana Jansens danakj@orodu.net
197ee0ad
event_curtime is replaced (publicly) by event_time()

This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.

If the current XEvent did not have a timestamp, then event_time() will find one.  It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.

This change seems to work well, as it appears to fix bug #3648.
Dana Jansens danakj@orodu.net
171e476b
When determining the current timestamp, try get something a lil more accurate

Get the first timestamp from the event queue, rather than (potentially) the
  last.
also treat it as the actual event_curtime, meaning it is used when focusing a
  newly mapped window etc.
Dana Jansens danakj@orodu.net
550e961c
when client removes its transient_for hint, don't keep the window as transient for the group when it shouldn't be (fixes bug #4586)
Dana Jansens danakj@orodu.net
77ee361f
allow warping the mouse pointer when switching desktops by bumping into the edge of the monitor with a window

based on a patch by Nathaniel Gephart <computinchuck@gmail.com>
Dana Jansens danakj@orodu.net
b05ac359
show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319)
Dana Jansens danakj@orodu.net
56fface3
add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341)
Dana Jansens danakj@orodu.net
fde5d860
Link libobrender, not openbox, to imlib2
Mikael Magnusson mikachu@gmail.com
3997d7ae
add some comments for binary search
Dana Jansens danakj@orodu.net
3afa20de
stat() can give an error, handle that
Dana Jansens danakj@orodu.net
34178097
use const Rect* not Rect const*
Dana Jansens danakj@orodu.net
262591ec
add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it when searching for a group in obt_paths_try_exec()
Dana Jansens danakj@orodu.net
3121146e
parse some of the .desktop stuff into an ObtLink structure

localized names still don't work.
most of the app-specific stuff isn't done yet.
categories aren't handled yet (to only show in/not show in some category)
Dana Jansens danakj@orodu.net
67bed35b
add obt_paths_try_exec() that will see if an executable exists
Dana Jansens danakj@orodu.net
d3560582
save the LC_MESSAGES locale category
Dana Jansens danakj@orodu.net
d826971d
if a launch time isnt there (like for client_activate) assume the window launched before the last desktop switch, not after. ie don't change desktops if you're not sure.
Dana Jansens danakj@orodu.net
e7d5ef84
make keypad enter do the same thing as return
Dana Jansens danakj@orodu.net
11bb31d3
figure out what type the value should be for each known .desktop key, and watch for invalid keys
Dana Jansens danakj@orodu.net
0d90bd57
Add a new ObtLink type, which is going to be a generalization of a .desktop entry.

Move the .desktop file parsing details into obt/ddparse.c, which generates
  some hash tables holding the data of the file.
Add a new obt/link.c which will build an ObtLink from a parsed .desktop file,
  and may support other ways to create these links in the unforseeable future
Dana Jansens danakj@orodu.net
fbc0597d
ignore the rendertest executable
Dana Jansens danakj@orodu.net
1ea83ccf
ignore generated autostart script
Dana Jansens danakj@orodu.net
749d6f09
save key values based on their value, but we dont know what values they have yet
Dana Jansens danakj@orodu.net
a1fa5dca
add an empty function to parse the Desktop Entry group in a .desktop file
Dana Jansens danakj@orodu.net
00fb4d39
parse key/value pairs from the .desktop file and save them in a hashtable
Dana Jansens danakj@orodu.net
448cc662
close the .desktop file after parsing it
Dana Jansens danakj@orodu.net
159a3cb3
free the path after done with it
Dana Jansens danakj@orodu.net
4e70343b
g_warning adds a \n
Dana Jansens danakj@orodu.net
5ca9c2e0
watch for groups in .desktop files and remember the current group. validate the names, and make sure no duplicates and "Desktop Entry" comes first
Dana Jansens danakj@orodu.net
4968f7c6
avoid ascii control characters in strings
Dana Jansens danakj@orodu.net
70e819a9
add beginning of .desktop file parsing, grabs a line of text from the input file at a time and strips out any \0 characters
Dana Jansens danakj@orodu.net
4f280356
make enum values match numbers in the spec, and make the .desktop file reader function take a list of paths to look for the file in
Dana Jansens danakj@orodu.net
1861350f
install the obt/ddfile.h header
Dana Jansens danakj@orodu.net
4cff6c0e
add function to give the list of autostart directories
Dana Jansens danakj@orodu.net
0b9910b4
add some functions for parsing a value in a .desktop file
Dana Jansens danakj@orodu.net
e02f7884
allow non-normal windows to go to 0,0.  and remove a debugging g_print
Dana Jansens danakj@orodu.net
15d7f710
Add menu seperator style to Clearlooks

The default themerc is quite old and does not include the slightly newer
option to theme the menu seperator, here is a patch to fix that and some
very trivial tweaks to overall theme to better match the metacity/gtk
version.
David Barr david@chalkskeletons.com
64adc0ee
add a function client_is_oldfullscreen() that determines if a window is an "oldschool fullscreen window" or not.  use this throughout.  and allow oldschool fullscreen windows to move to 0,0 even with a strut there.
Dana Jansens danakj@orodu.net
28df6162
when an app tries to move to 0,0 and there is a strut there (java swing!), move it to inside the strut instead (unless it is an oldschool fullscreen app)
Dana Jansens danakj@orodu.net
cfce9884
missing a g_slice_free
Dana Jansens danakj@orodu.net
daa2e0ab
libexecdir is provided by automake, and gnome-settings-daemon is not always in /usr/libexecdir, use the dir from automake
Dana Jansens danakj@orodu.net
115039fb
Type is a mandatory field of a .desktop, so add it to the old gnome-interfacing-desktop file
Dana Jansens danakj@orodu.net
6976f419
Show client menu on right click anywhere on a window frame (left and right were excluded)
Dana Jansens danakj@orodu.net
54a808fe
Added shade-icon to client-menu
Tobias Gläßer tobimensch@yahoo.de
59c83164
make array large enough
Dana Jansens danakj@orodu.net
b7ddaa57
get the modifier mask for a modifier key that is pressed/released more accurately, using the table we built already for other purposes
Dana Jansens danakj@orodu.net
4418e698
save the state of the modifiers only when starting an interactive action
Dana Jansens danakj@orodu.net
2c5d755b
move the startup command launching into a helper function
Dana Jansens danakj@orodu.net
bcc31faf
revamp the autostart functionality, so autostart apps launch after openbox.

add /usr/libexec/openbox-autostart which runs the global/user scripts and
  launches /usr/libexec/openbox-xdg-autostart (which runs .desktop autostart
  stuff)

make openbox-session call openbox with --startup option, to make openbox launch
  /usr/libexec/openbox-autostart *after* it is initialized.

add /etc/xdg/openbox/environment and ~/.config/openbox/environment files to let
  user change environment variables (locale) for their Openbox session, which
  openbox-session loads before running openbox.
Dana Jansens danakj@orodu.net
7d71fb8a
don't use a variable as a format string
Dana Jansens danakj@orodu.net
4d286146
Add skeleton for start of dot-desktop-file parser
Dana Jansens danakj@orodu.net
a8554def
lower the default submenu show delay
Dana Jansens danakj@orodu.net
a891a188
a couple more g_free() to g_slice_free()'s
Dana Jansens danakj@orodu.net
d179d642
more using g_slice_new() instead of g_new()
Dana Jansens danakj@orodu.net
d45af3cb
missed a g_free() that should be g_slice_free()
Dana Jansens danakj@orodu.net
343ca097
dont trust the _NET_ACTIVE_WINDOW timestamp. (fixes bug #4519)

if we decide to focus the window, do not use their provided timestamp.
chromium gives a very old timestamp, which means we think we're focusing the
window but it never actually gets focus, leading to inconsistent behaviour by
openbox.  use the timestamp for making decisions about passing focus if you
want (we dont right now), but not for the XSetInputFocus call.
Dana Jansens danakj@orodu.net
f011ce4c
Remove mismerge-added files
Mikael Magnusson mikachu@gmail.com
1265a23e
include imlib2 as a dep of obrender in the pkg-config file if it's using it
Dana Jansens danakj@orodu.net
3f5403a9
make the obt .pc file do -lobt, not -lobrender
Dana Jansens danakj@orodu.net
aeac3b73
remove a bunch of g_new()/g_free() by returning Rect const*'s from screen area functions when possible
Dana Jansens danakj@orodu.net
e61fd887
use g_slice_new() instead of g_new() part 4
Dana Jansens danakj@orodu.net
890e13b9
use g_slice_new() instead of g_new() part 3
Dana Jansens danakj@orodu.net
4f93731c
use g_slice_new() instead of g_new() part 2
Dana Jansens danakj@orodu.net
1d57f7b0
using g_slice_new() instead of g_new() part 1
Dana Jansens danakj@orodu.net
98c86118
have obt refresh the xlib keyboard stuff on mappingnotify events
Dana Jansens danakj@orodu.net
7c2eb3a7
destroy XIC's that belong to an XIM before closing the XIM, else Xlib will seggie!
Dana Jansens danakj@orodu.net
aa5394ca
Check node->name for null

Seems to happen sometimes with a well placed xml comment.
Mikael Magnusson mikachu@gmail.com
35ce211e
dont print warnings when reading keys which dont generate text
Dana Jansens danakj@orodu.net
096dad0c
make control keys work in menus/dialogs/etc with the new obt code, using XLookup stuff
Dana Jansens danakj@orodu.net
6c760c5a
initialize the action shutdown function to NULL
Dana Jansens danakj@orodu.net
5b6f3c6f
pass an input context to the interactive input function
Dana Jansens danakj@orodu.net
08269cef
make menu input work with the new obt keyboard stuff.

create an Input Context for use during keyboard grabs, and use this to
  translate KeyPress events properly.
make the menu respond to KeyPress events, since these are the only ones that
  can be translated properly, but still execute things from KeyRelease events
Dana Jansens danakj@orodu.net
62f8a5c4
make the menu use the new obt stuff when reading keyboard input so it can handle input from the non-base group and composed input
Dana Jansens danakj@orodu.net
41dbce90
make obt translate keypress events to a valid utf8 character (note this makes openbox not compile)
Dana Jansens danakj@orodu.net
43d62990
don't strip the state for keyboard events

this allows translation of keys not in the base keyboard layout
Dana Jansens danakj@orodu.net
8f1ea42b
add interface in obt to create an Input Context for a window
Dana Jansens danakj@orodu.net
6e280e9f
create an X Input Method in obt for the app to use for all input
Dana Jansens danakj@orodu.net
e83803b8
get xlib to reload the keyboard on MappingNotify events
Dana Jansens danakj@orodu.net
c745d057
XKB header comes from obt
Dana Jansens danakj@orodu.net
8add9241
check the xkb version before using it
Dana Jansens danakj@orodu.net
580e2167
make the execute action not segfault when using a prompt (bug #4543)

also save the client when using a prompt so it can be used if you choose "yes" from the prompt
Dana Jansens danakj@orodu.net
2202f11f
add an optional shutdown function which actions can register
Dana Jansens danakj@orodu.net
c168faee
i learnt what xkb does with the state.

use the state from keyrelease events directly, rather than query the state (which is not as accurate!)

the xkb state (as opposed to the normally sent compat state) contains extra info like the keyboard group, the pointer buttons, etc.  so we can just strip that stuff out. (See section 2.2.2 of the XKB proto document)
Dana Jansens danakj@orodu.net
e9070fe7
dont assert when there is no valid key layout present
Dana Jansens danakj@orodu.net
4f83a15f
Use correct ac variable in version.h.in
Mikael Magnusson mikachu@gmail.com
78b8bd01
don't link libobt into libobrender

it makes "warning relinking" weird things happen when doing make install.
we already list it as dependency in the pkgconfig file anyway
Dana Jansens danakj@orodu.net
8116106f
fixing up obxprop manpage
Dana Jansens danakj@orodu.net
6014a417
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
31f0c8c1
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
02a956b0
Init all fonts to NULL, so if they arent in the config they use the default font
Dana Jansens danakj@orodu.net
0cd6f4e4
Add a hook to unset the client in the open menu frame instead of closing it

Also nukes menu_frame_hide_all_client() as it is now unused.
Mikael Magnusson mikachu@gmail.com
7cfaae8d
Don't close the menu when you held control even for execute
Mikael Magnusson mikachu@gmail.com
d00a0060
Don't alt-tab to skip_taskbar iconic windows if they have parents
Mikael Magnusson mikachu@gmail.com
03b4c872
adjust who shows up in the alt-tab list using SKIP_TASKBAR (Fixes bug #4503)

allow window types != NORMAL to not show up in the alt-tab list
but don't allow DIALOG types to hide from the list
also any window which is DEMANDS_ATTENTION should appear in the list regardless
  of its SKIP_TASKBAR status
Dana Jansens danakj@orodu.net
7be28d30
don't use client_move() to end a move

client_move() uses the client's current width/height, whereas all along we
  were using the width/height the client had at the start, so this causes
  client_configure() to behave differently at the end than during the move
Dana Jansens danakj@orodu.net
16433ce0
allow multiple escaped _'s in a menu label, and allow a real _ to come later in the label (Fixes bug #4355).
Dana Jansens danakj@orodu.net
1e72cf5e
make edge detection for maximized windows only look at the edges of screens
Dana Jansens danakj@orodu.net
8d7ab691
catch the SIGTTOU and SIGTTIN signals when an app we launch tries to use its stdin/out (but we don't have one either).  Fixes bug #4072.
Dana Jansens danakj@orodu.net
0e3ce9e4
if we get an event on a subwindow of root that we don't know about, but it is related to a press we received on the root window, then process the event (Fixes bug #3702)
Dana Jansens danakj@orodu.net
d3ca5d5b
Remember the maximized state of a window when it goes fullscreen and try restore it after
Dana Jansens danakj@orodu.net
54e04a52
If a window places itself at (0,0) and there are struts there, assume it is a bug.  Also allow oldschool fullscreen windows that cover all monitors on a multihead setup to work properly

Added a test 'oldfullscreen' that makes a oldschool fullscreen window
Dana Jansens danakj@orodu.net
6cf33570
allow app rules to match windows by their title when mapping

and save the title in the _OB_APP_TITLE property
Dana Jansens danakj@orodu.net
ae85462f
if openbox isn't running, show messages on the console rather than just losing them (like when another WM is running)
Dana Jansens danakj@orodu.net
3bd4397b
Merge branch 'backport' into work

Conflicts:

	openbox/frame.c
Dana Jansens danakj@orodu.net
937b5298
remove the session.c file from actions, as it is no longer used
Dana Jansens danakj@orodu.net
e8b6ead2
NULL ic when we failed to load an image
Mikael Magnusson mikachu@gmail.com
567fd15e
Merge branch 'backport' into work

Conflicts:

	configure.ac
	data/rc.xml
	openbox/client.c
	openbox/event.c
	openbox/focus_cycle.c
	openbox/focus_cycle_popup.c
	openbox/openbox.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	parser/parse.c
	version.h.in
Dana Jansens danakj@orodu.net
3e9dbc01
Fix ordering so fallback for inactive osd to label works

The themeing options (sic) for inactive osd labels added in
cfdbe23e0d9b72b4c220a10ddf60a4e981967b63 had the fallback to inactive
label before that was read in, so fallback failed to pick up some
things.
Mikael Magnusson mikachu@gmail.com
b3cc8f48
allow application rules to place transient/dialog/splash windows, and allow application rules to match only on the role or type if you wish.
Dana Jansens danakj@orodu.net
8c9fb63b
Rework the code provided by Kadlcik Libor for loading/showing icons in Openbox menus.

This changes how the imagecache works, you can load an image into it directly,
or you can load it by name (then it will load it from a file on disk).

NOTE: The name part is incomplete, as it needs to use the freedesktop.org icon
spec to search for the right file.  Also to resize it should look for another
icon on disk with the same name but different size (icon themes).
Dana Jansens danakj@orodu.net
fc120a75
No \n on ob_debug in this branch.
Mikael Magnusson mikachu@gmail.com
51257397
Some style changes, less ifdefs.
Mikael Magnusson mikachu@comhem.se
0352abfa
This patch implements support for icons in user-defined menus into Openbox

Image loading is done using the Imlib2 library.
I chose Imlib2 because it's pretty fast, it's easy to use, supports many file
formats (tested xpm, gif, jpeg, png) and doesn't introduce too much bloat (it
depends :)).

I ported the patch to 3.4.7-pre3 and added some enhancements. Caching is much
better now, and icons can be disabled at compile time using --disable-imlib2
option.

What's new?
Syntax of configuration files (namely rc.xml and menu.xml) has been changed
slightly to allow users to associate icons to menu entries. This is done by
specifying path to icon file in the new "icon" attribute in "<item>" element,
e.g:
<item label="Vim" icon="/usr/share/pixmaps/vim-32.xpm">
  <action name="Execute"><execute>x-terminal-emulator -T Vim -e
vim</execute></action>
</item>

If user doesn't want to display any icons in his user-defined menus, he/she can
disable icons in rc.xml, inside "<menu>" section:
<menu>
 ...
  <showIcons>no</showIcons>
 ...
</menu>
Default value is "yes".
(New boolean variable "config_menu_user_show_icons" has been added to source
code.)

An icon is loaded (using menu_item_attach_icon()) when a new entry of menu is
created. Fortunately, I haven't notice any performance problems because of this
:).
Kadlcik Libor KadlSoft@seznam.cz
63f748aa
Make focus_valid_target() take a desktop argument.

So you can find valid targets on desktops other than the currently visible one
Dana Jansens danakj@orodu.net
447cf225
use the valid_focus_target() method for choosing what to show in the client list menus
Dana Jansens danakj@orodu.net
6457a55f
allow alt-tab etc to move focus to skip_taskbar windows when they are iconic
Dana Jansens danakj@orodu.net
0b3cfc9d
use obt_xml_* to navigate the xml file (also XML tags are case sensitive)
Dana Jansens danakj@orodu.net
424ea14e
ignore some added tests
Dana Jansens danakj@orodu.net
3368b91d
Don't handle input events on prompts if they should be used for a binding/menu instead.

Also, be more careful about making the prompt buttons look pressed, don't make them pressed from a motion notify event if they didnt first handle the press.
Dana Jansens danakj@orodu.net
73575c10
Merge branch 'backport' into work

Conflicts:

	Makefile.am
	openbox/actions/focus.c
	openbox/config.c
	openbox/event.c
	openbox/menuframe.c
Dana Jansens danakj@orodu.net
4f414ed0
Set the XDG_MENU_PREFIX to "kde-" when running an Openbox/KDE session.
Dana Jansens danakj@orodu.net
7cf9f174
reflect the change that parse.c/h was renamed to xml.c/h in the file header comments
Dana Jansens danakj@orodu.net
7ac0b919
when holding Shift for the client list menus, bring the selected client to the current desktop (Request #4284)
Dana Jansens danakj@orodu.net
ce24cbd0
check more headers before including them
Dana Jansens danakj@orodu.net
b06b6845
rename the obt_parse library to obt_xml (since it is very xml specific)
Dana Jansens danakj@orodu.net
04dc598a
add obt_parse_save_file() method to the obt parse library
Dana Jansens danakj@orodu.net
7aae8cc5
Set up work for making a 3.5 prerelease.

Set version stuff to 3.5.0-rc1.
Copy the CHANGELOG from 3.4-working.
Rename the obt-4.0 and obrender-4.0 pkgconfig stuff to obt-3.5 and obrender-3.5
Rename the "render" directory to "obrender" so that the public headers can be
  installed in <obrender/*>
Dana Jansens danakj@orodu.net
a03b817a
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
b7393636
make a config option for the inactive osd font
Dana Jansens danakj@orodu.net
cfdbe23e
Add themeing options for inactive osd labels, osd.inactive.label.*

(rename the current osd label options from osd.label to osd.active.label, similar to the window.(in)?active.label options.
Dana Jansens danakj@orodu.net
ad812e62
Add a focus option, unfocusOnLeave that removes focus from a window when the pointer leaves it

This uses the same delay to unfocus as is used for focusing on enter
Dana Jansens danakj@orodu.net
965ed890
Merge branch 'backport' into work

Conflicts:

	openbox/screen.c
Dana Jansens danakj@orodu.net
aeac6294
Show the desktop popup as long as the interactive desktop switch is active
Dana Jansens danakj@orodu.net
501943b5
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
1a348576
Make the relative desktop switching actions interactive

The desktop popup can now be shown "permanently" in which case it stays until
you tell it to hide.
Dana Jansens danakj@orodu.net
1b392b5f
Allow the interactive cancel function to be optional
Dana Jansens danakj@orodu.net
82ac2481
Add some directional focus bindings to the default config file.
Dana Jansens danakj@orodu.net
d18d9c93
Make it possible for an action name to choose whether it is interactive or not based on its options.

This way we can use the same name with options for an interactive action and a
non-interactive action.

Shorten the names of the ObActionsInteractive* functions to ObActionsI*

Add a ObActionsIPreFunc that is called for interactive actions
before the interactivity (key/mouse grab) is started.

Add a ObActionsIPostFunc that is called for interactive actions
after the interactiviti (key/mouse grab) has ended.
Dana Jansens danakj@orodu.net
50d66268
Merge branch 'backport' into work

Conflicts:

	obt/keyboard.c
	obt/keyboard.h
	openbox/event.c
	openbox/menuframe.c
	openbox/moveresize.c
	openbox/openbox.c
	openbox/screen.c
Dana Jansens danakj@orodu.net
a93b00a5
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
acafa38c
Merge branch 'backport' into work

Conflicts:
	openbox/config.c
	openbox/event.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	openbox/screen.h
Dana Jansens danakj@orodu.net
2f09e0ce
Merge branch 'backport' into work

Conflicts:

	openbox/actions/all.h
	openbox/actions/session.c
	openbox/client.c
	openbox/event.c
	openbox/grab.c
Dana Jansens danakj@orodu.net
84843c3f
strip leading/trailing whitespace off stuff when reading it from the configs
Dana Jansens danakj@orodu.net
4bf6b1b5
Merge branch 'backport' into work

Conflicts:
	openbox/popup.c
Dana Jansens danakj@orodu.net
c02c825c
Fix an unsigned/signed warning.
Dana Jansens danakj@orodu.net
44df758d
Pointers are long-sized on x86_64.
Dana Jansens danakj@orodu.net
2972e2f7
Fix spacing from 8f37a97a4cc29d35f6a632ef2f71ac760e301ee5
Dana Jansens danakj@orodu.net
0b6f0942
Add a test that grows a window by changing its normal hints.
Dana Jansens danakj@orodu.net
ca1a27be
Revert "Revert "make windows stay on screen when..."

Just kidding.  This doesn't revert d81d54c7a977a034199f24fc8fa7433e634aaf91 but
it redoes the work that patch reverted in a better, less intrusive, way.
Dana Jansens danakj@orodu.net
c8281548
Revert all commits for the Hooks feature to move it to a topic branch.

This reverts commit fd2f617be7ff57fcb187daa737f66d243544c8cd.
This reverts commit a47d0a53652a96ca1df96fc9268757df1431ae55.
This reverts commit a1908e076736e1a618bd305c5963dbfecaa30497.
This reverts commit dc2e6f6bf7143a56de360a393b33906735e63625.
This reverts commit 985e7dadf9a3ebf4bd265d955c3198e96405e5d2.
This reverts commit db781556d63d1a50bd1b1b4b6b5423ef703bf2c7.
This reverts commit feec8f663f0a11546c2da87575fecc8a88d97ca1.
Dana Jansens danakj@orodu.net
fa0ae17a
Make clang happier

Add asserts to default: in switch statements
Store pointed to variables locally so it knows they don't change
Remove some dead assignments
Mark ob_exit_with_error as noreturn
Use "%s", msg instead of just msg to printf style functions
Use the c_pfocus variable
Mikael Magnusson mikachu@gmail.com
a170ad7c
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
a92c209f
Merge branch 'backport' into work
Mikael Magnusson mikachu@gmail.com
b89cc585
Add all the action names used in 3.4 so configs don't break
Mikael Magnusson mikachu@gmail.com
308478e4
Merge branch 'backport' into work

Conflicts:
	openbox/actions/desktop.c
	openbox/client.c
	openbox/event.c
	openbox/extensions.c
	openbox/popup.c
	openbox/screen.c
	parser/parse.c
Mikael Magnusson mikachu@gmail.com
3f72b9d6
Fix a typo in debug message
Mikael Magnusson mikachu@gmail.com
26383345
Add support for 24bit
Mikael Magnusson mikachu@gmail.com
d69530a4
Close openbox.log when restarting
Mikael Magnusson mikachu@gmail.com
6d0c4d7f
Merge branch 'backport' into work

Conflicts:
	openbox/config.c
Mikael Magnusson mikachu@gmail.com
4145468a
Merge branch 'backport' into work

Conflicts:
	openbox/event.c
	openbox/frame.c
Mikael Magnusson mikachu@gmail.com
90cecafa
Merge branch 'backport' into work
Mikael Magnusson mikachu@gmail.com
bd2db36b
Another problem pointed out by clang

Using format specifiers without arguments in printf is still bad.

openbox/debug.c:105:18: warning: format string is not a string literal (potentially insecure)
    fprintf(out, log_domain);
                 ^~~~~~~~~~
openbox/debug.c:107:18: warning: format string is not a string literal (potentially insecure)
    fprintf(out, level);
                 ^~~~~
openbox/debug.c:109:18: warning: format string is not a string literal (potentially insecure)
    fprintf(out, message);
                 ^~~~~~~
Mikael Magnusson mikachu@gmail.com
a1746ab2
Merge branch 'backport' into work

Conflicts:
	openbox/event.c
Mikael Magnusson mikachu@gmail.com
c230443c
Merge branch 'backport' into work
Mikael Magnusson mikachu@gmail.com
e6fea245
Merge branch 'backport' into work

Conflicts:
	openbox/client.c
	openbox/prop.c
	openbox/prop.h
Mikael Magnusson mikachu@gmail.com
7b57ef12
No \n on ob_debug in this branch.
Mikael Magnusson mikachu@gmail.com
8f37a97a
The code to replace $wid/$pid died on $foo.

It failed to increment a variable after finding a $ but no pid or wid,
which led to a fun infinite loop. Also don't check if c[1] is w if we
already established it was p.
Mikael Magnusson mikachu@gmail.com
d81d54c7
Revert "make windows stay on screen when they..."

This reverts commit 73adc6480d59fc5dccf9fe19ed5234c9582b328c.
I know I had a good reason for reverting this commit, I don't know what
that reason was though.
Mikael Magnusson mikachu@comhem.se
6799c67c
Merge branch 'backport' into work

Conflicts:

	openbox/config.c
	openbox/keyboard.c
	openbox/moveresize.c
Mikael Magnusson mikachu@comhem.se
661a53cb
Don't need to explicitly check for xft.
Mikael Magnusson mikachu@comhem.se
73adc648
make windows stay on screen when they are resized due to their normal hints changing
Dana Jansens danakj@orodu.net
fd2f617b
remove some verbose debug prints
Dana Jansens danakj@orodu.net
51bc793e
Make alt-tab icon size configurable.
Mikael Magnusson mikachu@comhem.se
e4f0be1a
fix a bug from when $window changed to $wid in the execute action
Dana Jansens danakj@orodu.net
ec328fc0
Merge branch 'backport' into work

Conflicts:

	obt/keyboard.c
	openbox/actions/cyclewindows.c
	openbox/actions/directionalwindows.c
	openbox/frame.c
	openbox/openbox.c
Mikael Magnusson mikachu@comhem.se
cfe36a0d
Fix a typo in --help output (master only).
Mikael Magnusson mikachu@comhem.se
18141d78
Merge branch 'backport' into work

Conflicts:

	openbox/client.c
Dana Jansens danakj@orodu.net
40377ab1
add some debug prints in the session code
Dana Jansens danakj@orodu.net
41a1f896
make --debug-focus and --debug-session only show their appropriate messages so you can filter easier
Dana Jansens danakj@orodu.net
d78ae054
Merge branch 'backport' into work

Conflicts:

	openbox/session.c
Mikael Magnusson mikachu@comhem.se
4b5373f6
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
7fb107cd
Merge branch 'backport' into work

Conflicts:

	openbox/actions/execute.c
	openbox/event.c
	openbox/openbox.c
	openbox/openbox.h
Dana Jansens danakj@orodu.net
ac255432
use g_debug for debug messages
Dana Jansens danakj@orodu.net
722a712b
show prompts when printing error messages
Dana Jansens danakj@orodu.net
c70379fa
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
9676757a
Merge branch 'backport' into work

Conflicts:

	openbox/actions/desktop.c
	openbox/actions/if.c
Mikael Magnusson mikachu@comhem.se
feec8f66
missing a header
Dana Jansens danakj@orodu.net
37705f44
Merge branch 'backport' into work

Conflicts:

	openbox/actions/all.h
	openbox/event.c
	openbox/prompt.c
Dana Jansens danakj@orodu.net
a47d0a53
queue hooks so that they don't run as each thing happens, instead run them at the end.  keep the openbox code paths fast.
Dana Jansens danakj@orodu.net
93a38d46
make it $pid and $wid, it's a little faster this way and they look the same so why not
Dana Jansens danakj@orodu.net
435df32a
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
26cd4d19
move some code around in the execute action
Dana Jansens danakj@orodu.net
94d41260
instead of passing things to the environment, substitute $pid and $window inline in the Execute command string
Dana Jansens danakj@orodu.net
94c60ba7
pass the targeted window's PID (if available) and WINDOW_ID to the environment of the Execute action
Dana Jansens danakj@orodu.net
a1908e07
always send the exact client to the hook's actions that the hook fired for
Dana Jansens danakj@orodu.net
dc2e6f6b
Get hooks working
Dana Jansens danakj@orodu.net
985e7dad
change some of the hooks, and add all the hooks to the code so that they run
Dana Jansens danakj@orodu.net
db781556
Add a hook system.  They hooks don't run yet but they parse from the config file.
Dana Jansens danakj@orodu.net
173b9b76
Merge branch 'backport' into work

Conflicts:

	openbox/client.c
	openbox/screen.c
Mikael Magnusson mikachu@comhem.se
9d1bb266
render depends on obt, so make/install it first (fixes making deb package from it)
Dana Jansens danakj@orodu.net
163950b2
Merge branch 'backport' into work

Conflicts:

	Makefile.am
Mikael Magnusson mikachu@comhem.se
f857b0eb
Simplify client_set_state.
Mikael Magnusson mikachu@comhem.se
da889f03
set the right version in the new render and obt .pc files
Dana Jansens danakj@orodu.net
deb5ef62
obrender uses obt now, there is no obparser anymore
Dana Jansens danakj@orodu.net
8bd02bf4
Merge branch 'backport' into work

Conflicts:

	openbox/actions/execute.c
Dana Jansens danakj@orodu.net
26cc41f6
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
22a88cfe
Merge branch 'backport' into work

Conflicts:

	openbox/client.c
	openbox/event.c
	openbox/event.h
Mikael Magnusson mikachu@comhem.se
7e47a570
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
8387c6cc
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
97de7377
Merge branch 'backport' into work

Conflicts:

	openbox/menuframe.c
	openbox/prompt.c
	openbox/prop.c
	openbox/prop.h
Dana Jansens danakj@orodu.net
198d9898
Merge branch 'backport' into work

Conflicts:

	openbox/openbox.c
	openbox/session.c
Dana Jansens danakj@orodu.net
32638454
Merge branch 'backport' into work

Conflicts:

	openbox/grab.c
	openbox/keyboard.c
Dana Jansens danakj@orodu.net
9e05faf3
() -> (void) also in .h files, and fix a place that gave arguments when it shouldn't have.
Mikael Magnusson mikachu@comhem.se
0ffd1ccc
() -> (void)
Mikael Magnusson mikachu@comhem.se
db49122d
Merge branch 'backport' into work

Conflicts:

	openbox/frame.c
	openbox/menuframe.c
Dana Jansens danakj@orodu.net
beae040a
remove prop.c/h, as they were reintroduced in a bad merge (0dc7eca4cdfff6425e19a0bace0f9ae8834d04e8)
Dana Jansens danakj@orodu.net
e1b4b9eb
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
b01dd0b2
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
ceb77efd
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
def8fc70
obprompts do not have a stacking layer, as they don't appear directly in the stacking list
Dana Jansens danakj@orodu.net
91a9000d
draw a box inside the key-focused button in an ObPrompt.  also fix rendering the buttons when they are parent-relative.
Dana Jansens danakj@orodu.net
957e07cb
fix min-size calculations for lineart textures
Dana Jansens danakj@orodu.net
b026bd2e
make ObPrompts resize and redraw correctly when reconfiguring and changing themes with them open
Dana Jansens danakj@orodu.net
c8ef10a0
put the char member at the bottom of the struct so that it doesnt mess up alignment for the other members (assuming the compiler doesn't pad the struct appropriately anyways)
Mikael Magnusson mikachu@comhem.se
1124d103
Merge branch 'backport' into work

Diffing against the old work branch where most of the changes
in backport were cherry-picked from indicates this should be
alright. (0de9097017d4d1991388a35e380a57dc1135b431)
Mikael Magnusson mikachu@comhem.se
bbf0eed8
don't reference free'd memory, and don't leak memory if the image cache is not saving any resized pictures
Dana Jansens danakj@orodu.net
87124ae8
use g_message not g_print so it can go to the log
Dana Jansens danakj@orodu.net
1d625847
pre-calc the sum of a picture added to an RrImage rather than calculating it every time
Dana Jansens danakj@orodu.net
0cd9986f
add a bunch of comments for images and image caches.  and make the number of resized pictures saved in an image tunable per-icon cache.
Dana Jansens danakj@orodu.net
092c053e
add an override_redirect InputOnly window utility.

The intent was the following:
 This is mostly a copy of override.c, it lets you map a small window
 (1x1 at 0,0 by default) that openbox will treat like the root window,
 useful for scrolling to change desktops over fullscreen and maximized
 windows.

Since then openbox has learned to ignore other's override redirect windows
but I think it might still be useful to have this util.
Mikael Magnusson mikachu@comhem.se
5e204525
when resizing images, pick a source image with the same aspect ratio if possible
Dana Jansens danakj@orodu.net
ea435b99
Introducing the icon cache.

If an icon is the same as one in the cache, then it uses that one.
icons of different sizes (from the same client) are linked together into
one, and resizes of icons are cached and linked to all the various sizes.
so you only need one icon in memory for all your terminals now. ya!
Dana Jansens danakj@orodu.net
ec7898dd
don't ping everything all the time. yay.  ping when you close, and if it doesn't reply then show the kill prompt.   also show a more correct prompt for windows connecting from non-local machines - ask to disconnect them from the X server.
Dana Jansens danakj@orodu.net
3167fc22
Merge branch 'backport'
Dana Jansens danakj@orodu.net
f86fa2b3
make the text area in alttab list mode the same hight as the icon _with hilite_
Dana Jansens danakj@orodu.net
969c2482
commit d9d580e0382 broke kdesktop again, so we have to fix it at an even finer level.  make a pending ReplayPointer happen before moving/showing/hiding a window in an action
Dana Jansens danakj@orodu.net
10cabdfe
Fix a minor issue with lastdesktop right after startup.
Mikael Magnusson mikachu@comhem.se
d9d580e0
Wrap the focus action in actions_client_move.

When alt-tabbing to iconified audacious and the playlist or eq window pops up under
the cursor, they "stole" focus from the main window.
Mikael Magnusson mikachu@comhem.se
9f88642b
Improve menu behaviour when clicking on grandparents.

Some time ago the menus were changed to not trigger on mouseover on a grandparent or higher
so that you wouldn't lose a carefully navigated menu structure. Clicking on an item opens
it though. It used to be on ButtonRelease but now it is on ButtonPress. Additionally, a Press
now causes grandchildren to be closed when clicking on already selected parts of the hierarchy.
Mikael Magnusson mikachu@comhem.se
f6193ad9
Merge branch 'wip/alttab'
Mikael Magnusson mikachu@comhem.se
a3babc4a
tell what signal is going to be sent to the client when killing through the dialog
Dana Jansens danakj@orodu.net
aeb1ebd0
use the hover and press button colors (this was a bug)
Dana Jansens danakj@orodu.net
fcc23e1f
when drawing and measuring strings in "flow" mode, don't ellipsize so that lines can wrap
Dana Jansens danakj@orodu.net
b3c5fab3
don't kill our own ObPrompt windows with kill actions
Dana Jansens danakj@orodu.net
7ecfa01d
if a prompt is already showing and you try show it again, then make it active.  in the "kill this?" prompt use the window's original title without any of the openbox-appended-ness
Dana Jansens danakj@orodu.net
95ee6b10
prompt to kill windows when they are not responding
Dana Jansens danakj@orodu.net
0e9cfd7c
let you specify return codes for the different buttons in a prompt, and specify a callback function for the prompt for when it is closed
Dana Jansens danakj@orodu.net
f4838c9a
position the buttons in the bottom right instead of centering them
Dana Jansens danakj@orodu.net
9a4ce945
key input works for ObPrompt windows now
Dana Jansens danakj@orodu.net
5130c1c2
make the prompt buttons respond to button presses. keyboard input code is there too but not working yet.
Dana Jansens danakj@orodu.net
5f31bde9
properly place the msg texture
Dana Jansens danakj@orodu.net
f5c2d6d3
Make ObPrompt windows get managed as clients, and make them able to reconfigure as well.
Dana Jansens danakj@orodu.net
84f1f2be
give prompts a border, and fix how they are laid out. and make them use the multi-line text capabilities in render for the message
Dana Jansens danakj@orodu.net
9e3ce4ef
allow font rendering to use multiple lines
Dana Jansens danakj@orodu.net
a01ece13
you can create dialog windows called "prompts" which have a message and some buttons!  they don't do anything interesting yet.
Dana Jansens danakj@orodu.net
a0a9b033
make the internal window type more easily inheritable
Dana Jansens danakj@orodu.net
5f04ca85
Merge branch 'backport' into work

Conflicts:

	openbox/config.c
Dana Jansens danakj@orodu.net
4435c3a4
Remove the //.
Mikael Magnusson mikachu@comhem.se
de087382
split the version.h into render/ and obt/ copies, with the appropriate version info
Dana Jansens danakj@orodu.net
1a1619c9
make the xerror output more clear, to say when errors are being properly ignored
Dana Jansens danakj@orodu.net
f740f47e
unused var
Dana Jansens danakj@orodu.net
464e4c59
missing include
Dana Jansens danakj@orodu.net
0dc7eca4
Merge branch 'backport' into work

Conflicts:

	openbox/client.c
	openbox/event.c
	openbox/mouse.c
	openbox/openbox.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	parser/parse.c
	parser/parse.h
Dana Jansens danakj@orodu.net
76fcb473
don't crash when using <raise> and alt-tab and there are no windows to cycle between
Dana Jansens danakj@orodu.net
4764e180
remove the generated obt's pc file
Dana Jansens danakj@orodu.net
f34add54
install the right headers for obt/obrender
Dana Jansens danakj@orodu.net
5563e251
Merge branch 'backport' into work
Dana Jansens danakj@orodu.net
e0c1978c
generalize the window managing process into window_manage, which handles dock apps and the like
Dana Jansens danakj@orodu.net
45e2039a
unlink the log file when opening it so you get a new file
Dana Jansens danakj@orodu.net
e0eb926a
Fix a memleak. (unref ObtPaths)
Mikael Magnusson mikachu@comhem.se
a21840cb
make ob_debug use the g_log system, and make openbox log messages to..a log file ! this will help everyone since most people do not run openbox in a terminal..
Dana Jansens danakj@orodu.net
20b8fcfa
Merge branch 'backport' into work

Conflicts:

	openbox/client.c
	openbox/config.c
	openbox/event.c
	openbox/extensions.c
	openbox/focus_cycle_indicator.c
	openbox/focus_cycle_popup.c
	openbox/menuframe.c
	openbox/moveresize.c
	openbox/openbox.c
	openbox/screen.c
	openbox/stacking.c
	openbox/startupnotify.c
Dana Jansens danakj@orodu.net
dc94a241
don't deiconify windows on reconfigure if they cant be iconified directly.  stop managing windows in reverse order on restart it messes up the dock among other things
Dana Jansens danakj@orodu.net
33131761
don't check for the root window in the window hash tables. waste of cpu
Dana Jansens danakj@orodu.net
266d141f
be explicit than automake 1.9 is needed
Dana Jansens danakj@orodu.net
a0acc01f
Fix a typo that broke transient window hints.
Mikael Magnusson mikachu@comhem.se
d57fd943
increment the library version 1 so that it differs from the backport one, as they are actually different, and overwriting it sucks for obconf
Dana Jansens danakj@orodu.net
d81c4be6
don't assert when you window_find(0)/dockapp_find(0), just return 0
Dana Jansens danakj@orodu.net
90ca468e
Use the # directive to simplify defines.
Mikael Magnusson mikachu@comhem.se
8b23b1a5
put openbox saved sessions in CACHE_HOME not DATA_HOME.  more correct! i think.
Dana Jansens danakj@orodu.net
52369e31
simplify window.h macros, and rename the window types to ObWindowClass for consistent name style
Dana Jansens danakj@orodu.net
73c9a0e0
make an obt_root() macro
Dana Jansens danakj@orodu.net
ec3a4e34
xerror.c is gone
Dana Jansens danakj@orodu.net
ac1b7983
its OBT_VERSION not OB_VERSION anymore
Dana Jansens danakj@orodu.net
2c64fe68
add support for XDG_CACHE_HOME to the obt paths
Dana Jansens danakj@orodu.net
46cf95d3
make menu event handling work more like how other events are handled, less special-casey
Dana Jansens danakj@orodu.net
770032fd
use -ggdb not -g3, as g3 breaks things
Dana Jansens danakj@orodu.net
29637976
make the window.h interface more consistent with the rest of openbox, hide the window_map behind some functions, and make obdockapps not obwindows anymore
Dana Jansens danakj@orodu.net
ea481338
make the obt library branch compile again with all the changes merged in from backport
Dana Jansens danakj@orodu.net
8439c393
let you make an xevent listener for all windows
Dana Jansens danakj@orodu.net
03f45e79
make the xevent stuff work for events from extensions (these go beyond LASTEvent)
Dana Jansens danakj@orodu.net
9f5296fb
add the xevent callback system to libobt in xevent.[ch]
Dana Jansens danakj@orodu.net
700b2c0a
make the mainloop not depend on an X display, and make it uses the obt_display automatically
Dana Jansens danakj@orodu.net
ef54ca59
initialize the lists to NULL (empty)
Dana Jansens danakj@orodu.net
07d5674d
move the xdg path stuff into obt/paths.[ch], and make render and openbox use it
Dana Jansens danakj@orodu.net
1a0a1626
small api change for parsing
Dana Jansens danakj@orodu.net
2e8c9a13
was using random memory for parsing pipe menus with the new parse api
Dana Jansens danakj@orodu.net
c22e6012
fix constness
Dana Jansens danakj@orodu.net
6653c9db
s/xmlChildrenNode/children/
Dana Jansens danakj@orodu.net
edeb0a27
add obt_parse_tree_from_root and use it, cuz it's nice
Dana Jansens danakj@orodu.net
fdabb69f
update openbox to use the current parser interface in libobt

there is also some random bug fixes for other libobt stuff in here.
Dana Jansens danakj@orodu.net
0667bbc3
add parsing to libobt with a new API! (it is not completely changed/fixedup yet)
Dana Jansens danakj@orodu.net
759e9f58
change openbox to use the libotk's keyboard.[ch] stuff instead of the old modkeys.[ch] and some of translate.[ch]
Dana Jansens danakj@orodu.net
1aac72bc
add keyboard.[ch] to libobt. these are for tracking modifier keys, and translating to/from keycodes/keysyms/modmasks (also include a new obt/internal.h for putting functions that are not public)
Dana Jansens danakj@orodu.net
2f0e73cf
add functions for setting locale strings (on top of existing functions for setting utf8 strings). they are untested though! wonder if they work?
Dana Jansens danakj@orodu.net
275fdf8c
ignore the new 4.0 pkgconfig files
Dana Jansens danakj@orodu.net
0fcf5ead
make openbox use the obt prop.c/h stuff

holy search and replace batman
Dana Jansens danakj@orodu.net
e2ddfaf9
s/ob_display/obt_display/ and remove ob_display
Dana Jansens danakj@orodu.net
6c8acc07
add prop.[ch] to the libobt, but they are not used yet. add a global obt_display which obt can use, and the application.
Dana Jansens danakj@orodu.net
5960d27b
setup versioning for libotk that is separate from libobrender (and libobparser for now), and bump library versions up to 4.0.

also make the render versioning more explicit that it's for the render library not all of openbox
Dana Jansens danakj@orodu.net
32a92abf
move the code for tracking what extensions are available on the display into the libobt
Dana Jansens danakj@orodu.net
27274cff
add G_BEGIN/END_DECLS to the mainloop header
Dana Jansens danakj@orodu.net
a2f5a826
move the xerror handling into the libobt
Dana Jansens danakj@orodu.net
452627a5
Move the main loop out into the libobt
Dana Jansens danakj@orodu.net
fe57b2f2
more precise includes
Dana Jansens danakj@orodu.net
b3f0cbf7
split the header up for obt
Dana Jansens danakj@orodu.net
ebce321a
look mom, I made an openbox toolkit
Dana Jansens danakj@orodu.net
98dda05c
Merge branch 'backport'
Dana Jansens danakj@orodu.net
3ae58f45
Merge branch 'backport'
Dana Jansens danakj@orodu.net
2b8b5da0
Merge branch 'backport'
Mikael Magnusson mikachu@comhem.se
9586ad24
Add complementing ShrinkToEdge action.
Mikael Magnusson mikachu@comhem.se
f55ae9e5
Merge branch 'backport'
Dana Jansens danakj@orodu.net
98b9ed97
use clicks for mouse wheel, not press.
Dana Jansens danakj@orodu.net
6354baf4
remove old unused variables
Dana Jansens danakj@orodu.net
fe825d1d
smarter mouse wheel default actions
Dana Jansens danakj@orodu.net
662a6356
bump the library version
Dana Jansens danakj@orodu.net
71e5b868
Update the new strings in the french translation
Dana Jansens danakj@orodu.net
5d59f70e
add the per-app position stuff to the changelog
Dana Jansens danakj@orodu.net
098ae047
change the <execute> to <command> in the mouse focus example
Dana Jansens danakj@orodu.net
c2557387
add the "command" option to the xsd
Dana Jansens danakj@orodu.net
c4188628
use <command> for the execute actions in menu.xml
Dana Jansens danakj@orodu.net
172e93b3
add an 'all' option for the monitor in MoveResizeTo
Dana Jansens danakj@orodu.net
64c59b74
for MoveResizeTo make <width>current</width> and <height>current</height> and <monitor>current</monitor> work like <x> and <y>
Dana Jansens danakj@orodu.net
6066a338
update line numbers for the po files
Dana Jansens danakj@orodu.net
dd41ae98
for MoveResizeTo, make <x>current</x> the same as not specifying <x/> at all
Dana Jansens danakj@orodu.net
7d26873a
update changelog for last few commits
Dana Jansens danakj@orodu.net
040b451e
fix a crash with the focused client closing during the delay of a submenu being shown (and add an assert for this too)
Dana Jansens danakj@orodu.net
84cdb2be
don't focus new windows when the user is in a menu or move/resizing a window
Dana Jansens danakj@orodu.net
1c98d2e3
kill moveresize cleanly if focus is moving (it uses a keyboard grab)
Dana Jansens danakj@orodu.net
2ce109f2
Merge branch 'master' of git://orodu.net/openbox
Mikael Magnusson mikachu@comhem.se
802122d2
Update spanish translation, and make translations a single changelog entry
Mikael Magnusson mikachu@comhem.se
83d6c14f
Update portuguese translation
Mikael Magnusson mikachu@comhem.se
20393474
remove mysterious xkb code...
Dana Jansens danakj@orodu.net
0545563b
be explicit about the event
Dana Jansens danakj@orodu.net
9713a629
cleanup
Dana Jansens danakj@orodu.net
b3e333d6
more updates for the git instruction
Dana Jansens danakj@orodu.net
58c6a8e8
Merge branch 'master' of git://mikachu.ath.cx/openbox
Dana Jansens danakj@orodu.net
768d0a02
update changelog for translation updates
Dana Jansens danakj@orodu.net
4e87654d
Updated Arabic translation
Dana Jansens danakj@orodu.net
f3860de5
Updated Czech translation
Dana Jansens danakj@orodu.net
f8eae5e2
update for the new autopoint
Dana Jansens danakj@orodu.net
4fa86a70
don't resist in orthoganal directions when key resizing windows with aspect ratios
Dana Jansens danakj@orodu.net
00bc0e61
update changelog with recent changes
Dana Jansens danakj@orodu.net
9091da40
don't move parents and children over when inserting desktops - cuz then they all get moved a bunch of times, just move the top direct parent
Dana Jansens danakj@orodu.net
eb0e4834
remove a debug print
Dana Jansens danakj@orodu.net
f0e82075
let you resize aspect ratio windows in north and south directions, and make them resist properly when resizing
Dana Jansens danakj@orodu.net
019e8035
the resistance resizing has been changed from "lock corner" to "the direction being resized" which makes so much more sense and doesn't need all this conversion back and forth
Dana Jansens danakj@orodu.net
c06971c1
don't crash from very short windows
Dana Jansens danakj@orodu.net
1307fb6c
Merge commit 'mika/master'
Dana Jansens danakj@orodu.net
32dd1c48
add new bindings to the changelog
Dana Jansens danakj@orodu.net
d7ca010d
xml values for per app settings should be case insensitive
change strcasecmp to g_ascii_strcasecmp
Mikael Magnusson mikachu@comhem.se
4279b585
update italian translation
Mikael Magnusson mikachu@comhem.se
38fe5bf8
changelog for 3.4.3
Dana Jansens danakj@orodu.net
7f741ba9
don't resist when resizing terminals with the keyboard
Dana Jansens danakj@orodu.net
730062ca
fix growtoedge so it doesn't move terminal windows around
Dana Jansens danakj@orodu.net
52480d87
missing header
Dana Jansens danakj@orodu.net
e85b4306
decorate actions were backwards
Dana Jansens danakj@orodu.net
8756d41f
make the master branch's version very unique and fun
Dana Jansens danakj@orodu.net
43ffc6fc
use keypress for navigating the menu but use keyrelease for running things
Dana Jansens danakj@orodu.net
e4f055b0
use keyrelease to fire menu actions not key press

when keypress is used, the keyrelease gets sent to whatever window is focused.  if it's a stupid program - like most any program - it will update its user_time, preventing the new window from being focused
Dana Jansens danakj@orodu.net
ee8d27a6
ignore .libs and .deps dirs
Dana Jansens danakj@orodu.net
2dbd1fb6
bump version
Dana Jansens danakj@orodu.net
a9065160
don't restack windows when they request it with an invalid sibling
Dana Jansens danakj@orodu.net
551528c5
take care when sibling is specified as an unmanaged window
Dana Jansens danakj@orodu.net
73b3838d
Grab the server when mapping a client and frame, to avoid race conditions
Dana Jansens danakj@orodu.net
1215fbee
add TAGS to .gitignore
Dana Jansens danakj@orodu.net
77baf26a
remove trailing whitespace
Mikael Magnusson mikachu@comhem.se
e5a797f1
don't make moving terminals jump at the start
Dana Jansens danakj@orodu.net
3ba02608
Require libstartup-notification 0.8
Mikael Magnusson mikachu@comhem.se
49b14e7b
Don't cancel interactive action when another one is run which shares the same run function.  This is how actions can cooperate!
Dana Jansens danakj@orodu.net
6ea96a8a
update the default rc.xml with the new actions syntax and the rc.xsd
Dana Jansens danakj@orodu.net
96951500
Merge branch 'mika'
Dana Jansens danakj@orodu.net
a9f2b2c6
a number for placing windows, to keep them on screen, but let you place them off-screen

1. when a window is not on any monitor, don't just ignore it, stick it on the first monitor arbitrarily (rather than the closest monitor - room for improvement?)
2. when placing a window with per-app settings, don't rudely force it back on screen fully.
Dana Jansens danakj@orodu.net
2ff02fc5
don't use freed memory as the coordinates to place windows
Dana Jansens danakj@orodu.net
fd8af998
was incorrectly using the width for calculations instead of the height in client_find_onscreen
Dana Jansens danakj@orodu.net
9ac1099e
Update italian translation from Davide Truffa
Dana Jansens danakj@orodu.net
4b095c1c
previous should not mean the same as last
Mikael Magnusson mikachu@comhem.se
9d593db0
no splitting _() strings
Mikael Magnusson mikachu@comhem.se
e2da61b2
Merge branch 'master' of git://orodu.net/openbox
Mikael Magnusson mikachu@comhem.se
8ad51aef
80 cols everywhere
Mikael Magnusson mikachu@comhem.se
95c58160
80 cols in dock.c
Mikael Magnusson mikachu@comhem.se
bc2c2bc3
make .gitignore more sane
Mikael Magnusson mikachu@comhem.se
c7144a03
update polish translation by Piotr Drąg <raven@pmail.pl>
Mikael Magnusson mikachu@comhem.se
b580cf99
ok i take that back
Dana Jansens danakj@orodu.net
d857f9fa
i know c...honest.
Dana Jansens danakj@orodu.net
5302cf10
add hardcoded key binds back
Dana Jansens danakj@orodu.net
4dbce5e5
fix directionalcycle/target
Dana Jansens danakj@orodu.net
f5b6ee74
the menu.c was renamed
Dana Jansens danakj@orodu.net
ecd6820a
move dockautohide back to ToggleDockAutoHide
Dana Jansens danakj@orodu.net
0401e73f
moev showdesktop back to ToggleShowDesktop
Dana Jansens danakj@orodu.net
6689ad23
move menu action back to ShowMenu
Dana Jansens danakj@orodu.net
c6f2875d
move directionalcycling actions into the same .c file. make interactive actions all kill delayed mouse focus which would kill the action.
Dana Jansens danakj@orodu.net
70a80ba7
make cyclewindows action into nextwindow and previouswindow again
Dana Jansens danakj@orodu.net
2464e593
rename switchtodesktop to gotodesktop.  make stuff compile as well.
Dana Jansens danakj@orodu.net
cfa96390
move desktop and directionaldesktop actions to SwitchToDesktop and SendToDesktop, which take a <to> parameter saying where to go. (last, left, right, next, 5, etc)
Dana Jansens danakj@orodu.net
a3e77fb0
update hardcoded bindings to previous changes
Dana Jansens danakj@orodu.net
2c9d6c8c
fix up the sendtolayer actions
Dana Jansens danakj@orodu.net
23c8f0bc
split layer action back into togglealwaysontop, togglealwaysonbottom, and sendtolayer (which takes <layer> as an argument)
Dana Jansens danakj@orodu.net
3e94f9e6
redo the maximize actions into maximize/unmaximize/togglemaximize with a <direction> argument
Dana Jansens danakj@orodu.net
27aec195
let you specify up/down as well as top/bottom for resizerelative action - backwards compat
Dana Jansens danakj@orodu.net
6ed8bd92
let you specify <command> or <execute> for execute actions - backwards compat
Dana Jansens danakj@orodu.net
ddea4dce
split decorations into decorate/undecorate/toggledecorations
Dana Jansens danakj@orodu.net
6c538915
rename fullscreen back to togglefullscreen
Dana Jansens danakj@orodu.net
07df1909
don't move focus if the window appears or disappears
Dana Jansens danakj@orodu.net
bea270ca
make omnipresent back into toggleomnipresent
Dana Jansens danakj@orodu.net
1af52f6b
adding comments
Dana Jansens danakj@orodu.net
9a0aab8d
split shade back into shade/unshade/toggleshade
Dana Jansens danakj@orodu.net
355981bf
use dock_get_area instead of accessing dock struct directly
Mikael Magnusson mikachu@comhem.se
fc32204f
split out edge detecting code a bit so it is easy to add the dock area and do that too
Mikael Magnusson mikachu@comhem.se
3234a750
change dock to use a Rect area instead of four ints
Mikael Magnusson mikachu@comhem.se
e60eb1be
removing composite.h
Dana Jansens danakj@orodu.net
6377d2ee
fix building without startup notification

Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
065d963f
renaming the readme for git-ish

Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
8adfa33f
update dutch translation and mark translations with desktop strings as 3.4.3, the rest as 3.4.2
Mikael Magnusson mikachu@comhem.se
abff95bc
only add group transients when you have a group

Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
35b87d6d
Remove composte.c

Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
831c27e8
add the .gitignore file and update the po files

Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
4b735744
adding trunk
Signed-off-by: Dana Jansens <danakj@orodu.net>
Dana Jansens danakj@orodu.net
37a5b59d
clear the fuzzy strings and mark translations without the desktop strings as 3.4.2
Mikael Magnusson mikachu@comhem.se
10f627a0
update dutch translation
Mikael Magnusson mikachu@comhem.se
6f79080a
fix grow to edge stuff. also fix key-resizing terminals.
Dana Jansens danakj@orodu.net
256c82a9
fix the remaining reversed actions_client_move
Mikael Magnusson mikachu@comhem.se
1d685c0d
only end the interactive action if it's the action you just ran
Dana Jansens danakj@orodu.net
42a58fcd
*^^*
Dana Jansens danakj@orodu.net
de1679e3
cancel the interactive action only if runing another one. i think this will work?
Dana Jansens danakj@orodu.net
8eea9dcd
oops
Dana Jansens danakj@orodu.net
5dfd8387
fix if action's "focused"
Dana Jansens danakj@orodu.net
63255700
cycleinwdows defaults to forward
Dana Jansens danakj@orodu.net
b02f558c
clever code by mika-kun
Dana Jansens danakj@orodu.net
92bf35e3
finished rev 7756. renaming moveto->moveresizeto
Dana Jansens danakj@orodu.net
2a4cd4f6
renaming movetofromedge->movetoedge and moveto->moveresizeto
Dana Jansens danakj@orodu.net
2827b2ce
let moveto action resize
Dana Jansens danakj@orodu.net
9320558a
you can use -'s for opposite sides of the screen in moveto
Dana Jansens danakj@orodu.net
e5aee030
missing header
Dana Jansens danakj@orodu.net
7c1a0080
add focused check to if action
Mikael Magnusson mikachu@comhem.se
6d9bbfb4
fix focus cycle indicator positioning
Dana Jansens danakj@orodu.net
cfb33de8
create actions from string in a way that won't crash
Dana Jansens danakj@orodu.net
4f7a70f9
add default bindings for the side edges
Dana Jansens danakj@orodu.net
0bfe6c1e
no more crash in splitvertical. i think i changed the size of the middle gradient too. it's always 1px now unless the texture is very small, then it can be 0. if theres a discrepency, the bottom color gets the extra pixel.
Dana Jansens danakj@orodu.net
e4c05040
don't include debian dir in releases
Dana Jansens danakj@orodu.net
3a4236a2
backwardsness
Dana Jansens danakj@orodu.net
5ae93282
child/parents don't get included in tests for occluding/occluded windows, because they always will be above/below eachother!
Dana Jansens danakj@orodu.net
aa901a8e
comment
Dana Jansens danakj@orodu.net
489844da
fix for weird group transient crap.

  2 group transients
+ 1 direct transient of one of the above
--
the other group transient would be a child of the direct transient.

it's friggin annoying to look for this. i had to destroy my super clever but
impossible to maintain client_update_transient_tree in order to do it, and add
redundant execution, where children update their transient trees when a parent
does.
Dana Jansens danakj@orodu.net
4193404a
merge r7699 from 3.4-working, (let per-app settings override program specified position but not user specified)
Mikael Magnusson mikachu@comhem.se
f39cc88f
remove debug print
Dana Jansens danakj@orodu.net
0b97b604
user-sepcified margins
Dana Jansens danakj@orodu.net
976d4065
mssing header
Dana Jansens danakj@orodu.net
76923def
merge r7694 from 3.4-working (note you can use negative positions for starting at the opposite edge)
Mikael Magnusson mikachu@comhem.se
d519deeb
let you specify shortcuts in your menus. change & to be _ for shortcut selection
Dana Jansens danakj@orodu.net
5dba9562
checking the wrong extension! also 2 seconds maybe is better.
Dana Jansens danakj@orodu.net
9eed441c
resize fixings
Dana Jansens danakj@orodu.net
b046c107
or a full second?
Dana Jansens danakj@orodu.net
d755060a
only wait 1/2 a second for sync reply
Dana Jansens danakj@orodu.net
9577bb9a
fancy resizing
Dana Jansens danakj@orodu.net
a3b4b4aa
move keyboard moving into its own function
Dana Jansens danakj@orodu.net
ad8a7e2e
grow to edge works again, using the new edge detection code
Dana Jansens danakj@orodu.net
007a8432
hm..
Dana Jansens danakj@orodu.net
b32181ac
cancel interactive actions when anothr action runs properly
Dana Jansens danakj@orodu.net
0d0ce065
don't focus helper windows that map unless there are no other valid targets in the group (don't move focus from a group window to a new helper window).
this fixes gucharmap.
Dana Jansens danakj@orodu.net
b3d26fdb
comment
Dana Jansens danakj@orodu.net
e0e1b7a5
move to edge works and the code can be used for resize now too, yay
Dana Jansens danakj@orodu.net
da5a4da2
rename <actions> to <finalactions> for the action i didn' know existed too
Mikael Magnusson mikachu@comhem.se
30fa72a7
rename <actions> to <finalactions>
Mikael Magnusson mikachu@comhem.se
8514c1b9
rename <execute> to <command>
Mikael Magnusson mikachu@comhem.se
04b570de
desktop strings for swedish
Mikael Magnusson mikachu@comhem.se
cc42271b
add desktop editing strings to japanese
Mikael Magnusson mikachu@comhem.se
4744a42e
updated japanese translation
Mikael Magnusson mikachu@comhem.se
b41c3395
don't fallback to shaded windows
Dana Jansens danakj@orodu.net
bf0179b7
compliance over functionlity
Dana Jansens danakj@orodu.net
01a35904
rewrote the movetoedge code so it works with both types of edges (to edge and from edge)
Dana Jansens danakj@orodu.net
d9699d14
merge r7664 from 3.4
Dana Jansens danakj@orodu.net
7d275ed6
cleanup
Dana Jansens danakj@orodu.net
bd45f652
debug print
Dana Jansens danakj@orodu.net
85c7635b
remove the highlight action. its not useful without event bindings
Dana Jansens danakj@orodu.net
41010812
add a highlight action
Dana Jansens danakj@orodu.net
a6af2fc0
don't focus docks when you click on them
Dana Jansens danakj@orodu.net
151df8b3
typo
Dana Jansens danakj@orodu.net
08ff13d0
add startupnotify for obconf in the default menu
Dana Jansens danakj@orodu.net
c62cf92c
add shortcuts to add/remove desktops in the client list menus.

also make it so &-specified shortcuts are always underlined
Dana Jansens danakj@orodu.net
97792a40
warp desktops when you hit the edge of the screen while moving a window
Dana Jansens danakj@orodu.net
d933f5c1
missing header
Dana Jansens danakj@orodu.net
8bcd349e
move logic for add/remove desktop into screen.c
Dana Jansens danakj@orodu.net
b1a50aff
action.h not needed here
Dana Jansens danakj@orodu.net
8b721d7a
remove the old action files
Dana Jansens danakj@orodu.net
8228e904
put back default hardcoded mouse bindings. remove default key bindigns
Dana Jansens danakj@orodu.net
cf640af0
add the "if" action
Dana Jansens danakj@orodu.net
52b63adf
remove excessive debug print
Dana Jansens danakj@orodu.net
055cef6c
add the growtoedge action
Dana Jansens danakj@orodu.net
c15da849
add moveto/fromedge actions
Dana Jansens danakj@orodu.net
7f50e049
add the layer action
Dana Jansens danakj@orodu.net
ca28e08c
add dockautohide action
Dana Jansens danakj@orodu.net
b963ed3a
add the adddesktop and removedesktop actions
Dana Jansens danakj@orodu.net
74aa6fe7
let you send windows with the desktop and directionaldesktop actions
Dana Jansens danakj@orodu.net
c62fefb0
always reconfigure the window to its new position even if it was fullscreened/maxed, because the pre-max/fs area may not match its actual current area, and this can lead it things not being updated
Dana Jansens danakj@orodu.net
8ab1e953
add resizerelative action
Dana Jansens danakj@orodu.net
4044b942
let you use "last" in desktop action
Dana Jansens danakj@orodu.net
6973d5b8
add directionaldesktop action
Dana Jansens danakj@orodu.net
16f2b255
add the desktop action
Dana Jansens danakj@orodu.net
5d350da8
rename showmenu to menu
Dana Jansens danakj@orodu.net
d846979d
add the decorations action
Dana Jansens danakj@orodu.net
976add59
add the resize action
Dana Jansens danakj@orodu.net
7e6f7fb4
add the directionaltargetwindow action
Dana Jansens danakj@orodu.net
97bb443e
add the directionalcyclewindows action
Dana Jansens danakj@orodu.net
48facba2
add omnipresent action
Dana Jansens danakj@orodu.net
f227bd99
add the kill/close/cyclewindows actions
Dana Jansens danakj@orodu.net
091a7f77
nuthin
Dana Jansens danakj@orodu.net
d468f853
add max horz/vert actions. add toggle/on/off ability to all the maximize actions.
add shade action.
Dana Jansens danakj@orodu.net
597c9c93
add moverelative action
Dana Jansens danakj@orodu.net
1e6c375f
add the moveto action
Dana Jansens danakj@orodu.net
06ed8ab6
add horiz/vertical options to the maximize action
Dana Jansens danakj@orodu.net
ee6671c3
add maximize action
Dana Jansens danakj@orodu.net
1eb72706
add the fullscreen action
Dana Jansens danakj@orodu.net
cf478381
add the iconify action
Dana Jansens danakj@orodu.net
b0fa6297
add the unfocus action
Dana Jansens danakj@orodu.net
a5c2aadf
add lower and raiselower actions
Dana Jansens danakj@orodu.net
a07465f3
add raise action
Dana Jansens danakj@orodu.net
6c5f6ed1
remove the activate action, make the focus action "activate" but not raise or unshade
Dana Jansens danakj@orodu.net
d642be36
add the move action
Dana Jansens danakj@orodu.net
bb0fd965
add breakchroot action
Dana Jansens danakj@orodu.net
29c4cf4a
add the activate action. it will replace the focus action, as it can just focus without raising now (or without unshading)
Dana Jansens danakj@orodu.net
fbc7607f
add the cyclewindows action
Dana Jansens danakj@orodu.net
58d8b901
add restart action
Dana Jansens danakj@orodu.net
5d57a39b
add exit and reconfigure actions
Dana Jansens danakj@orodu.net
1b7e813c
add the showdesktop action
Dana Jansens danakj@orodu.net
38268dc9
add the showmenu action
Dana Jansens danakj@orodu.net
9dacac5e
added the debug action
Dana Jansens danakj@orodu.net
b76ec18d
the execute action works again.

default hardcoded bindings are temporarily offline
Dana Jansens danakj@orodu.net
780d1b09
well.. it compiles..
Dana Jansens danakj@orodu.net
ae624a14
add code for interactive actions
Dana Jansens danakj@orodu.net
8becd1f9
add interactive action functions. some other changes to stuff that wasnt going to work
Dana Jansens danakj@orodu.net
314c0566
make mouse use the new action stuff
Dana Jansens danakj@orodu.net
828d06f2
dont build the old action stuff.
config uses the new action stuff.
add actions_parse_string
Dana Jansens danakj@orodu.net
5e8ec2cb
maybe the new actions framework is kinda there now
Dana Jansens danakj@orodu.net
e5b94e60
some first structural stuff for new actions
Dana Jansens danakj@orodu.net
e5cc6c82
first draft of beginning of new action code
Dana Jansens danakj@orodu.net
31f63cb4
ok the thumbnails in alt-tab were fun and slow so remove them
Dana Jansens danakj@orodu.net
24a489e8
don't activate on raise
Dana Jansens danakj@orodu.net
eda60855
except without bugs
Dana Jansens danakj@orodu.net
19ecd4d6
look, thumbnails in alt-tab. its such crap though. oh well, just for fun.
Dana Jansens danakj@orodu.net
d158b642
clearer code paths
Dana Jansens danakj@orodu.net
7d3e3ff6
always have the offscreen buffer's shape matched to the window's
Dana Jansens danakj@orodu.net
a138a9a3
don't call framerender directly
Dana Jansens danakj@orodu.net
15cabcb1
only enable automatic composite redirection for the client windows, not the frames. maybe this will avoid screen artifacts with the crap server support
Dana Jansens danakj@orodu.net
4c5034aa
i am starting to loathe the composite extension, and xorg in general
Dana Jansens danakj@orodu.net
d13daff9
80 cols
Dana Jansens danakj@orodu.net
271761db
i forgot to add these
Dana Jansens danakj@orodu.net
fa6f70ce
get the offscreen pixmaps for all windows (including their frames)
Dana Jansens danakj@orodu.net
07cabeb9
backwards macro
Dana Jansens danakj@orodu.net
ad4def8e
check for damage and render extensions if going to use composite. require them for it. also include the cflags/libs. and only run the xcomposite stuff so far when the server supports it
Dana Jansens danakj@orodu.net
85c15cf7
redirect window contents to offscreen pixmaps with composite so they are available for use.
Dana Jansens danakj@orodu.net
31bc4657
add the composite variables
Dana Jansens danakj@orodu.net
f9e705ac
check for composite on the server
Dana Jansens danakj@orodu.net
d945813e
check for the composite library
Dana Jansens danakj@orodu.net
0e2492a5
don't resize windows when they are user size _or_ user positioned
Dana Jansens danakj@orodu.net
607de587
add ukrainian translation
Mikael Magnusson mikachu@comhem.se
24effdfc
fade out disabled buttonsx
Dana Jansens danakj@orodu.net
e3b9c8b6
don't set the default icon on child windows, their parents will have an icon
Dana Jansens danakj@orodu.net
51fdd13f
let you lower a window without lowering its children, or its siblings
Dana Jansens danakj@orodu.net
0a9a0058
fix move to center on xinerama
Dana Jansens danakj@orodu.net
4669203f
always show the client on desktop change, only use donthide to not hide it
Dana Jansens danakj@orodu.net
8923bd70
raise windows smartly when merging desktops
Dana Jansens danakj@orodu.net
e048751f
add center option to placement section
Mikael Magnusson mikachu@comhem.se
774b32f1
little thing
Dana Jansens danakj@orodu.net
c538ebf4
dont fallback to undermouse
Dana Jansens danakj@orodu.net
de2ba8f2
improve the add/remove desktop actions a bunch.
make the lastdesktop action not assert if you remove a desktop (i think it could have)
Dana Jansens danakj@orodu.net
15e6775b
only send configurenotify for user-action configures when it moves
Dana Jansens danakj@orodu.net
0813e445
add force_reply back to client_configure(). client_reconfigure is nicer this time around. eat enter events in client_configure when user is FALSE.
Dana Jansens danakj@orodu.net
84b8cf16
fix focus flicker on sendto+follow
Dana Jansens danakj@orodu.net
1e2b24cd
remove debug print
Dana Jansens danakj@orodu.net
99c6a00c
don't raise windows when moving them between desktops in some cases
Dana Jansens danakj@orodu.net
07f60c3a
fix moved comment
Dana Jansens danakj@orodu.net
15d61585
don't force reconfigure in a number of places, also eat enter events when reconfiguring. yay
Dana Jansens danakj@orodu.net
1443e173
add AddDesktopLast RemoveDesktopLast AddDesktopCurrent RemoveDesktopCurrent
Dana Jansens danakj@orodu.net
338798a4
let desklets snap to eachother
Dana Jansens danakj@orodu.net
042b6bc5
don't snap to below+skiptaskbar (desklets)
Dana Jansens danakj@orodu.net
4e0ba65d
kill the side borders on the handle and titlebar when max_horz
Dana Jansens danakj@orodu.net
b70afd10
let the theme specify all splitgradient colors
Dana Jansens danakj@orodu.net
89ade7a8
don't alloc/free colors every time splitvertical is drawn
Dana Jansens danakj@orodu.net
aaba799e
that got commited by accident somewhere
Dana Jansens danakj@orodu.net
44bc0dab
no un-needed rendering
Dana Jansens danakj@orodu.net
383f1ee8
don't show vertical resize context/arrow when the window is shaded
Dana Jansens danakj@orodu.net
6005c3c8
fix the optimize
Dana Jansens danakj@orodu.net
33ef4736
optimize
Dana Jansens danakj@orodu.net
ee2b334f
wrong vriables
Dana Jansens danakj@orodu.net
a3e7dc19
add struts to the list. reboringify --debug-xinerama
Dana Jansens danakj@orodu.net
2e47bfd0
fix some more crashing. and make the max area selection more correct to avoid dead areas
Dana Jansens danakj@orodu.net
f683e847
initalize static stuff.
make --debug-xinerama more intersting..
Dana Jansens danakj@orodu.net
b394fe8e
wrong variable
Dana Jansens danakj@orodu.net
12ce6118
backwards args
Dana Jansens danakj@orodu.net
1430d59e
fix another crash
Dana Jansens danakj@orodu.net
1890e3b0
fix 1 crash.
Dana Jansens danakj@orodu.net
eb6a2e9c
xinerama support like crazy for struts and everything else too. this probably crashes but its been way too long without a commit.
Dana Jansens danakj@orodu.net
97d4f66c
set workarea correctly
Dana Jansens danakj@orodu.net
3a08c185
dont unshade when clicking the titlebar.
lower when rolling up, raise when rolling down with mouse wheel
Dana Jansens danakj@orodu.net
1514ce75
ignore the dock in placing as a last resort
Dana Jansens danakj@orodu.net
cbaafd2f
use all possible struts when maximizing to fill the screen
Dana Jansens danakj@orodu.net
8c059708
fix how the dock is placed, its struts, and set a window type hint on it
Dana Jansens danakj@orodu.net
80961949
bugfix
Dana Jansens danakj@orodu.net
5d9e0fe2
add the dock struts to everything
Dana Jansens danakj@orodu.net
17b927ab
some typos
Dana Jansens danakj@orodu.net
9586e3bf
plug memory leaks from the new strut code
Dana Jansens danakj@orodu.net
7a6a516b
very cool struts. partial struts actually are partial struts now. possibly way broken with xinerama?
Dana Jansens danakj@orodu.net
739606e3
comment
Dana Jansens danakj@orodu.net
9b5cf4ba
ratios are floats
Dana Jansens danakj@orodu.net
8f2e3f5f
use the same decision code to focus new windows as for focus cycling or focus fallback. yay consistency.
Dana Jansens danakj@orodu.net
d57ea6ec
include padding in the menu header min width
Dana Jansens danakj@orodu.net
124303ab
only xungrabkeyboard when we actually have a passive grab on it
Dana Jansens danakj@orodu.net
8deaf1c2
respect max/min sizes when fullscreen or maximized
Dana Jansens danakj@orodu.net
c51d6ebe
add debug print
Dana Jansens danakj@orodu.net
9e44bed8
stop ignoring enters on window hide, and explain why
Dana Jansens danakj@orodu.net
4b3b71c5
like unmap, don't  let enter events move focus when a window iconifies unless underMouse is on
Dana Jansens danakj@orodu.net
ca4cfdbf
dont use enter events from new windows appearing to focus them, unless underMouse is on
Dana Jansens danakj@orodu.net
517e6357
i dont think people shade windows with the intention of having them hidden by stuff. also bug fix.
Dana Jansens danakj@orodu.net
881a8647
try place under the mouse when theres no free space? maybe thats dumb
Dana Jansens danakj@orodu.net
a883721b
basically this is smart placement but its better now..
Dana Jansens danakj@orodu.net
adfca324
new window placement, but i was a lil tipsy when i started this so maybe its not so good. smart placement was just as useless anyways though, so yeah. and this code is much cleaner. on to stealing fvwm code now.
Dana Jansens danakj@orodu.net
68a100bd
redundant if'ing
Dana Jansens danakj@orodu.net
e549a2d0
when undecorated and keepborder is on, show only the outside border not the clientborder
Dana Jansens danakj@orodu.net
4c56b2de
instead of falling back to any normal window. fallback to the same windows you can focus cycle to.
Dana Jansens danakj@orodu.net
51a4970f
update changelog
Dana Jansens danakj@orodu.net
62ac5e57
bump version. fix library versions
Dana Jansens danakj@orodu.net
fc2e419a
put new things at the bottom of the struct
Dana Jansens danakj@orodu.net
94a2a4d6
let the shadow be 0-256
Dana Jansens danakj@orodu.net
6b05306a
don't limit the highlight at all
Dana Jansens danakj@orodu.net
875ce8ed
fix a debug print
Dana Jansens danakj@orodu.net
89b7311d
make bevel strengths theme-selectable
Dana Jansens danakj@orodu.net
03d1c08d
move focus consistantly when changing desktops with different mouse-focus options - while still being not annoying with omnipresent windows
Dana Jansens danakj@orodu.net
b8e78bba
cache pipe menus without crashing!
Dana Jansens danakj@orodu.net
a1f882b2
make um.. the resizerelative action work right and also not move the window when resizing it and it cant get any smaller/bigger
Dana Jansens danakj@orodu.net
6a79805b
cache pipe menus until the menus close
Dana Jansens danakj@orodu.net
e437dff2
remove debug prints
Dana Jansens danakj@orodu.net
220e568d
allow noninteractive directional focus.

make keybinds noninteractive when the last key in the chain has no modifiers (i think this is what the code was supposed to do but failed.)

don't reset key chains during an interactive action. reset them after an interactive action finishes (honoring chroot)
so you can <C-t><C-Up>Stuff<//> and it'll do stuff as you hit C-Up, you dont have to keep hitting C-t
Dana Jansens danakj@orodu.net
897c70e8
frigging gtk frig.
Dana Jansens danakj@orodu.net
33fe8d44
i think that other emacs fix was "the right one" and this one where we don't always send configurenotifies can go away. that should fix the xemacs stall thing.
Dana Jansens danakj@orodu.net
825672c7
copy/paste :x
Dana Jansens danakj@orodu.net
71f5b460
fix resizerelative for right/bottom edges
Dana Jansens danakj@orodu.net
d89360eb
remove SCIM by default. its caused people problems
Dana Jansens danakj@orodu.net
ef8bd394
delay re-rendering the frame while it is being iconify-animated until the animation finishes (avoid it flashing to unfocused)
Dana Jansens danakj@orodu.net
d3c22b58
use the osd theme stuff for the dock instead of active titlebar
Dana Jansens danakj@orodu.net
b068bf85
update changelog
Dana Jansens danakj@orodu.net
6271c8e9
make client_under_pointer only count windows on the visible desktop. its called halfway thru showing/hiding windows on a desktop change when focusLast is off
Dana Jansens danakj@orodu.net
128209b1
let you use +-+-x in the positions for per-app settings, like x geometry
Dana Jansens danakj@orodu.net
31241125
update changelog for 3.4.1 so far
Dana Jansens danakj@orodu.net
fa2bbcfb
update onyx themes
Dana Jansens danakj@orodu.net
2aa0fcca
let you focus cycle to helper windows if there are only dialog windows around in its group (only normal type windows count as siblings for this case)
Dana Jansens danakj@orodu.net
e3193014
only configure the window after it sets WM_NORMAL_HINTS if it is outside of its new bounds
Dana Jansens danakj@orodu.net
5ac4d96d
mismerged the 3.4 xsd stuff into trunk.
Dana Jansens danakj@orodu.net
882af64f
add shadows on inactive windows
Dana Jansens danakj@orodu.net
2440549a
wrongly indented line
Mikael Magnusson mikachu@comhem.se
d2f2d82d
revert change to theme.. *^^*
Dana Jansens danakj@orodu.net
62a652f6
fix when 1or2px splitvertical
Dana Jansens danakj@orodu.net
44fa95ee
no crashing in splitvertical
Dana Jansens danakj@orodu.net
b60e4717
middle gradient in splitvertical
Dana Jansens danakj@orodu.net
45a3ad6d
small tweak for nonfocused windows? i dont think they are perfect yet.
Dana Jansens danakj@orodu.net
173f0561
better buttons for inactive windows - no hover and bright lightup pressed
Dana Jansens danakj@orodu.net
2114b6ba
add onyx themes to install. make non-active stuff grey
Dana Jansens danakj@orodu.net
4bab32a6
add Onyx themes!?!
Dana Jansens danakj@orodu.net
dc99a2a1
add a hover for pressed
Mikael Magnusson mikachu@comhem.se
6dec1c21
yay. toggled textures and colors for all states.
Dana Jansens danakj@orodu.net
69a5c9c2
revert the change to frame.c
Dana Jansens danakj@orodu.net
fdc10b75
missed a spot
Mikael Magnusson mikachu@comhem.se
96bb8920
back xml themes out of trunk
Mikael Magnusson mikachu@comhem.se
268c1386
bump version
Dana Jansens danakj@orodu.net
fe59f32c
stop processing x events or actions when loop->run becomes false
Dana Jansens danakj@orodu.net
83e7a03e
don't reconfigure twice
Dana Jansens danakj@orodu.net
100b54ff
remove {} just cuz
Dana Jansens danakj@orodu.net
aac72915
fix dirfocus when no dialog
Dana Jansens danakj@orodu.net
0dab2f8b
why is this function declared twice
Dana Jansens danakj@orodu.net
a797a18f
let you lower siblings below eachother
Dana Jansens danakj@orodu.net
4b84ef02
better.
Dana Jansens danakj@orodu.net
364a8704
c comments
Dana Jansens danakj@orodu.net
87724799
i dont think that line is valid, if it ever did run
Dana Jansens danakj@orodu.net
5f2d2b8f
put the directional focus dialog on the active monitor
Dana Jansens danakj@orodu.net
5579b284
make popup dialogs appear on the active monitor with xinerama
Dana Jansens danakj@orodu.net
2b135c53
forgot to change the version string in the header
Mikael Magnusson mikachu@comhem.se
ca342aa7
updated japanese translation, ui visible strings only
Mikael Magnusson mikachu@comhem.se
3c9913c6
update vietnamese translation and rename to just vi
Mikael Magnusson mikachu@comhem.se
7c6050b6
add debug prints
Dana Jansens danakj@orodu.net
4cf8fd5c
if Key_R is set to multiple mods, then it'll use them all now. but Key_L still takes precidence if they are different
Dana Jansens danakj@orodu.net
a97f6fab
rather than making you hit both Key_L and Key_R if they are bound to different things, make Key_L take precidence. But if only Key_R is bound then use that.  If Key_L is bound to multiple masks it'll use them all, but that won't work for Key_R right now.
Dana Jansens danakj@orodu.net
94140a4b
get rid of client->transient_for. just client->parents and client->transient_for_group now.
Dana Jansens danakj@orodu.net
a79e51c6
transient_for is now only used to check for OB_TRAN_GROUP
Dana Jansens danakj@orodu.net
428880d7
more cleanup
Dana Jansens danakj@orodu.net
7a33207a
more cleanup
Dana Jansens danakj@orodu.net
571b09f9
nice code cleanup that's been needed for a long time. add parents list to client, which you can iterate instead of going thru the group.
Dana Jansens danakj@orodu.net
9943a713
add keyboard accels
Dana Jansens danakj@orodu.net
87f11c8d
add vietnamese translation
Mikael Magnusson mikachu@comhem.se
d3095f36
fallback under the mouse when config_focus_under_mouse
Dana Jansens danakj@orodu.net
587523c0
one more..
Dana Jansens danakj@orodu.net
f6aaaedd
better group_full func
Dana Jansens danakj@orodu.net
5c78f329
check if they have a group
Dana Jansens danakj@orodu.net
1fc480c1
make active-disabled shadow offset-y be proper
Dana Jansens danakj@orodu.net
d0bde36a
better code for the last commit. let transients get focus when a group member is focused too.
Dana Jansens danakj@orodu.net
7a13f918
let transients take focus when anything in the transient tree _or the group_ is focused
Dana Jansens danakj@orodu.net
15fb1bde
remove some debug prints
Dana Jansens danakj@orodu.net
0ba396fe
fix parentrel bevels
Dana Jansens danakj@orodu.net
6e575967
add modifier changes
Dana Jansens danakj@orodu.net
ca0c9272
ignore control_l/r shift_l/r and caps_lock bindings. Control, Shift and NumLock are hardcoded to the modmasks for them.
Dana Jansens danakj@orodu.net
b1c209c1
fix for capslock bound to other modifiers. i think this is okay?
strip LockMask instead of what caps_lock is bound to.
Dana Jansens danakj@orodu.net
4548d40c
combine the parent and child textures in fun ways when a parentrelative texture with a bevel is placed right overtop of another texture with a bevel
Dana Jansens danakj@orodu.net
cea86569
typo from code i removed
Dana Jansens danakj@orodu.net
94c95663
don't force clients on screen when restarting
Dana Jansens danakj@orodu.net
04eea8e5
add some padding inside the text box
Dana Jansens danakj@orodu.net
4e9a3bec
make parentrelative raised labels look nice in popups
Dana Jansens danakj@orodu.net
acf6273f
revert that, center the popups for move/resize and keychains
Dana Jansens danakj@orodu.net
7736fcc4
center text in popups when the popu is sized to the text width
Dana Jansens danakj@orodu.net
faab2f44
add comments
Dana Jansens danakj@orodu.net
3499ea83
use the label only for popups without an icon, if the label is not parentrelative
Dana Jansens danakj@orodu.net
c52b63e9
add osd theme stuff
Dana Jansens danakj@orodu.net
ad22b4db
border, not borderwidth.
add osd.border stuff to themetoxml
Dana Jansens danakj@orodu.net
8349e4ca
add osd border stuff
Dana Jansens danakj@orodu.net
aca83272
add osd theme elements
Dana Jansens danakj@orodu.net
698e901c
and interlacing!
Mikael Magnusson mikachu@comhem.se
38feddd5
reset interface age, cuz we added something
Dana Jansens danakj@orodu.net
b265acbd
allow users of obrender to change the ellipsize mode of text textures
Mikael Magnusson mikachu@comhem.se
f5e08ae5
update changelog
Dana Jansens danakj@orodu.net
948bd00b
3.4.0
Dana Jansens danakj@orodu.net
7086c146
dont place transients based on non-normal parents
Dana Jansens danakj@orodu.net
f0455c02
dont use non-normal windows to pick a monitor for transients
Dana Jansens danakj@orodu.net
8772b46b
allow focus to fallback to omnipresent windows, except during desktop switching which is when they are vile
Dana Jansens danakj@orodu.net
9a7c4de2
don't copy the desktop from group parents when they are omnipresent
Dana Jansens danakj@orodu.net
62d9a341
don't change the focus order when a client tries to focus but is not visible. client_activate will -make- it visible anyways.

fixes focus fallback's loop totally breaking (stopping on 32bit and looping forever on 64bit) when it encountered a non-visible window
Dana Jansens danakj@orodu.net
0fb1d4d5
update changelog
Dana Jansens danakj@orodu.net
c0aa4f15
dont let windows place over menu or toolbars if they don't have a parent
Dana Jansens danakj@orodu.net
0a5ac0c8
don't place windows over docks. but let them place over menus and toolbars. i guess not utility windows though?
Dana Jansens danakj@orodu.net
51626b78
unused variables
Dana Jansens danakj@orodu.net
d8c51897
placement improvements?

when placing transients don't place them relative to iconified parents.
try place avoiding max/fullscreen windows first, then ignore them entirely if that fails.
Dana Jansens danakj@orodu.net
f869ec51
when placing transients in the stacking order, only use relatives that are on screen or share the desktop or whatever, not iconic ones
Dana Jansens danakj@orodu.net
6e2d5ccc
update my theme
Mikael Magnusson mikachu@comhem.se
83d6c3a8
fix stacking_add_nonintrusive for when only 2 windows, and one is moving below the focused window (fullscreen losing focus)
Dana Jansens danakj@orodu.net
ee36c0d3
actually allow raised, but default to flat for parentrelative
Mikael Magnusson mikachu@comhem.se
3a89939c
allow effects on parentrelative textures, ie bevels and interlaces and borders
Mikael Magnusson mikachu@comhem.se
4dec70d6
add --restart translation
Dana Jansens danakj@orodu.net
62e068ea
when a bool field is empty return false, not signal 11.. :|
Dana Jansens danakj@orodu.net
b645e372
when an integer field is empty return 0, not signal 11
Dana Jansens danakj@orodu.net
5417e569
add --restart string to czech translation
Mikael Magnusson mikachu@comhem.se
c5ad44a3
revert a committed typo
Dana Jansens danakj@orodu.net
1e5d8ce0
when undermouse is off, ignore enter events from windows lowering/raising themsvelves (or from a pager restacking them)
Dana Jansens danakj@orodu.net
350be88d
update italiano translation
Mikael Magnusson mikachu@comhem.se
a4ef4fd5
unused variables
Dana Jansens danakj@orodu.net
cd5bd7bb
update german translation
Mikael Magnusson mikachu@comhem.se
eb775fab
add 3.4 changelog stuff
Dana Jansens danakj@orodu.net
b253dff6
much simpler and works just as well! client's reference position doesnt change just because the decor sizes do
Dana Jansens danakj@orodu.net
e9fd97fc
remove fuzzy strings
Dana Jansens danakj@orodu.net
bc59c657
remove the 3 badly out-of-date translations from LINGUAS (they wont be in releases for now)
removing hr.po Croatian
removing it.po Italian
removing ja.po Japanese
Dana Jansens danakj@orodu.net
f7c7c047
utf8
Dana Jansens danakj@orodu.net
205d7ff4
restart norway
Mikael Magnusson mikachu@comhem.se
8b1b0b9f
fix a missing &
Dana Jansens danakj@orodu.net
8861b44c
don't use the title separator color for shaded windows
Dana Jansens danakj@orodu.net
3853b19f
make focuslast default to true
Dana Jansens danakj@orodu.net
03931180
add underMouse option
Dana Jansens danakj@orodu.net
0df3d6f6
support serials wrapping around
Dana Jansens danakj@orodu.net
4940d007
super amazing enter event skipping.

also mucho fixed for <underMouse>
Dana Jansens danakj@orodu.net
097d02d9
add <underMouse> focus option
Dana Jansens danakj@orodu.net
e61ad358
return if the window was restacked
Dana Jansens danakj@orodu.net
7dd5fa0a
missing theme->
Dana Jansens danakj@orodu.net
ad3336f7
free the new title separator colors
Dana Jansens danakj@orodu.net
47d63718
revert 7283 until we find out what version they are using
Dana Jansens danakj@orodu.net
c61c7e73
always ungrab the keyboard/mouse with current time because i dont know what else we can do with buggy x.org
Dana Jansens danakj@orodu.net
1fd07ad5
there add new separator colors complete
Dana Jansens danakj@orodu.net
e451993b
add new separator colors
Dana Jansens danakj@orodu.net
a25d0ed1
consistancy
Dana Jansens danakj@orodu.net
439d2c62
remove the title separator width thing.
add a separate color for the title separator
Dana Jansens danakj@orodu.net
25f21544
use the new window.title.separator.width
Dana Jansens danakj@orodu.net
285db844
add tswidth to theme.h, but its always == fbwidth
Dana Jansens danakj@orodu.net
b0aa29db
do the menu_can_hide thing properly. was such a hack before? and the variable was getting set from all kinds of events like motion notify. totally not reliable. now it works all nice.
Dana Jansens danakj@orodu.net
1091e389
rename activedisabled in xml to active-disabled
Dana Jansens danakj@orodu.net
9cc523aa
rename old xrbd activedisabled to active.disabled
Dana Jansens danakj@orodu.net
dcb76cac
better fix for focus going to the frame window when iconifying with RevertToParent. Treat the focus in like a focus out.

When focus moves to a window that doesn't exist, need to set the focus_client to NULL otherwise the client that lost focus won't know and won't update its decor
Dana Jansens danakj@orodu.net
c768a7da
catch focus out events on the frame window - this happens with revert to parent when a window is iconified. we get focusin on the frame without a focus out - which then makes us fallback. but catch the resulting focusout on the frame to make the window lose its focused decor
Dana Jansens danakj@orodu.net
a866259d
when finding edges and we're omnipresent only use windows on screen
Dana Jansens danakj@orodu.net
10f79f4d
change which windows are used for finding edges. its the same as window resistance really now. and works if the window isnt on the current desktop
Dana Jansens danakj@orodu.net
2b28aa8c
smrts.

compare windows for restacking based on their desktops and if they are iconified. dont compare to irrelavent ones. also if the sibling isn't valid then don't use it.
Dana Jansens danakj@orodu.net
22a17d3a
only do restack checks on windows that are visible
Dana Jansens danakj@orodu.net
47529e77
revert 7246 and simplify action_raiselower a bit, turns out 7246 wasn't needed for that after all
Mikael Magnusson mikachu@comhem.se
3547fe26
formatting
Dana Jansens danakj@orodu.net
0f677834
have stacking_restack_request return a bool that says if it did something with TopIf/BottomIf (other cases always return true)
Mikael Magnusson mikachu@comhem.se
062d4d43
add readme.nls with fancy tricks
Dana Jansens danakj@orodu.net
819be4fe
missing a var name
Dana Jansens danakj@orodu.net
3c4e59d5
i think this would overflow?
Mikael Magnusson mikachu@comhem.se
3da77dbf
big explanation
Dana Jansens danakj@orodu.net
668e855b
fix java
Dana Jansens danakj@orodu.net
bad635d2
add bengali (india) translation
Mikael Magnusson mikachu@comhem.se
eb237bf3
add comment
Dana Jansens danakj@orodu.net
af42ac2a
less configure events on mapping
Dana Jansens danakj@orodu.net
32b64b6c
fix comment
Dana Jansens danakj@orodu.net
9b577027
less configurenotify spam
Dana Jansens danakj@orodu.net
fba24cf0
make the default drag threshold 8px
Dana Jansens danakj@orodu.net
2d9260f8
make escape close the whole menu
Dana Jansens danakj@orodu.net
55886f27
nothing really..
Dana Jansens danakj@orodu.net
6fbeeb80
don't hover buttons while the pointer is grabbed
Dana Jansens danakj@orodu.net
50a0bf09
when reconfiguring, readjust clients positions based on the change in their decoration sizes and their gravity
Dana Jansens danakj@orodu.net
e8cd4c4d
fix ooffice (and all stupid windows that use static gravity)
Dana Jansens danakj@orodu.net
a5e6d35e
unupdate syscrash theme
Mikael Magnusson mikachu@comhem.se
87d1d953
update Syscrash theme
Mikael Magnusson mikachu@comhem.se
c356d51a
check for libxml 2.6.0
Mikael Magnusson mikachu@comhem.se
1a82c17d
set the new library versions cuz its not backward compat
Dana Jansens danakj@orodu.net
264dd883
missing a {
bump the version
Dana Jansens danakj@orodu.net
7f5f9c55
cleaner code
Dana Jansens danakj@orodu.net
e4b162d4
only show falling back msg when its true
Dana Jansens danakj@orodu.net
5588c493
add an allow_fallback option when opening a theme
Dana Jansens danakj@orodu.net
5e50b406
cosnt char*
Dana Jansens danakj@orodu.net
467b7f4d
make it possible to iconify a modal window when its parent is the only window left on the desktop.

when focus falls off of a window, don't allow focus to go back to that same target - when a window is iconified is the case.

what focus_fallback_target, to check whe allow_refocus is false, check where focus will actually be sent
Dana Jansens danakj@orodu.net
4ff0d49c
deiconify modal windows when you try to focus their parent
Dana Jansens danakj@orodu.net
487b8c55
add new test to ignore
Dana Jansens danakj@orodu.net
5074d902
add a big comment about more menus
Dana Jansens danakj@orodu.net
24df4baa
dont need to recurse
Dana Jansens danakj@orodu.net
dfb15645
add another skiptskbar test that sets it after mapping
Dana Jansens danakj@orodu.net
58acd2b2
make skiptaskbar test actually skip the taskbar
Dana Jansens danakj@orodu.net
7d93a218
let new utility windows get focus under the normal rules
Dana Jansens danakj@orodu.net
b2dfa2fc
don't hide the dock when the mouse goes into a dock app
Dana Jansens danakj@orodu.net
b27d9d21
left and right edges resized in the wrong direction
Mikael Magnusson mikachu@comhem.se
ed1dcb6b
no const weirdness
Dana Jansens danakj@orodu.net
999cf250
missing header
Dana Jansens danakj@orodu.net
65144cc5
set name to the name of the theme when falling back
Dana Jansens danakj@orodu.net
9a3464b8
that change was a bug after all. mika was right!
Dana Jansens danakj@orodu.net
5ed8f271
fix a segfault
Dana Jansens danakj@orodu.net
16e40dbd
send dcop's output to dev null
Dana Jansens danakj@orodu.net
9e0251cb
oops revert my testing changes to clearlooks! !
Dana Jansens danakj@orodu.net
a9b411ce
fix the bottom decor stuff for maximized windows. kill the border and tings at the bottom for fullmax windows.
Dana Jansens danakj@orodu.net
e473ec2b
dont center utility and stuff windows on screen
Dana Jansens danakj@orodu.net
a4150ae3
add comments
Dana Jansens danakj@orodu.net
ac72dafa
fix clients with static gravity
Dana Jansens danakj@orodu.net
292cb8b4
center splash screens like parentless transients
Dana Jansens danakj@orodu.net
a71a98b6
set a OB_ICONIFY_ALPHA define in misc.h for the 3 places to all use
Dana Jansens danakj@orodu.net
7b14d44b
g_spawn_async wants a char**, not const
Dana Jansens danakj@orodu.net
1188d9b0
don't need to &0xff
Mikael Magnusson mikachu@comhem.se
cb5cc0d7
trying to be as cool as mika /._.;\
Dana Jansens danakj@orodu.net
1d267613
dont free random stuff
Dana Jansens danakj@orodu.net
13f81217
let gcc do the math. it should be compiler optimized away
Dana Jansens danakj@orodu.net
28ad33fd
brackets ftw. opacity for rgba's works.
Dana Jansens danakj@orodu.net
5e98d8a4
set alpha based on iconicness in client list menus
Mikael Magnusson mikachu@comhem.se
9df3e07b
it doesn't work but its something
Dana Jansens danakj@orodu.net
f38be067
set the alpha based on iconicness
Dana Jansens danakj@orodu.net
66d51f26
alpha :x not width
Dana Jansens danakj@orodu.net
319fb359
add the rgba alpha to the menu entries
Dana Jansens danakj@orodu.net
c4eaa943
put an alpha channel in the rgba texture
Dana Jansens danakj@orodu.net
6e06e45f
fix hack for windows moving by their decor size
Dana Jansens danakj@orodu.net
39d94f0d
no pointless using of the comma operator
Mikael Magnusson mikachu@comhem.se
e215fc01
make next/previouswindow and dirfocus actions show the focus_cycle_indicator even if they target the focused window, remove an unused variable from focus_cycle but not from focus_directional_cycle, there we use it to fix the aforementioned indicator.
Mikael Magnusson mikachu@comhem.se
6fa15756
wasted checked, configure will do them for us
Dana Jansens danakj@orodu.net
1b59b9f6
cleaner code yay
Dana Jansens danakj@orodu.net
ba2de2d5
give the client a 0 border again.
Dana Jansens danakj@orodu.net
56b01b73
have the clientpadding color show during resize, and no flashing on unmap. we win !
Dana Jansens danakj@orodu.net
2aa0a6b0
get rid of the plate window
Dana Jansens danakj@orodu.net
a1511e46
get rid of the "inner" window
Dana Jansens danakj@orodu.net
3e8d8108
when focus goes to the root window, and it is coming from another screen, fall back to a client
Dana Jansens danakj@orodu.net
6e5d9c53
use new functions to cancel key grabs
Dana Jansens danakj@orodu.net
c7731ecb
a better ordering for mapping window configure events

configure the window to find where it will actually be, with all the startup states off. then apply the startup states to those dimensions
Dana Jansens danakj@orodu.net
78ff91ae
fix comment
Dana Jansens danakj@orodu.net
b3038070
tell the ksplash screen we've started up, through the dcop command line program, if it's around
Dana Jansens danakj@orodu.net
34bdcb25
corrections to catalan translation
Mikael Magnusson mikachu@comhem.se
98bc768a
reset interface age
Dana Jansens danakj@orodu.net
c726a1f7
set the current theme in a root property
Dana Jansens danakj@orodu.net
9d8e1da4
remove ob_config atom, its not used
Dana Jansens danakj@orodu.net
4b8767bd
add a confignotifymax test
Dana Jansens danakj@orodu.net
1444dcc3
add chinese simplified translation
Mikael Magnusson mikachu@comhem.se
12f1ef9e
ignore stuff in the root dir
Dana Jansens danakj@orodu.net
92e54e48

        
Dana Jansens danakj@orodu.net
f628b21c
remove all the ignoreing
Dana Jansens danakj@orodu.net
28205ff6
ignore built stuff
Dana Jansens danakj@orodu.net
232817b3
ignore built stuff
Dana Jansens danakj@orodu.net
fd3ade8a
ignore built stuff
Dana Jansens danakj@orodu.net
4ad2c266
ignore built stuff
Dana Jansens danakj@orodu.net
9094aa05
ignore built stuff
Dana Jansens danakj@orodu.net
8e719e03
lil change
Dana Jansens danakj@orodu.net
b84699ee
add .svnignore and ignore built stuff
Dana Jansens danakj@orodu.net
641f0b1e
thsi time for real
Dana Jansens danakj@orodu.net
be4c7636
ignore more built stuff
Dana Jansens danakj@orodu.net
b0efb310
ignore .gmo's
Dana Jansens danakj@orodu.net
70affbf6
dont svn status the binaries
Dana Jansens danakj@orodu.net
123ee25c
final touches for r6990-6992
Dana Jansens danakj@orodu.net
2a84418e
missed one
Dana Jansens danakj@orodu.net
be3b7873
better more obvious code
Dana Jansens danakj@orodu.net
2f579df4
call client_reconfigure after setup_decor_and_functions to make the changes appear
Dana Jansens danakj@orodu.net
cc2237bb
fix a comment
Dana Jansens danakj@orodu.net
0299cded
make mouse clicks higher up in the menu select the submenu
Dana Jansens danakj@orodu.net
f8aab34e
dont make motions in menus outside of the active menu, its child, and its parent, do anything
Dana Jansens danakj@orodu.net
6a201019
OPTIMZIE
Dana Jansens danakj@orodu.net
78c80b68
7/16 opacity! heh
Dana Jansens danakj@orodu.net
451fb42c
3/8 opacity for iconic windows
Dana Jansens danakj@orodu.net
db4bc708
make iconic windows have 50% opacity in the alt-tab box
Dana Jansens danakj@orodu.net
8205b658
update the strut when strut_partial changes
Dana Jansens danakj@orodu.net
2050e99a
dont count non-normal windows as parents, in the group too
Dana Jansens danakj@orodu.net
a5aa1af3
typo again!?
Dana Jansens danakj@orodu.net
5ec53919
dont count non-normal windows as parents
Dana Jansens danakj@orodu.net
9182f1a6
typo and ()s
Dana Jansens danakj@orodu.net
301016fd
don't give focus to transient when it is ambiguous, but only if they have a parent
Dana Jansens danakj@orodu.net
e9f6255b
properly search for a focused window in the transient tree
Dana Jansens danakj@orodu.net
30912d46
do try_configure to find out what width the window will actually be, before adjust the x/y based on gravity, if they didn't specify the x/y
Dana Jansens danakj@orodu.net
33406a1c
when compressing motion events use both xy and rootxy
Dana Jansens danakj@orodu.net
f690980d
add some tests which i didnt add before, and the new groupmodal test
Dana Jansens danakj@orodu.net
461ae2a8
add a comment and make it smarter about when to let you focus cycle to windows with modal children
Dana Jansens danakj@orodu.net
e48dce67
add a comment
Dana Jansens danakj@orodu.net
16fcb121
when you focus a window, bring any modal children it has to that desktop
when falling back, return the window which actually was focused by client_focus
let you focus cycle to windows when their modal window is on another desktop (it will be brought over)
Dana Jansens danakj@orodu.net
8874ec1f
put transients on the current desktop when their parent is on all desktops
Dana Jansens danakj@orodu.net
5ae7ccd8
add the focus options documentation to the mouse focus example
Dana Jansens danakj@orodu.net
078f6e5a
properly align stuff when the icon is on the right side
Dana Jansens danakj@orodu.net
6bb61c30
update catalan translation
Mikael Magnusson mikachu@comhem.se
0c8c23e8
only hilight the first entry when opening the menu with a keybind
Mikael Magnusson mikachu@comhem.se
c53db446
ignore focusout notifyungrab.

fix focus bug in firefox where you use gmarks popup and when you go to a page with it, it think focus went to a black hole
Dana Jansens danakj@orodu.net
ddfddc15
document the focus options
Dana Jansens danakj@orodu.net
b8fded74
make focuslast only apply to switching desktops, like 3.3.1
Dana Jansens danakj@orodu.net
568ca95b
unused variables
Dana Jansens danakj@orodu.net
5395d306
put xerrors in the debug output when they are being ignored
Dana Jansens danakj@orodu.net
65bf23c2
when colormap changes and it is installed, reinstall the new one
also add a debug print
Dana Jansens danakj@orodu.net
a59540f2
improve the colormap setting code
Dana Jansens danakj@orodu.net
35889c28
mssing a break; *^^;*
Dana Jansens danakj@orodu.net
a9ff8217
debug prints improved
Dana Jansens danakj@orodu.net
547da273
only 1 unmap is generated when we reparent the window at startup. not sure when this changed but weve changed our eventmasks, or maybe it was always wrong. but yeh.
Dana Jansens danakj@orodu.net
c189771c
when an app doesn't specify PPosition or USPosition, then assume its PPosition
Dana Jansens danakj@orodu.net
20cb425f
fix a string
Mikael Magnusson mikachu@comhem.se
47744e03
don't crash when you press enter with nothing selected in the menu
Mikael Magnusson mikachu@comhem.se
7f9080c6
hilight the first normal entry also if there is a menuheader/separator before it
Mikael Magnusson mikachu@comhem.se
914d18f3
fix formatting
Dana Jansens danakj@orodu.net
01a7a9ed
fix window gravity when there is a border width
Dana Jansens danakj@orodu.net
8e19e99a
debug print modified and the confignotify test
Dana Jansens danakj@orodu.net
2521fd24
don't set the above member in synthetic configurenotify events

add more output in confignotify test
Dana Jansens danakj@orodu.net
9d503617
update slovak translation, and fix some errors i made in the portuguese translations wrt encoding
Mikael Magnusson mikachu@comhem.se
cace930f
only need to call xconfigurewindow once
Dana Jansens danakj@orodu.net
10002eaa
don't queue focusing actions. so they don't hide the menu right away
Dana Jansens danakj@orodu.net
fe99440c
don't set the global moving state unless the move/resize is accepted
Dana Jansens danakj@orodu.net
47986dcd
always set all the coords, as the x/y only change when resizing the border too
Dana Jansens danakj@orodu.net
c11d83e5
this fits in 80 cols on one line and oh my god I wrote where instead of we're :(((((((((((((((((( sad face
Mikael Magnusson mikachu@comhem.se
fb952d86
don't fake an enter event if where still in the same window
Mikael Magnusson mikachu@comhem.se
a38012f2
only readjust the frame size when the client needs to be resized
Dana Jansens danakj@orodu.net
5883164b
fix for not changing clients' border widths on them
Dana Jansens danakj@orodu.net
2e529e3f
don't change clients' borders
Dana Jansens danakj@orodu.net
306ea131
we set borderwidth to 0 so always give that to the client consistently
Dana Jansens danakj@orodu.net
a4f868a1
send the client's border width in configurenotify messages, so it can get the right offset
Dana Jansens danakj@orodu.net
ca8924a5
let you unfocus/lower stuff in press actions. it'll be okay
Dana Jansens danakj@orodu.net
5e9e2667
change in how things are ungrabbed to avoid grabwhilenotify. don't ungrab every key press. just ungrab the passive grab when there is no active grab and we are going to move focus.

this should be less intrusive and seems to work
Dana Jansens danakj@orodu.net
4a45cabd
revert r6802.

it seems that focusin/out notifygrab business is only affected by *keyboard* grabs, not pointer grabs, at least not passive pointer grabs
Dana Jansens danakj@orodu.net
4e8e48fe
don't unfocus in press actions
Dana Jansens danakj@orodu.net
aa7c36d1
only kill focus cycling when the window being destroyed was in the list of targets
Dana Jansens danakj@orodu.net
11c4ce49
don't need the client destructor now
Dana Jansens danakj@orodu.net
5d9b0596
oops was saving tthe options in the wrong place.

save the panels/dockwindows/desktopwindows/alldesktops options when focus cycling starts
Dana Jansens danakj@orodu.net
c090f630
save the panels/dockwindows/desktopwindows/alldesktops options when the focus cycling popup is shown
Dana Jansens danakj@orodu.net
12bbc0cc
use focus_cycle_stop to cancel focus cycling
Dana Jansens danakj@orodu.net
508ce538
when canceling focus cycling, cancel both normal and directional
Dana Jansens danakj@orodu.net
a76ac820
don't crash when a window adds itself to the focus order while cycling
Dana Jansens danakj@orodu.net
df50b6bb
bump the version
Dana Jansens danakj@orodu.net
959fff5e
drop the startup notify timeout from 30 to 20 seconds
Dana Jansens danakj@orodu.net
8929993b
add confignotify.c test
Dana Jansens danakj@orodu.net
23f9ae27
add a comment about the last revision
Dana Jansens danakj@orodu.net
47a4c332
don't map the client window when grabbing the frame. we need to set up the client and send configurenotifies and stuff *before* sending the map notify
Dana Jansens danakj@orodu.net
16ae5868
remove a debug print
Dana Jansens danakj@orodu.net
211cc444
center argb textures (icons for eg.) within the area given if they are not the same shape
Dana Jansens danakj@orodu.net
09f4483c
fix titleleft and titleright for fullmax windows without decorations
Dana Jansens danakj@orodu.net
a8fe821f
use the PSize and USSize hints to decide to resize windows on map or not
Dana Jansens danakj@orodu.net
1821191d
i don't speak portuguese
Mikael Magnusson mikachu@comhem.se
e9ccc6a8
fix a debug print
Dana Jansens danakj@orodu.net
fd2fe675
+1 in the wrong place meant bad decorations
Dana Jansens danakj@orodu.net
7d164842
give focus to new windows when *any* relative already has focus..

don't give it when it will not go to the window anyway tho, like if there is already a modal child for it
Dana Jansens danakj@orodu.net
ac175e47
don't lower from press actions, because that can't move focus!
Dana Jansens danakj@orodu.net
fd2f01bf
add C-A-Up/Down to the mouse focus example, and don't raise on clicks on the client
Dana Jansens danakj@orodu.net
5a1fa921
add a debug print
Dana Jansens danakj@orodu.net
b60cf739
only auto-activate normal windows when they raise themselves (not splash screens or panels or desktops - what desktop would raise itself heh)
Dana Jansens danakj@orodu.net
71af5156
mention openbox version in ar.po
Mikael Magnusson mikachu@comhem.se
7b2d3418
add arabic translation
Dana Jansens danakj@orodu.net
de76611e
only preserve focus for normal omnipresent windows
Dana Jansens danakj@orodu.net
40f20e93
move some code aaround for focusing. proper layer calculation for fullscreen windows based on focus. hopeuflly not break sometihng else.
Dana Jansens danakj@orodu.net
c371c6d4
bump the version
Dana Jansens danakj@orodu.net
9d0dfca7
i broke desktop switching
Dana Jansens danakj@orodu.net
31f63fb6
remove activate from the mouse focus example rc.xml
Dana Jansens danakj@orodu.net
1fcbb41d
remove activate action from the config file, so things are more explicit. dont unshade on click for things that can move the window. don't unshade on right clicks on the titlebar
Dana Jansens danakj@orodu.net
1eedc817
bump the version for 993
Dana Jansens danakj@orodu.net
6c8b7c1e
add C-A-Up/Down mouse bindings, for consistency with the C-A-arrow key bindings!
Dana Jansens danakj@orodu.net
e10c5413
let you use control button to run keyboard accels in menus
Dana Jansens danakj@orodu.net
5d5156dc
dont use empty desktop names from the rc file
Dana Jansens danakj@orodu.net
1f71a0db
small optimization heh for screen_set_desktop - set the root proerty less
initialize screen_last_desktop properly
Dana Jansens danakj@orodu.net
ad8e8d49
less negatives means less confusing.. but yeah. get rid of omnipresent check in focus_fallback
Dana Jansens danakj@orodu.net
cca8a903
haha typo etc
Mikael Magnusson mikachu@comhem.se
91dbbeb6
missed a spot
Mikael Magnusson mikachu@comhem.se
ddd2a4da
check desktop switching stuff in screen_set_desktop
Mikael Magnusson mikachu@comhem.se
336011ef
prevent flicker in the follow actiosn again instead of in focus fallback. focus fallback needs to be very reliable.
Dana Jansens danakj@orodu.net
7cf4c970
debug print in focus.c
when focus goes to something that isn't a client (window already unmapped) then set focus_client to NULL so we know nothing has focus right now
Dana Jansens danakj@orodu.net
6a9d502f
put the actions back so they don't have to be smart.

make focus_fallback not send focus anywhere if the new target is the same as what is already focused
Dana Jansens danakj@orodu.net
c8383288
make omnipresent windows not flicker when changing desktops
Mikael Magnusson mikachu@comhem.se
9cb80fc9
save the focus_client when falling back
Dana Jansens danakj@orodu.net
9f7554a4
backwards logic
Dana Jansens danakj@orodu.net
ae65a6b2
cleanup, and don't send windows to desktop if they are already there
Dana Jansens danakj@orodu.net
912f8eed
don't fallback focus if the focused client is being moved there and follow is on
Dana Jansens danakj@orodu.net
d1570968
put the hostname in icon titles too
Dana Jansens danakj@orodu.net
38d1f2cb
send iconic windows to the bottom of the focus list so you can a-s-tab tog get back what you just iconified
Dana Jansens danakj@orodu.net
1ca83752
titleNumber disappeared a while ago
Mikael Magnusson mikachu@comhem.se
c9850a81
prevent very small windows from having elements with negative or zero sizes
Dana Jansens danakj@orodu.net
f638c5b8
some focus changes...
1) listen for inferiornotify. that way when iconify animating reverts to parent, we see it.
2) set client to null when falling back and update the root window property
3) get rid of the "focus didnt move anywhere" business, and just process the envents in the right order.
Dana Jansens danakj@orodu.net
70fc99f9
stop unmapping the plate window. that was just a coincidence that it fixed the libwnck stuff
Dana Jansens danakj@orodu.net
37aaf4c1
merge r6815 from 3.4-working (!) 'fix positioning of tlt, top and trt resize elements. thanks mulberry'
Mikael Magnusson mikachu@comhem.se
f9cf8fce
dont give focus to transients when the situation is ambiguous
Dana Jansens danakj@orodu.net
33d48c52
add a debug print
Dana Jansens danakj@orodu.net
2fabd7bd
add the big.c test
Dana Jansens danakj@orodu.net
081c7c0c
experimental change. when apps map, make them fit inside the struts and the screen and stuff, unless they are user-positioned
Dana Jansens danakj@orodu.net
689157e8
only put a transient for the group onto some other desktop if its whole group is over there
Dana Jansens danakj@orodu.net
e2da966b
choose the closest icon size, not always the first icon. :X
Dana Jansens danakj@orodu.net
0f48ef7d
Added dutch translation
Mikael Magnusson mikachu@comhem.se
9b95bf5c
updated russian translation
Mikael Magnusson mikachu@comhem.se
aa81b46f
bump the version to 992
Dana Jansens danakj@orodu.net
10e08f6c
use maximized state to try find fullscreen sized windows that shouldnt be considered fullscreen, instead of using the undecorated flag
Dana Jansens danakj@orodu.net
b5267148
kill the top and bottom resize contexts for max-vert windows
Dana Jansens danakj@orodu.net
3052eaaa
mention that they dont take command line arguments
Dana Jansens danakj@orodu.net
c3e0a6d7
don't let the session scripts take arguments
Dana Jansens danakj@orodu.net
48314dc2
i remembered why i remvoed the fake enter events from press type actions moving windows around. it makes for focus events with notifywhilegrab. remove it and make a comment explaining why.
Dana Jansens danakj@orodu.net
192cc6b4
don't let you maximize menu and toolbars
Dana Jansens danakj@orodu.net
630d9504
let you iconify utility windows
Dana Jansens danakj@orodu.net
93d9201c
first step of changing the types and their restrictions
Dana Jansens danakj@orodu.net
2fb7a6e4
yay! gravity finally works right!
Dana Jansens danakj@orodu.net
459449c7
työtila %i
Mikael Magnusson mikachu@comhem.se
03f578f8
töölaud %i
Mikael Magnusson mikachu@comhem.se
9f7a19da
update zh_TW translation and add the desktop %i string to most translations, not sure about et though
Mikael Magnusson mikachu@comhem.se
52a28bb5
little comment about unmapping the plate window for libwnck
Dana Jansens danakj@orodu.net
a055fd9e
validate the desktop layout loaded from session
Dana Jansens danakj@orodu.net
cec4b9df
mention that the desktop stuff are default values only
Dana Jansens danakj@orodu.net
be08578d

        
Dana Jansens danakj@orodu.net
0e98685d
add the "desktop %i" string to the translations
Dana Jansens danakj@orodu.net
a4b4e61a
better idea, don't set the desktop names in the default rc. and lets translate the string in openbox. ha ha. this way everyone gets translated names by default.
Dana Jansens danakj@orodu.net
b04186cf
make the default desktop names match the auto generated ones, and numbers are the universal language anyways
Dana Jansens danakj@orodu.net
e9fb9516
restore the desktop names and number from the session. don't clobber them if they are already set when we start up.
Dana Jansens danakj@orodu.net
0b7b5e3b
update the desktops comment to tell you to use obconf to set the desktop number/names without having to log out/in
Dana Jansens danakj@orodu.net
1b82cc48
little sanity check. dont let you create more than 1000 desktops
Dana Jansens danakj@orodu.net
e9115802
make the client list menu update properly and not crash
Dana Jansens danakj@orodu.net
1cafe0ba
set the desktop names when there are too few from the config file when possible. otherwise use "desktop %d".

if we change the desktop names at all, set the root hint so other apps know about it too and we can all agree
Dana Jansens danakj@orodu.net
6f6ab8c4
save and restore the desktop number/layout/names in the session.
also fix a segfault in some debug prints, printing ints as strings!
Dana Jansens danakj@orodu.net
3b8bcd3e
get the pixel extents the "right way" in 1.16 and use our own rounding otherwise because the pango function lies.
Dana Jansens danakj@orodu.net
3f3d5990
pango lies. do the pixel conversion ourselves
Dana Jansens danakj@orodu.net
e8dbe09c
draw the keychain popup only when necessary
Dana Jansens danakj@orodu.net
6fb3e62a
when a window is being kept on screen (espcially from mapping more or less) and the position didnt come from the user (USPosition) then force the top left corner of the app on screen so it doesnt hide behind panels or whatever and you cant get at the titlebar
Dana Jansens danakj@orodu.net
89c7b236
fix libwnck by unmapping the plate window as well as the client during iconify animation
Dana Jansens danakj@orodu.net
b95fe18c
revert r6775, it didnt help, and then more event storm
Dana Jansens danakj@orodu.net
e043faec
dont compress motion events. it breaks things, moveresize is missing events
Dana Jansens danakj@orodu.net
206ad12b
fix window gravity..
also less setting the wm_state hint redundantly
Dana Jansens danakj@orodu.net
dc752df2
update portuguese translation
Mikael Magnusson mikachu@comhem.se
a6903d90
settings is never null anymore, so dont bother to check. also use else's because we don't need to set match=false 3 times
Dana Jansens danakj@orodu.net
2867aba1
dont have xml comments inside comments for the per-app example
Dana Jansens danakj@orodu.net
0a2cf076
back out 6769 on files that werent supposed to commit yet
Dana Jansens danakj@orodu.net
a16f1374
comment out the applications example
Dana Jansens danakj@orodu.net
63a6a1f0
don't use the timestamp and such fields when the _NET_ACTIVE_WINDOW is using the old spec
Dana Jansens danakj@orodu.net
6af116c8
change render to obrender in a message
Mikael Magnusson mikachu@comhem.se
78840bd8
update spanish translation
Mikael Magnusson mikachu@comhem.se
bf9cbd07
make modal windows cyclable all the time if they are visible and stuff
Dana Jansens danakj@orodu.net
dd937208
reuse variables, less braces
Dana Jansens danakj@orodu.net
15e5a891
update italian translation and add czech translation
Mikael Magnusson mikachu@comhem.se
d15d4d8b
don't show the resize popup unless you're actually resizing, for both sync mode and drawcontents off
Dana Jansens danakj@orodu.net
49c7c030
along with r6753, when window is maximized make the borders count as titlebar context not the top/tl/tr contexts
Dana Jansens danakj@orodu.net
8262e1ba
fix frame rendering to match layout fixes
Dana Jansens danakj@orodu.net
d0c1a24b
fix frame positionings more
Dana Jansens danakj@orodu.net
0ec56cdb
update pt_BR translation
Mikael Magnusson mikachu@comhem.se
c7e81358
fix some math for frame elements
Dana Jansens danakj@orodu.net
0fe1e8f4
eat enter events when the new alttab popup hides
Dana Jansens danakj@orodu.net
41177771
link to wrong version for obparser-3.0
Dana Jansens danakj@orodu.net
d608649e
fix what manpage files are included in the distribution and make clean delete the generated ones
Dana Jansens danakj@orodu.net
9f74c1f7
bump the versions up
Dana Jansens danakj@orodu.net
53309da2
put back the check for the window type when restoring the session. if you only have 1 firefox window in the saved session, the check for duplicates won't help
Dana Jansens danakj@orodu.net
3cf852d5
make the doc and data/xsession directories in configure.ac
Dana Jansens danakj@orodu.net
f5971646
remove the commented out stuff for mkdir's because configure.ac does it now
Dana Jansens danakj@orodu.net
275206bc
create the directories we need in the configure process
Dana Jansens danakj@orodu.net
9a0af18e
make the generated files with paths depend on the Makefile, and clean them when you run make clean
Dana Jansens danakj@orodu.net
7dde22a1
update the docs from the sgml.. timestamps are weird
Dana Jansens danakj@orodu.net
8679fbba
when restoring the session, dont restore windows which appear more than once in the session with the same identifiers, because we can;t tell them apart
Dana Jansens danakj@orodu.net
b9056e96
use the session called "openbox-session: for gnome session because it will still run metacity if you use the default one
Dana Jansens danakj@orodu.net
e97a4435
don't compare variables to themselves
Dana Jansens danakj@orodu.net
8f87a8af
only send configure notify when they requested a move, or if we are actually changing anything.
that is: if they only request a resize and nothing changes, don't do anything and dont send a configurenotify. this fixes the emacs event storm

also some new macros for rects
Dana Jansens danakj@orodu.net
4c253423
dont use the client's area rect when figuring out where to place it because then when you want to move ti there, it thinks that it is already there!  i actually fixed another bug recently that would have affectd this before but now it should work perfect..
Dana Jansens danakj@orodu.net
e8bac610
adjust the frame's size before placing the window so we know how much decor it has
Dana Jansens danakj@orodu.net
a0941554
fix showing the resize cursors at the right times.
fix losing the pre-size/position for windows mapped maximized or fullscreen states (and on restart)
Dana Jansens danakj@orodu.net
c5508ec1
we put desktop windows on all desktops so dont let them move.
make sure the window can move/resize when shutting down and restoring its geometry
Dana Jansens danakj@orodu.net
f0940aba
missing another break; ! wow
Dana Jansens danakj@orodu.net
798ed11b
missing a break; heh
Dana Jansens danakj@orodu.net
62c311ba
better ordering so you can unmaximize maximized windows.. but you cant resize them
Dana Jansens danakj@orodu.net
119c48fc
you can't resize fully maxed windows
Dana Jansens danakj@orodu.net
44be6784
don't reload the session on restart
Dana Jansens danakj@orodu.net
b8f20789
some repositioning of frame elements for maximized windows.
fix clicking on borders not counting as the button in that corner for full max windows
disable the resize cursors for full max windows
Dana Jansens danakj@orodu.net
cce3fed7
some changes to swedish translation
Mikael Magnusson mikachu@comhem.se
bca4fe6c
maybe the user time stuff should be more like other wm implementtions and less in the way
Dana Jansens danakj@orodu.net
1d93dc96
update estonian and polish translations
Mikael Magnusson mikachu@comhem.se
e697daac
add estonian translation and rename italian 'it'
Mikael Magnusson mikachu@comhem.se
590e6177
add a rough italian translation
Dana Jansens danakj@orodu.net
32b10e33
some more corrections
Mikael Magnusson mikachu@comhem.se
7be9d846
typo
Mikael Magnusson mikachu@comhem.se
ad6eeb4b
add portuguese brazil translation
Mikael Magnusson mikachu@comhem.se
063f837f
merge the po's from 3.4 branch that are going out with 3.3.990
Dana Jansens danakj@orodu.net
ded9252e
missing %s's in the translation. i hope these are ok
Dana Jansens danakj@orodu.net
fd8ce941
use simple pattern matching for per-app settings. all rules that match are applied to a window rather than just the first
Dana Jansens danakj@orodu.net
add9c3c1
oops. dont default all stuff to bold
Dana Jansens danakj@orodu.net
2982d307
updated french translation
Mikael Magnusson mikachu@comhem.se
280c70b0
make the default fonts bold cuz bold looks better everywhere except in the menus i think
Dana Jansens danakj@orodu.net
209d8df0
leave things how we found them !
Dana Jansens danakj@orodu.net
3c3fc81b
fix iconify animation to deal with the new frame layouting
Dana Jansens danakj@orodu.net
5fe275d0
updated finnish translation, thanks Aperculum
Mikael Magnusson mikachu@comhem.se
599b63e4
fix rendering argb textures on solid backgrounds
Dana Jansens danakj@orodu.net
4c7119f9
hide more decor whwn its not being used
Dana Jansens danakj@orodu.net
a78b22d0
fix some mistakes
Mikael Magnusson mikachu@comhem.se
4163f655
replace incorrect fuzzy strings with empty placeholders
Mikael Magnusson mikachu@comhem.se
fb830696
update norwegian translation
Mikael Magnusson mikachu@comhem.se
9fbe54b9
add the root context to the sloppy focus example config
Dana Jansens danakj@orodu.net
df07fdc9
add the template file
Dana Jansens danakj@orodu.net
2c9bb4be
forgot a \n
Mikael Magnusson mikachu@comhem.se
af278171
new strings to translate, and update swedish translation
Mikael Magnusson mikachu@comhem.se
cb7752cd
if the theme supplied a max button or desk button then use that for toggled fallback
Dana Jansens danakj@orodu.net
559ab9c9
add --restart
Mikael Magnusson mikachu@comhem.se
64d812c6
fix windows moving to monitors other than their own. client_find_onscreen uses their desired coordiantes instead of their old ones
Dana Jansens danakj@orodu.net
928305d0
remove unused config_menu_warppointer
Mikael Magnusson mikachu@comhem.se
59819942
make frame elements unmap when they arent in use
Dana Jansens danakj@orodu.net
2cce02b1
fix for shaped windows
Dana Jansens danakj@orodu.net
ef953231
fix for variable sized border between titlebar and client
Dana Jansens danakj@orodu.net
7472ed35
fix new dimensions for maximized windows
Dana Jansens danakj@orodu.net
1612a16e
frame can handle having no border between the titlebar and the client now
Dana Jansens danakj@orodu.net
1b7c2dac
draw the handle without borders
Dana Jansens danakj@orodu.net
0353b979
construct the titlebar without borders
Dana Jansens danakj@orodu.net
96fbc0c6
set the resize cursors only when the window can be resized
Dana Jansens danakj@orodu.net
ff681544
the left and right resize handles are the border, not grips
Dana Jansens danakj@orodu.net
cf5c7542
stop using a border for the outer frame window. step 1 of borderless-ness. now transparent windows dont look so terrible, yay
Dana Jansens danakj@orodu.net
2dada607
don't assume screen 0
Dana Jansens danakj@orodu.net
8159ac5f
i think this is good? can you run X at 32 bits?
Dana Jansens danakj@orodu.net
883bad43
set the functions recursively, so if you change it after the menu has been opened it takes effect all the way down
Dana Jansens danakj@orodu.net
3a280fa9
fix segfault by ordering shutdown properly
Dana Jansens danakj@orodu.net
d3f67abe
set the functions in the more menu the same as the parent menu
Dana Jansens danakj@orodu.net
a112ffa1
old unused variable
Dana Jansens danakj@orodu.net
ce1de0f3
maybe smaller icons look nicer?
Dana Jansens danakj@orodu.net
6b038948
put text back to the left and add a bit more spacing
Dana Jansens danakj@orodu.net
b596a52f
does the popup look better with centered text?
Dana Jansens danakj@orodu.net
05d93485
show and hide the new left/right resize bars at the right time
Dana Jansens danakj@orodu.net
1efc5111
revert r6638
Dana Jansens danakj@orodu.net
927bc781
add the Root context
Dana Jansens danakj@orodu.net
813d5c2e
add a root context that only applies to the root window. it fallsback to the desktop context, so desktop stuff applies to it too.
Dana Jansens danakj@orodu.net
198aab2b
make binding fallback for mouse clicks less restrictive. if you dont have a binding for the same button AND STATE then fallback.
Dana Jansens danakj@orodu.net
ed4d0ca3
for startup notification, use the left ptr+watch if it is available, and fall back to the pointer instead of the unusable watch if its not
Dana Jansens danakj@orodu.net
9014cf7c
missing new left and right contexts
Dana Jansens danakj@orodu.net
b26635fe
add Left and Right contexts for resizing
Dana Jansens danakj@orodu.net
2f541b6e
make either key work for people who have super_l and super_r (or whatever ones) bound to different mod masks
Dana Jansens danakj@orodu.net
ecdb7d58
let you resize on the bottom of the frame when handle height is 0 in the theme
Dana Jansens danakj@orodu.net
83da4ec9
fix escape's behavior in menus. make static stuff that shouldnt be used by others
Dana Jansens danakj@orodu.net
ea272a93
show the old single-window popup for directional focus.
fix multirow icons for the new popup.
Dana Jansens danakj@orodu.net
2ed4552f
round up rather than down for figuring out the width of the popup, so it will fit the text when possible
Dana Jansens danakj@orodu.net
0de1fd49
center the icons when there is only 1 row
Dana Jansens danakj@orodu.net
2253b5e3
fix the popup for directional focusing, only show what is going to be a valid target. change directional focus to use the same criteria as normal cycling.
Dana Jansens danakj@orodu.net
34ad5b92
save some malloc when possible
Dana Jansens danakj@orodu.net
50ba7e2d
fix positioning of stuff in the cycling popup. oh my god. the image texture is drawn inside the margins of the outer appearance
Dana Jansens danakj@orodu.net
2c4fef29
fix flashy menus
Dana Jansens danakj@orodu.net
4305448a
better positioning and some spacing
Dana Jansens danakj@orodu.net
7dd7c997
better coloring for the cycling hilite
Dana Jansens danakj@orodu.net
53066b18
new focus cycle popup of doom
Dana Jansens danakj@orodu.net
83eb9220
move focus_cycle_popup into its own file
Dana Jansens danakj@orodu.net
eb09b187
move focus_cycle_indicator into its own file
Dana Jansens danakj@orodu.net
40f789e6

        
Dana Jansens danakj@orodu.net
d307a368
add missing include for new header
Dana Jansens danakj@orodu.net
718adbae
move focus cycling into its own file
Dana Jansens danakj@orodu.net
3d7c2f45
80 cols
Dana Jansens danakj@orodu.net
df948db3
i know we broke backwards compatibility but noone uses it except obconf and it still works, so just leave the pkgconfigs as -3.0, and obconf2 and require version >= 3.3.990 instead.
Dana Jansens danakj@orodu.net
4f1bb686
typo
Dana Jansens danakj@orodu.net
97526709
remove a function that is no longer used. and backwards boolean algebra was causing us to not ignore the right enter events
Dana Jansens danakj@orodu.net
7ee54ff1
get rid of the serials for ignoring enters..
Dana Jansens danakj@orodu.net
6142eb3a
when done iconify animating, send a configure notify (this fixes kde's pager showing the window in the wrong place)
Dana Jansens danakj@orodu.net
e77888ef
change obrender-3.0 and obparser-3.0 to 3.4 because we broke backward compatibility
Dana Jansens danakj@orodu.net
b76926f6
add pango to the pkg-config file
Dana Jansens danakj@orodu.net
88348223
set the ubuntu deb version right
Dana Jansens danakj@orodu.net
6d265026
super correct enter event ignoring that will only ignore what it has to, yay?
Dana Jansens danakj@orodu.net
9451205c
but don't count the same enter events more than once still
Dana Jansens danakj@orodu.net
ae269d77
fix a comment
Dana Jansens danakj@orodu.net
bba37f0c
ignore enter events without disrupting the event queue
Dana Jansens danakj@orodu.net
18ef3dce
re-staticify this function
Dana Jansens danakj@orodu.net
e47499a0
don't ignore the same enter events more than once
Dana Jansens danakj@orodu.net
1aa4c53a
obconf 1 will still work for 3.4
Dana Jansens danakj@orodu.net
a71c91ab
old comment
Dana Jansens danakj@orodu.net
c8b47107
static makes more sense than inline i think
Mikael Magnusson mikachu@comhem.se
9d004f51
name of the action_undecorate atom was wrong
Dana Jansens danakj@orodu.net
382d3755
add an atom ob_wm_action_undecorate to match with ob_wm_state_undecorated, so stuff could know if the window can be undecorated
Dana Jansens danakj@orodu.net
f9a79e60
a little check that catches firefox and other buggy apps, which set the same wmcommand across sessions on different window types. type is a pretty obvious check its hard for it to be a false alarm
Dana Jansens danakj@orodu.net
c6dac853
don't let the user toggle decorations on widnows that don't have any decorations to toggle
Dana Jansens danakj@orodu.net
3c590a58
kill enter events without using pointer grabs
Dana Jansens danakj@orodu.net
281c1edb
kill enter events without using pointer grabs
Dana Jansens danakj@orodu.net
b1076c93
rename client_configure_full to client_configure
Dana Jansens danakj@orodu.net
cfce6b8f
simpler code yay
Dana Jansens danakj@orodu.net
2ca83f67
grab the pointer when windows move them selves so no enter events happen. i wonder if this will cause but reports. it still does for restacking though..

little cleanup in client.c, and remove client_configure macro which was now
redundant
Dana Jansens danakj@orodu.net
619eeaa9
grab the pointer accross actions run by the applications, the same as for
actions run by the user
Dana Jansens danakj@orodu.net
4fdf8a43
"fullscreen" windows that are undecorated by the user do not count as legacy fullscreen windows
Dana Jansens danakj@orodu.net
48c3bc7c
remove old unused strings
Dana Jansens danakj@orodu.net
f83135a4
remove the #! thing and add a nice comment
Dana Jansens danakj@orodu.net
b11d260d
add SCIM support to the default autostart. make the autostart run before openbox.
Dana Jansens danakj@orodu.net
40c0bc42
wrong data type for the window border element
Dana Jansens danakj@orodu.net
4d4e657c
proper english
Dana Jansens danakj@orodu.net
6af0c046
regenerated manpage
Dana Jansens danakj@orodu.net
b69bf809
fullscreen only if no decorations
Dana Jansens danakj@orodu.net
fbae0143
updates to build debian and ubuntu debs. make man page say what webpage will probably say.
Dana Jansens danakj@orodu.net
b43b612e
update website in man pages. also update the see-also's
Dana Jansens danakj@orodu.net
5a1a3c2b
comment what i did
Dana Jansens danakj@orodu.net
3addcd8b
don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run
Dana Jansens danakj@orodu.net
6f936115
fix desktop bindings. thank you prim.
Dana Jansens danakj@orodu.net
9da838ad
dont hardcode the paths in the man pages. add the docbook-to-man parsed stuff to svn. nice makefile rules for them.
Dana Jansens danakj@orodu.net
07a34428
add the manpages..
Dana Jansens danakj@orodu.net
d30809e5
always ignore errors for client_focus like we used to.
Dana Jansens danakj@orodu.net
d3e52442
revert r6485, for backwards compatibility
Dana Jansens danakj@orodu.net
e154e894
heh. hacking file..
Dana Jansens danakj@orodu.net
9047ab30
add the openbox-session manpage
Dana Jansens danakj@orodu.net
3ddc053c
that broke flashing
Dana Jansens danakj@orodu.net
2a203eb5
fix a comment
Dana Jansens danakj@orodu.net
361bf6af
simplify focus handling a bit. no need to listen to focus going to the frame because if it ever does that, the window is unmapping and the frame will just unmap and send it to root.

make focus fallback a lil more robust, it checks for errors when it sets focus on the window, and if an error occured it will focus the next option.
Dana Jansens danakj@orodu.net
f5597c06
try draw the decorations sooner
Dana Jansens danakj@orodu.net
9c5e8706
don't do this stuff when it's already done. save bandwidth.
Dana Jansens danakj@orodu.net
6194c979
save some rendering
Dana Jansens danakj@orodu.net
9aa5ca29
updates for the build system. always set Openbox on the support window
Dana Jansens danakj@orodu.net
b74cff03
changes to the manual pages.

adding openbox-session.

add paths to the xsession .desktop files
Dana Jansens danakj@orodu.net
5d85502e
also if you hide the focused window, then kill the interactive action so focus isnt all confused for the app
Dana Jansens danakj@orodu.net
47c8d407
don't assert, users can bind stuff however they like. but if they do something that moves focus during an interactive action, kill the grab
Dana Jansens danakj@orodu.net
b7827484
ungrab the keyboard for passive grabs. kill interactive actions for exec actions. don't ungrab the keyboard during interactive actions though.
Dana Jansens danakj@orodu.net
8f2291a7
excep the assert was backwards. heh
Dana Jansens danakj@orodu.net
f5d7952a
big scary g_assert(). interactive actions should never move focus until they're done.
Dana Jansens danakj@orodu.net
f9fe78d9
get rid of the fullscreen below layer. its the same as maximized windows..
Dana Jansens danakj@orodu.net
66db9aef
use the right cursor for moveresize
Dana Jansens danakj@orodu.net
ec21f8c9
yay for simplifying code. if we check for errors we dont need the "focus_tried" stuff
Dana Jansens danakj@orodu.net
1b2c6f60
always ungrab keyboard before doing a noninteractive action (which will ungrab before doing its real action business).
too bad we cant ungrab the mouse too.
Dana Jansens danakj@orodu.net
73f4b16d
themerc.xsd is not executable
Mikael Magnusson mikachu@comhem.se
415ce6e5
watch for errors while setting focus on windows, return false if there was an error, so fallback and keep looking
Dana Jansens danakj@orodu.net
2e7359a2
fix fullscreen windows being stuck in the wrong layer when they come out of
fullscreen.
add a new layer where fullscreen windows go when are aren't focused, below
all normal windows, so you can alt-tab to a below layer window and it will
show itself.
Dana Jansens danakj@orodu.net
12c9b56d
add openbox-session for gdm, which will run ~/.config/openbox/autostart
Dana Jansens danakj@orodu.net
cbd2206f
more removing config namespaces
Dana Jansens danakj@orodu.net
f58ece60
remove config namespaces
Dana Jansens danakj@orodu.net
b906db3e
remove the dialog option for Desktop action for now. can't change desktop during a grab. the dialog for desktop changing will need to change, and then we can add it back
Dana Jansens danakj@orodu.net
ff7eb1ea
some debug prints
Dana Jansens danakj@orodu.net
9011eb27
remove this check, it didnt guarantee anything anyways
Dana Jansens danakj@orodu.net
a019ee10
add a debug action.. change focus debug output a lil, no grab events
Dana Jansens danakj@orodu.net
d0a579ed
add a test for focus falling back to a window thats gone
Dana Jansens danakj@orodu.net
26ff0cba
the configurenotify needs to come after adjusting the frame's size. otherwise it gets messed up somehow.
Dana Jansens danakj@orodu.net
1a5139f2
send a configurenotify on mapping after the window is shown
Dana Jansens danakj@orodu.net
4ff71735
don't listen to focus events in the dock, unless you're going to do it properly
Dana Jansens danakj@orodu.net
db750e5c
typos
Mikael Magnusson mikachu@comhem.se
7af7ee05
fix a comment
Dana Jansens danakj@orodu.net
9d760878
another little focus cleanup/rearrangement, for focus going to windows that
are no longer there.
Dana Jansens danakj@orodu.net
53e75c5b
we don't need to save the config type in the session because if they dont run their DE with the openbox-*-session command, openbox won't be loaded anyhow. and if they do, they the var will be set and doesn't need to come from the session.
Dana Jansens danakj@orodu.net
7dcbc433
generated manpage
Dana Jansens danakj@orodu.net
a9af402c
mention that obconf older than 2.0 is no good.
Dana Jansens danakj@orodu.net
5a3154df
add --debug-xinerama
Dana Jansens danakj@orodu.net
1eff22b1
remove some old checking because we're not using window properties to store the premax/fullscreen areas. they are always set when the state is turned on.

fullscreen to the correct monitor.
Dana Jansens danakj@orodu.net
83bd9e1d
change now the keyboard is ungrabbed before executing actions. instead, ungrab it just before calling exec. other actions don't need it ungrabbed, and this way the release doesn't get sent through to programs for our keybindings. except for exec i suppose.
Dana Jansens danakj@orodu.net
9fcb2aa1
add grab/ungrab macros so dont need to pass in 10 arguments to ungrab stuff.
add a confine option to grab_pointer to confine the pointer to the screen, and use that for moveresize
Dana Jansens danakj@orodu.net
627125a6
set the cursor before using it
Dana Jansens danakj@orodu.net
03136a08
only do moveresize when grab is successful
Dana Jansens danakj@orodu.net
66af88b2
only set focus_client to null if the window losing focus was the focus_client
Dana Jansens danakj@orodu.net
0c173e15
set focus_client when focus leaves a window
Dana Jansens danakj@orodu.net
df595f9a
more manpage changes for the 3 configuration namespaces
Dana Jansens danakj@orodu.net
ef205519
manpage fixups
Dana Jansens danakj@orodu.net
334f9df7
don't unset the config namespace so that if you rerun it, it uses the same one. this is for dev work, really.
also, recompiled man pages
Dana Jansens danakj@orodu.net
d8d4f5ba
mention which config file it will use
Dana Jansens danakj@orodu.net
5c96972b
save the config type in the session command line arguments
Dana Jansens danakj@orodu.net
6171dbf9
when using openbox-gnome/kde-session, use a separate config file (rc-gnome/kde.xml)
Dana Jansens danakj@orodu.net
f16d3207
add gnome and kde config files which are the same, but without the root window menus
Dana Jansens danakj@orodu.net
4ac77b8a
which is in doc,not data/
Dana Jansens danakj@orodu.net
1415bd86
add an rc.xml example for mouse focus
Dana Jansens danakj@orodu.net
0ef82a1b
but rename ob_pid back to openbox_pid for backwards compatibility. this will go away entirely soon.
Dana Jansens danakj@orodu.net
99e23015
rename the openbox_* atoms back to ob_*
Dana Jansens danakj@orodu.net
2676b61b
missing a header
Dana Jansens danakj@orodu.net
d5a25d78
small change to the default rc
Dana Jansens danakj@orodu.net
49b6e6ac
let unfocus action go back to the same window. you should be doing some other action above it that will change where focus can end up
Dana Jansens danakj@orodu.net
3e5ac075
yay for mika-chan
Dana Jansens danakj@orodu.net
95c22798
you dont' need  docbook-to-man to build svn now, unless you change the manpage
Dana Jansens danakj@orodu.net
6968c592
add the generated from docbook man pages, for people who don't have docbook-to-man
Dana Jansens danakj@orodu.net
9e7663c5
dont rebuild them every time. simpler dependencies
Dana Jansens danakj@orodu.net
65a17633
dont set focus_client to NULL when sending focus to nothing, let that happen from the FocusOut events
Dana Jansens danakj@orodu.net
82432ae4
typo in the default config
Dana Jansens danakj@orodu.net
8fd052ff
a new default config file.. it's very click to focusy. will make an example for mouse focus people.
Dana Jansens danakj@orodu.net
3acd5ff0
fix for wrapping in desktop cycling
Dana Jansens danakj@orodu.net
73e7b292
fix error in client_directional_edge_search that ignored all windows in the same layer
Mikael Magnusson mikachu@comhem.se
eb7a3a06
im just leaving the dock alone..
Dana Jansens danakj@orodu.net
7a39cb3e
no strut for docks that autohide
Dana Jansens danakj@orodu.net
ef83d821
extraneous dependendancies?
Dana Jansens danakj@orodu.net
71f4dad2
@
Dana Jansens danakj@orodu.net
0b646b4e
why did they change again?
Dana Jansens danakj@orodu.net
306c6d95
include the man pages in dist.. :P
Dana Jansens danakj@orodu.net
e10dd09e
properly tell where the config files are
Dana Jansens danakj@orodu.net
3adadb95
resist all layers
Dana Jansens danakj@orodu.net
7fddf2ab
some focus fixes. always set the new focus when we fallback or else weird states appear. better handling of focusin's on clients that don't exist?
Dana Jansens danakj@orodu.net
1e5fb0d4
add the showhide test for showing a window then hiding it really fast
Dana Jansens danakj@orodu.net
0951fbee
add man pages for openbox-gnome-session and openbox-kde-session
Dana Jansens danakj@orodu.net
2b224585
restore code that keeps popups on screen
Mikael Magnusson mikachu@comhem.se
02f6e450
remove stuff that isnt used
Dana Jansens danakj@orodu.net
10f56369
yeh
Dana Jansens danakj@orodu.net
e83febbd
dont know why po files changed. oh, i moved some code around
Dana Jansens danakj@orodu.net
16dd95c0
add docbook-to-man, which you need to make the man page
Dana Jansens danakj@orodu.net
469609b9
Add a manage
Dana Jansens danakj@orodu.net
ecde8e8f
reorganize --help. dont error if they use a --sm stuff and sm isn't enabled
Dana Jansens danakj@orodu.net
e28cbd61
kill grabs before xsetinputfocus
Dana Jansens danakj@orodu.net
3fab6225
add more contributors
Dana Jansens danakj@orodu.net
d756dae0
add David to the credits
Dana Jansens danakj@orodu.net
b67e9884
reset the pager popup's size after reconfigure
Dana Jansens danakj@orodu.net
0ec49ac7
comment
Dana Jansens danakj@orodu.net
84754426
add the actions to compliance, including the 2 new ones
Dana Jansens danakj@orodu.net
94d9d069
add a debug line
Dana Jansens danakj@orodu.net
11df262d
add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW which aren't in the NETWM spec yet, but will be shortly.
Dana Jansens danakj@orodu.net
0ee15818
fix drawcontents=no
Dana Jansens danakj@orodu.net
2fdad9a0
no more losing focus from wm_torture -t map_response
when a focusin comes for an invalid target, set that focus has wandered off, so
that when the focusout comes in afterwards we can react accordingly
Dana Jansens danakj@orodu.net
fd9b6a43
always send configure notify when windows map
Dana Jansens danakj@orodu.net
c2374129
fix directional focus
Dana Jansens danakj@orodu.net
56d7bc50
don't allow focus to move during an interactive grab. if users set up actions
such that this would happen, then kill the interactive grab before moving
focus.
this is to avoid NotifyWhileGrabbed FocusOut's
Dana Jansens danakj@orodu.net
acfa2af3
use the right list in client_add_hide_notify, rename destructor to destroy_notify which is really what it is, and is more consistant now that there are 2 notifies
Dana Jansens danakj@orodu.net
9f22554b
when i said it handled both cases, i was mistaken, so use a callback for each case.
Dana Jansens danakj@orodu.net
685dca1c
likewise if a window is unmanaged and we were trying to give it focus, we want to know about it - also if the window gets hidden for some other reason, we also want to know about it.

add a notifier for windows being hidden, and use that instead - it handles both cases.
Dana Jansens danakj@orodu.net
1e957a16
some changes to focus handling.

most interesting is the change in focus_fallback, which means that it won't
call xsetinput focus in some cases, potentially reducing flicker and stuff.
also potentially producing bugs? heh.

the screen.c focus fallback code doesn't seem to need special cases anymore,
which is really good, if that is really the case.

move the focus_tried stuff out of event.c into focus.c, where it seems to
belong.
Dana Jansens danakj@orodu.net
f694c650
dont count focusin on the support window to be a focusin on a client
Dana Jansens danakj@orodu.net
41da12cc
maybe better logic for looking for focus in's on clients
Dana Jansens danakj@orodu.net
bfe974db
revert part of r6074. i don't think it needs to be removed anymore and then everything will "just work" better
Dana Jansens danakj@orodu.net
84f02284
install the xsd's to docdir
Dana Jansens danakj@orodu.net
59183ac2
dont make mouse bindings focus windows that dont take focus from clicks
Dana Jansens danakj@orodu.net
18c2737a
add a comment
Dana Jansens danakj@orodu.net
d59f0d67
interactive actions cancel other interactive actions
Dana Jansens danakj@orodu.net
d00096de
dont skip desktop windows that set skip_taskbar
Dana Jansens danakj@orodu.net
ca88a21a
where did those come from ?
Dana Jansens danakj@orodu.net
74810303
suggests only
Dana Jansens danakj@orodu.net
30316f8b
add conffiles
Dana Jansens danakj@orodu.net
c5ccf41f
add conffiles
Dana Jansens danakj@orodu.net
d676c118
changes to build..
Dana Jansens danakj@orodu.net
1801e11a
some fixes for the debian package
Dana Jansens danakj@orodu.net
9eaf7086
the edit part :(
Dana Jansens danakj@orodu.net
6cc5e44f
blah
Dana Jansens danakj@orodu.net
a8db8a0a
update deps
Dana Jansens danakj@orodu.net
b7341b13
make debian paackage with a makedeb script instead. install stuff to the right directories
Dana Jansens danakj@orodu.net
cb30ea2f
missing \s
Dana Jansens danakj@orodu.net
9e398b63
more fixups for debian package
Dana Jansens danakj@orodu.net
7ef83558
change version
Dana Jansens danakj@orodu.net
587b0f00
debian package works now
Dana Jansens danakj@orodu.net
cda87c60
dont keep this in svn
Dana Jansens danakj@orodu.net
9c6f2311
some changes to the build stuff for debian
Dana Jansens danakj@orodu.net
ea5d04bc
add stuff for making a .deb package
Dana Jansens danakj@orodu.net
6017c061
build fixes
Dana Jansens danakj@orodu.net
2de1f757
small fix to zh_TW again?
Dana Jansens danakj@orodu.net
7b8faf54
small fix to zh_TW
Dana Jansens danakj@orodu.net
b4f9328b
debug print
Dana Jansens danakj@orodu.net
c2e4d42e
ignore enter events on top menu and submenu popup
Dana Jansens danakj@orodu.net
ab75dd86
missing a break statement
Dana Jansens danakj@orodu.net
e40624b5
don't use it actually. it's confusing.
Dana Jansens danakj@orodu.net
cea602d7
put the shade icon in the right place
Dana Jansens danakj@orodu.net
fce33883
fix for running actions that end up wanting to grab the keyboard. make a nicer comment about what is going on.
Dana Jansens danakj@orodu.net
1a23a1bb
point to the right schema
Dana Jansens danakj@orodu.net
bd82becb
text cleanup
Dana Jansens danakj@orodu.net
811fa219
remove the edges_hit_layers_below option. don't use windows in other layers for resistance
Dana Jansens danakj@orodu.net
5812a81c
use the combined client list by default
Dana Jansens danakj@orodu.net
fdd18551
this is so old..
Dana Jansens danakj@orodu.net
3f446e91
the changelog for the xsd's is in svn now, also they are out of date
Dana Jansens danakj@orodu.net
2ff10b42
relocate the xsd's so they don't clash, and point to the right places
Dana Jansens danakj@orodu.net
5eba6007
change the "handle" context to "bottom". add a "top" context. make the top
and bottom contexts resize vertically in the default config file.
Dana Jansens danakj@orodu.net
06181f9c
make the handle resize by default, and give the handle the resize south cursor
Dana Jansens danakj@orodu.net
18c0714c
split the move and resize functions.
let you specify the edge to resize in the action binding
Dana Jansens danakj@orodu.net
1d1aef75
add <desktop>yes</desktop> option for Next/Previous window and directional focus actions
Dana Jansens danakj@orodu.net
d3ecb7c1
change how masks are loaded, let you override just one. simpler code too.
Dana Jansens danakj@orodu.net
eab6ff75
micromicrooptimization
Mikael Magnusson mikachu@comhem.se
4320bf5f
fix for fullscreen things getting lowered when switching desktops
Dana Jansens danakj@orodu.net
ecfd93b1
change client menu back to "Roll up/down". update strings, also some fixes.
Dana Jansens danakj@orodu.net
c5865c51
do it better, prevent creating new races
Dana Jansens danakj@orodu.net
1d6c07c2
try catch weird racey corner case where we try fallback to a window but it unmaps as we do so, so focus ends up going to nowhere
Dana Jansens danakj@orodu.net
3bee91aa
remove buttons from themes when they are using the defaults already for clarity
some small changes to themes..
  buttons can hide themselves now, so removed the empty disabled masks for
    Bear2 and Natura
install the default xbms for reference to the doc dir
install some basic documentation to the doc dir
Dana Jansens danakj@orodu.net
41f0ff03
look for themes where they were installed by make install first
Dana Jansens danakj@orodu.net
410bf6dc
make default masks even sized. these are from the clearlooks theme, probably from somewhere else before that.
Dana Jansens danakj@orodu.net
db9190fb
this is nothing but to add a commit message..

added support for

menu.border.width

!
Dana Jansens danakj@orodu.net
4845f271
add support for these...

menu.border.color
window.active.border.color
window.inactive.border.color

Bear2 has a menu color now, the old themerc had that specified
Dana Jansens danakj@orodu.net
77036027
add the metadata
Dana Jansens danakj@orodu.net
b63ad92c
give different border colors to active and inactive windows. adjust the xml theme format a little to make it BETTER. rawr. add some metadata standards too.
Dana Jansens danakj@orodu.net
b2006b8b
don't show handles on windows that cannot resize
Dana Jansens danakj@orodu.net
b23476ed
fix for circular transiency
Dana Jansens danakj@orodu.net
154eda3f
add test for grouptran->transient->transient
Dana Jansens danakj@orodu.net
2baad3ab
oops, debug prints
Dana Jansens danakj@orodu.net
8432416d
pick the closest icon instead of always a smaller one
Dana Jansens danakj@orodu.net
d8919a9b
guarantee an even height for the label, and thus the titlebar, and thus the buttons. that way an even sized mask in the button will always be centred
Dana Jansens danakj@orodu.net
0fedacf7
separate roll up and roll down.
new strings in the po's, which are actually old strings.
fix a couple menus shortcuts besides.
Dana Jansens danakj@orodu.net
ba6754ac
fix focus cycling. checking the wrong client.
Dana Jansens danakj@orodu.net
c0ddd76a
change fallbacks
Dana Jansens danakj@orodu.net
7956103a
make fallbacks match 3.4
Dana Jansens danakj@orodu.net
7d6caee4
memory leak on the server
Dana Jansens danakj@orodu.net
4e5c6af5
unused
Dana Jansens danakj@orodu.net
06b918cc
remove the last param from configure_full, it's not needed.
Dana Jansens danakj@orodu.net
75372cd4
set the default window gravity to NorthWest.
only put the bare minimum inside the server grab.
adjust the frame decorations in client_manage instead of frame_grab_client
remove the last parameter from client_configure_full and just determine it from the other state available.
send configurenotifies at all the right times.
make windows get restored to their position properly when they have a border
Dana Jansens danakj@orodu.net
caba57b6
don't adjust the decorations while the server is grabbed, move it to client.c
Dana Jansens danakj@orodu.net
58788b9c
change when configurerequests create configurenotifies.
make _NET_RESTACK_WINDOW create a configurenotify, because it is supposed to be like configurerequest. so why not?
Dana Jansens danakj@orodu.net
b30478ed
just generating some extra configurenotifies
Dana Jansens danakj@orodu.net
775d5da7
this fixes pypanel.. heh.
don't activate iconic windows when they raise themselves just raise them. firefox still works so i am happy.
Dana Jansens danakj@orodu.net
65d50861
when un-showing the desktop if a window is getting shown, iconify the others so just the one is shown
Dana Jansens danakj@orodu.net
3537e501
why didn't that commit
Dana Jansens danakj@orodu.net
f1f946ea
stacking fixes for layers
Dana Jansens danakj@orodu.net
4a34c7dd
don't get the layer from the group like that. let new windows go in their default layer. they are already kept above their parents.
Dana Jansens danakj@orodu.net
f3424ddd
add comments explaining why we don't switch desktops immediately
Dana Jansens danakj@orodu.net
6ff520d0
always set the multipliers just dont allow 0
Dana Jansens danakj@orodu.net
9c32f34b
center the text and icon vertically
Dana Jansens danakj@orodu.net
2864a761
make sure math is done in the right order
Dana Jansens danakj@orodu.net
5a96dee7
let the pager popup grow vertically
Dana Jansens danakj@orodu.net
f9694154
fix assert happening by combining interactive and non-interactive actions
Dana Jansens danakj@orodu.net
1ec4c3df
make the squares a little smaller. it looks nicer?
Dana Jansens danakj@orodu.net
9a3f05a7
don't make interactive desktop cycling switch until you release the mods. this is needed because otherwise focus moves around during the grab and applications get confused. :|
change the pager popup to resize based on the layout so the squares can be bigger
Dana Jansens danakj@orodu.net
df45b1e1
add the focusout test
Dana Jansens danakj@orodu.net
1c70f6b6
make stuff know it is not focused but changing desktops it still doesn't know
Dana Jansens danakj@orodu.net
5667acac
PANGO_VERSION_CHECK is new
Dana Jansens danakj@orodu.net
176e6cea
going down the order so look for a lower layer
Dana Jansens danakj@orodu.net
9d7215af
new strings
Dana Jansens danakj@orodu.net
f5502fa0
translate a few more strings and use g_message not g_critical whch is for debugging
Dana Jansens danakj@orodu.net
6194acb2
checking string length with the wrong texture
Dana Jansens danakj@orodu.net
11dd7db8
make the frame before you use the frame..
Dana Jansens danakj@orodu.net
083a7565
set the session stuff before trying to apply per-app settings.
set the decor/functions after restoring all the stuff from session/per-app too
Dana Jansens danakj@orodu.net
933a689b
fix typo in a comment, at least i do'nt think config5Aure is a word
Mikael Magnusson mikachu@comhem.se
6c7ba97f
make the xsession dir
Dana Jansens danakj@orodu.net
3dc9e13d
add the restack test for _NET_RESTACK_WINDOWS
Dana Jansens danakj@orodu.net
220015e5
make configurerequest activate but net_restack_windows just restack.
fix bottomif, topif, opposite.
fix debug output in event printing when there was no problem
Dana Jansens danakj@orodu.net
aa40be22
add _NET_RESTACK_WINDOW
Dana Jansens danakj@orodu.net
c2c84c3f
add support for _NET_RESTACK_WINDOW
Dana Jansens danakj@orodu.net
ae4bb6bc
not using this anymore
Dana Jansens danakj@orodu.net
cf466cde
dont clean the rc and menu. and include them in make dist
Dana Jansens danakj@orodu.net
f237e72a
dont count button releases to change the context until the first button pressed is released
Dana Jansens danakj@orodu.net
902555c9
the coordiantes are from the client, not the frame
Dana Jansens danakj@orodu.net
7d27d9d3
kill the .in's for xml. we're not installing the xsd to the filesystem anymore anyways.
kill the openbox-kde and openbox-gnome, we're going to have to do it different.
put the full path to the openbox binary in the openbox-*-session files by using .in's
Dana Jansens danakj@orodu.net
f1ad68d0
add some debug prints
make it C compliant.
some random cleanups
Dana Jansens danakj@orodu.net
af7280b4
fix cmd line argument parsing, it would drop some.
drop the --restart-binary argument. we're going to have to do it differently because gnome-session is stupid !
Dana Jansens danakj@orodu.net
98304406
make restacking much better, yay

no more cludge using actions to raise windows. when a window changes layer it
uses add_nonintrusive now so it won't cover the focused window. this way
fullscreen windows when they drop down, don't cover up the new focus target.

fix add_nonintrusive so that if the window is focused it gets added to the top

add back support for ConfigureRequest restacking, this time properly though,
using all the detail and sibling modes. but when windows use this to raise they
are using some old business and we're going to assume they actually want to
activate instead. this means firefox works nicely. yay.

ubuntu's firefox has been made to just stop raising entirely though. !
Dana Jansens danakj@orodu.net
6412fba7
fix positioning of the icon
Dana Jansens danakj@orodu.net
e44ec050
less redrawing
Dana Jansens danakj@orodu.net
da229587
fix hovering for corner buttons during full-max
Dana Jansens danakj@orodu.net
66afa1dc
when a window is fully maxed, make clicking on the titlebar past the edge buttons count as clicking on the buttons
Dana Jansens danakj@orodu.net
6042ba5e
update compliance
Dana Jansens danakj@orodu.net
1066f012
mem leak
Dana Jansens danakj@orodu.net
c4385c09
use pango 1.16 stuff if its there. and use the old stuff if not. also! save it in static variable so we dont have to update it over and over.
Dana Jansens danakj@orodu.net
fa67faf8
require pango 1.16
Mikael Magnusson mikachu@comhem.se
f03eef27
mem leak
Dana Jansens danakj@orodu.net
ef4bec07
mem leaks
Dana Jansens danakj@orodu.net
a97b2f75
mem leak
Dana Jansens danakj@orodu.net
36ddd0c4
dont use XKeysymToKeycode because valgrind says it is doing bad things, and we have all the data we need anyways
Dana Jansens danakj@orodu.net
b8309807
use the keysyms instead of translating. waste.
Dana Jansens danakj@orodu.net
c6eabf18
fix using uninit'd values
Dana Jansens danakj@orodu.net
a7637df1
remove debug print
Dana Jansens danakj@orodu.net
4b912ed2
possible buffer overflow?
Dana Jansens danakj@orodu.net
481e6811
fix using uninit'd memory. don't use 0 keycode
Dana Jansens danakj@orodu.net
7f262bc2
add support for _NET_REQUEST_FRAME_EXTENTS
Dana Jansens danakj@orodu.net
20eaccab
add the _NET_WM_REQUEST_FRAME_EXTENTS test
fix the copyright date
Dana Jansens danakj@orodu.net
824de237
backwards compatibility..
Dana Jansens danakj@orodu.net
03699417
only allow west/move/east for shaded windows
Mikael Magnusson mikachu@comhem.se
2d2af531
add the user time window test
Dana Jansens danakj@orodu.net
c675d946
missed a couple atoms, fix them for consistency
Dana Jansens danakj@orodu.net
eeba44c0
make the debug print compile.. :|
Dana Jansens danakj@orodu.net
f54bd60a
debug print
Dana Jansens danakj@orodu.net
85155534
support for _NET_WM_USER_TIME_WINDOW round 2 ! yay abstraction
Dana Jansens danakj@orodu.net
cdb108c7
add support for _NET_WM_USER_TIME_WINDOW. round 1 ! ding.
Dana Jansens danakj@orodu.net
f6fd0140
moveresize_start already checks if the window can move or resize
Dana Jansens danakj@orodu.net
8ae58946
resist for one key press at edges when keyboard move/resizing
Dana Jansens danakj@orodu.net
44404518
optimization
Dana Jansens danakj@orodu.net
e384e8a4
make cycling desktops not move when cancelling
Dana Jansens danakj@orodu.net
a3f8c5c4
button presses which run actions during interactive actions will cancel the action.
when you cancel switching desktops, don't go back, just stop.
Dana Jansens danakj@orodu.net
4546925b
get the mouse pointer position if it is on another screen too.
let you move/resize from the client menu if the mouse is on another screen
Dana Jansens danakj@orodu.net
65eb46bd
unused variable
Dana Jansens danakj@orodu.net
a76e91eb
update to previous changes
Dana Jansens danakj@orodu.net
24f258e6
size the frame properly on mapping
Dana Jansens danakj@orodu.net
23d4eb5f
kill the hideDisabled option
Dana Jansens danakj@orodu.net
193ca219
further work to r6205. make the disabled titlebar buttons hide if they won't move other buttons around by doing so.
Dana Jansens danakj@orodu.net
5aea44ad
punctuation
Dana Jansens danakj@orodu.net
a430d7d3
hide titlebar buttons if that won't move other buttons
Dana Jansens danakj@orodu.net
f806e7f2
typo
Dana Jansens danakj@orodu.net
c254f760
fix move and resize up
Dana Jansens danakj@orodu.net
b190fb6b
compile fix
Dana Jansens danakj@orodu.net
7869b81d
more crash fix
Dana Jansens danakj@orodu.net
f0fdba8a
fix no more crashing in the client menu.
Dana Jansens danakj@orodu.net
1361a87b
hide after iconifying
Dana Jansens danakj@orodu.net
48d70452
update the client menu when you do stuff without closing it.
but this means we can't use actions in it. oh well?
can kill the desktop notifiers now too. yay for more obvious code paths.
Dana Jansens danakj@orodu.net
c54cb4a8
typo...
Dana Jansens danakj@orodu.net
636a676c
dont ungrab/regrab when the position in the chain didnt move
Dana Jansens danakj@orodu.net
0064695d
xhtml..
Dana Jansens danakj@orodu.net
e0409cd7
make maximize work when its not-fullmax
Dana Jansens danakj@orodu.net
f017556f
maximize in the client menu is enabled when it's not full-maxed
Dana Jansens danakj@orodu.net
709ebbb6
let you move splash screens if you are so inclined
Dana Jansens danakj@orodu.net
d074b11b
let windows that cant iconify still iconify with their parents, but not non-normal windows.
let you focus windows that wouldnt normally by clicking on their decor (if they have any)
Dana Jansens danakj@orodu.net
f0e5332b
but deiconify
Dana Jansens danakj@orodu.net
370b5ba2
dont iconify if you can't
Dana Jansens danakj@orodu.net
b82ccb2c
only place dialogs above other windows
Dana Jansens danakj@orodu.net
b0f43a11
don't focus splash screens and toolbars and menus when you click on them. or enter them.
Dana Jansens danakj@orodu.net
97821223
try again. merge r6177-6182 from 3.4-working
Dana Jansens danakj@orodu.net
1e4215c5
merge r6176-6182 from 3.4-working
Dana Jansens danakj@orodu.net
aae4f66f
recalc the layer when above/below changes
Dana Jansens danakj@orodu.net
cc9ef6f2
dont check if relatives have focus. gtk apps all set application even when its from a user event
Dana Jansens danakj@orodu.net
f2e88d24
only show the debug message when relevent
Dana Jansens danakj@orodu.net
cc2ad0a8
double space in debug output
Mikael Magnusson mikachu@comhem.se
e4cffb64
redo how a window checks if it can activate.

added the bahavior that.. if an application is the source of the request, it will only move focus if something related to it has focus already (and user time checks out)
Dana Jansens danakj@orodu.net
de82c4a5
i dont like this "application window" concept. swap it with "helper" windows instead which are the inverse. helper windows are utility/menu/toolbar windows.
Dana Jansens danakj@orodu.net
ebabf394
make helper windows share desktops with all their application top level windows
Dana Jansens danakj@orodu.net
5945d2e9
ok, so, back out the last commit. owner events are passed thru so we get enter/leave notify events.
dont change frame decor from button presses during an interactive grab or
while a menu is open
Dana Jansens danakj@orodu.net
26fc54c9
why did we pass thru owner events ?? its working without that.. hum..
and now the frame buttons dont get press hilights while the menu is open
Dana Jansens danakj@orodu.net
38b12c6c
!
Dana Jansens danakj@orodu.net
def8f7e4
po updates?
Dana Jansens danakj@orodu.net
1fa08abd
um... hide the client menu when the window changes desktops. its not visible anymore (probably..) and no send to menu wont be wrong too.
Dana Jansens danakj@orodu.net
fa332cc3
try reselect the same line. its not perfect though..
Dana Jansens danakj@orodu.net
28052922
add a notifier for clients changing desktops. use it to update the send-to menu if it changes. it does this by closing/opening the menu.. thats about the best we can do tho with this menu code without huge changes
Dana Jansens danakj@orodu.net
31d76802
update some strings and the swedish translation
Mikael Magnusson mikachu@comhem.se
3237fdd9
add all files using _() and remove some that do not
Mikael Magnusson mikachu@comhem.se
e180bb03
translate "More..."
Dana Jansens danakj@orodu.net
d9154803
oops hehe. a render call in the loop for debugging was what made it slow. anyhow make it even faster by only calling render once too. yay snappiness.
Dana Jansens danakj@orodu.net
39058729
merge in r6153-6154 from the 3.4 branch
Dana Jansens danakj@orodu.net
edf29cfe
when a window becomes transient for its group, it needs to have group transients removed from itself
Dana Jansens danakj@orodu.net
e1081644
show the right icon
Dana Jansens danakj@orodu.net
37e2be2a
fix a crash after reconfigure, the desktop names were not being re-set. so now they aren't deleted since we don't want to change them over a reconfigure anyways.
Dana Jansens danakj@orodu.net
73348c28
misparsing of rgb:4/5/6 colors
Dana Jansens danakj@orodu.net
82b2f0aa
popups fixes. if the text for the popup is empty now, there wont be extra padding for it. desktop name fixes.
Dana Jansens danakj@orodu.net
15007a62
remove a debugging print
Dana Jansens danakj@orodu.net
5e8dfcfe
we werent dropping it in screen, we were dropping it in prop
Dana Jansens danakj@orodu.net
8d81088e
we were always overwriting the last desktop name
Dana Jansens danakj@orodu.net
5e0fa1b5
a variable sized alt-tab box. is this nice or slower to read? we'll see.
Dana Jansens danakj@orodu.net
0f018ece
fix a comment
Dana Jansens danakj@orodu.net
13df16a6
windows on other desktops are iconic state too
Dana Jansens danakj@orodu.net
f138bd80
this had changed for the animation stuff but it is no longer needed i think. also in show desktop mode, windows aren't iconic state they are just "behind" the desktop.
Dana Jansens danakj@orodu.net
2e6b3870
make reference to there is no session manager
Dana Jansens danakj@orodu.net
1357dacb
it looks better GNOME/Openbox etc rather than vice versa.
also update the stand-alone session file
Dana Jansens danakj@orodu.net
51338fb5
dont install the xsd's
Dana Jansens danakj@orodu.net
24c0d618
add the 'engine="box"' to the theme format, and require it to be there so we can change that in the future
Dana Jansens danakj@orodu.net
974391d3
switch to using a command line variable instead, for the restart binary, just remove it so its not given to the session manager and confuses things.
drop the reconfigure notify pid for now
Dana Jansens danakj@orodu.net
740c8af4
add .desktops for running Openbox, KDE/Openbox and GNOME/Openbox
add more .desktops for gnome and update it
add scripts to run an KDE/Openbox and GNOME/Openbox session
also add scripts for openbox-gnome and openbox-kde which are placeholders and will be replaced by real programs.
also set the name on the wm_support_win to be how we were called (which is passed in the environment) rather than just "Openbox"
add an envionment variable for wanting to be notified (SIGUSR2) when openbox reconfigures. this would be used by openbox-shell to update the root window.. if i make such a thing.. i dunno.
Dana Jansens danakj@orodu.net
f506cbce
the session properties are not set on the group leader, they are set on the "client leader" which is in the WM_CLIENT_LEADER property. also they are all set when the window maps, and not to be changed thereafter.
Dana Jansens danakj@orodu.net
b02947c0
client machine and wm_command can be set on the group leader
Dana Jansens danakj@orodu.net
9e0dc2aa
missed a newline thingie
Mikael Magnusson mikachu@comhem.se
de988813
memory leak
Dana Jansens danakj@orodu.net
f289adf6
a focus fix? konquerer would end up losign focus on close sometimes. this is the only thing i can think of tht would cause it. we will see..
Dana Jansens danakj@orodu.net
2c507a72
missed some stuff?
Dana Jansens danakj@orodu.net
7ffa091d
change the perapp settings "head" option to "monitor" i think its easier to understand.
some cleanup for perapp settings.
make monitor and desktop be specified starting at 1, like elsewhere in the config file.
Dana Jansens danakj@orodu.net
6cd5f7ea
document the per app settings in rc.xml.in. some xsd fixes. add the "default" option to all the per-app settings which is the same as not putting it in there at all.
Dana Jansens danakj@orodu.net
c51373c2
fix some comments
Dana Jansens danakj@orodu.net
531798e6
update swedish translation (bork bork bork)
Mikael Magnusson mikachu@comhem.se
58b79ed3
don't translate message saying we can't translate messages
Mikael Magnusson mikachu@comhem.se
442c1680
require gettext 0.15 for bootstrapping
Mikael Magnusson mikachu@comhem.se
8286b441
fix the popup text width, cuz the way its calculated changed
Dana Jansens danakj@orodu.net
a25c5b85
lower the screen support win at startup. this way we don't map everything over top of the kde splash screen. and other windows wont get burried under the desktop window this way too, like amarok's osd.
Dana Jansens danakj@orodu.net
3c4d73c4
save session state for old clients that dont use XSMP. more session improvements. with ksmserver we can save a few things before the clients go messing with stuff during the interactive phase.
Dana Jansens danakj@orodu.net
0fc06816
don't make the desktop fullscreen
Dana Jansens danakj@orodu.net
277db282
a bunch of thigns got squashed into this commit.. sorry..
1. soem bug fixes for window stacking
2. clarify some functions behavior with their names
3. add (untested) support for legacy fullscreen apps. i have no idea what they do on a multihead xinerama setup though and if this would help there or need some changes.
Dana Jansens danakj@orodu.net
007e62fa
fix popup sizes
Dana Jansens danakj@orodu.net
2ad26c7e
resize the desktop switch popup to as big as it needs to be for all the desktop names.
don't overrite desktop names on startup, only set them if they aren't already set. that property isn't even for us.
Dana Jansens danakj@orodu.net
d4fec1d3
fixes for resizing to strings.
Dana Jansens danakj@orodu.net
3d54ac17
some friendlier? desktop names
Dana Jansens danakj@orodu.net
2b658f3d
show the desktop in the focus popup if its not on the current desktop
Dana Jansens danakj@orodu.net
a7f65a81
add an allDesktops option to Next/PreviousWindow to alt-tab across all desktops.
Dana Jansens danakj@orodu.net
85724596
give the focus indicator a fixed width
Dana Jansens danakj@orodu.net
affc84cc
more animation frames for iconifying, if your computer can do it
Dana Jansens danakj@orodu.net
eac3a649
more restrictive to keep clients on screen in more cases
Dana Jansens danakj@orodu.net
1bf9de38
refactor all the session stuff. yay, it works properly now.
make sessions save the desktop being displayed. can we get rid of config_firstdesk now?
refactor startup a bit. focus the window that was focused when we were restarted.
have clients properly restore their session state.
add undecorated to the saved session state for clients.
Dana Jansens danakj@orodu.net
a6aaabe6
change the --config-file to --config, which works differently..
change the _OPENBOX_RC root property to _OPENBOX_CONFIG which is also different.
Dana Jansens danakj@orodu.net
37875f09
extranous )
Dana Jansens danakj@orodu.net
c1a5ad45
fix stupid apps focusing. yah.
Dana Jansens danakj@orodu.net
2f5727ff
add support for the menu.items.activedisabled.text.color theme element
Dana Jansens danakj@orodu.net
526560b8
changes to the client menu, which entries are there, and reorganizing, and renaming.
let you highlight disabled menu entries, they just aren't runable of course, and add the activedisabled theme element for these entries.
add the all desktops button picture to "All desktops" in the client menu
update the themes for the new element, and some changes to make things more readable-better contrast.

CLEARLOOKS-OLIVE is now DIFFERENT FROM THE 3.4 BRANCH SO DON'T RE-RUN THEMETOXML ON IT :( :(
yeah.. i think that is everything?
Dana Jansens danakj@orodu.net
8a99fede
prepend is faster
Dana Jansens danakj@orodu.net
68a9a4c4
some changes to ConfigureRequest, based on what I found in FVWM.
fix those stupid applications from moving accross the screen by the size of their decorations.
Dana Jansens danakj@orodu.net
97ffe20f
make focus fallback when it is given to the frame (this happens if you unmap the client but not the frame for eg in iconify animation)
Dana Jansens danakj@orodu.net
34091480
fixes to the properties and net_supported. a bunch weren't supported. better checking at runtime to make sure everything is in the atom.
Dana Jansens danakj@orodu.net
b114ec71
dont let you do mouse events on any animating window. also fix root window mouse events..
Dana Jansens danakj@orodu.net
378adaa9
yay. way way cleaner code for iconify animations. let people show/hide the frame logically and it will do everything except during animations the frame will show what it needs to for visual display.
Dana Jansens danakj@orodu.net
ac56fe16
make animation default on again. :/
Dana Jansens danakj@orodu.net
3e90c85d
oops, i left in the really long animate time heh
Dana Jansens danakj@orodu.net
b5e597f1
lots of fixes for the iconify animation. i think it should all work perfectly now ?
one change in action.c may affect bindings... THIS COULD BREAK CURRENT CONFIG FILES. ya.
so, if you used a press binding and it moved the window, no enter event will be generated for that anymore because you are holding down the button when the window moves. if you don't like that then use a click binding instead.

1
Dana Jansens danakj@orodu.net
99daa7f5
add a test for shaped windows
Dana Jansens danakj@orodu.net
3db93a6a
watch for currenttime
Dana Jansens danakj@orodu.net
48a4eafb
better iconify animation code. now it is time limited even under heavy load or whatever. yay
Dana Jansens danakj@orodu.net
cf67851d
dont retrurn a context while incoify animating
Dana Jansens danakj@orodu.net
9ee9b707
dont make two animations conflict
Dana Jansens danakj@orodu.net
492b66ea
don't animate iconify/restore by default
Mikael Magnusson mikachu@comhem.se
90fefcb7
maybe 1/5 of a second is better?
Dana Jansens danakj@orodu.net
08e42aca
animate iconify/reestore. yeah.
Dana Jansens danakj@orodu.net
fde5ca09
when restoring from show-desktop mode because a window is going to be focused, then don't restore focus how it was before showing the desktop.
Dana Jansens danakj@orodu.net
9389c7e6
more hacks to avoid races
Dana Jansens danakj@orodu.net
6d3b1748
this is so bogus.. im going to break people's config files just now.
Dana Jansens danakj@orodu.net
a56d3a12
missing parentheses
Dana Jansens danakj@orodu.net
03f861b0
let you alt-tab to utility windows when focus is already in the group
Dana Jansens danakj@orodu.net
fce7d9b2
and some more transient fixes
Dana Jansens danakj@orodu.net
1046c19f
more fixes for the transient tree
Dana Jansens danakj@orodu.net
288e37b0
lied about using some events it wasnt using
Dana Jansens danakj@orodu.net
9a9e3f6b
woa.. let you do mouse actions while in an interactive keyboard action, and let you do keyboard actions while move/resizing. yay. also you can click in windows at the same time..
Dana Jansens danakj@orodu.net
0c15af50
unused variable
Dana Jansens danakj@orodu.net
071b5ee3
fix 2 actions.
make activate on the root window work like focus.
dont allow growtoedge in vertical directions for shaded windows. mika can you please test this? :)
Dana Jansens danakj@orodu.net
27138313
missing paranthesis
Dana Jansens danakj@orodu.net
431035df
continuation of r6039 in all respects
Dana Jansens danakj@orodu.net
dbafb9ac
add test grouptran2 for testing the transient of group transient window situation
Dana Jansens danakj@orodu.net
7ff21ad7
add the maginificent client_update_transient_tree.
add a whole lot of comments ! i think like half of this commit is comments
speed up mapping windows a little! less re-updating of the transient info by far.
and... yeah fix the crash created from r6035.
Dana Jansens danakj@orodu.net
32630da2
make clicks end inetractive actions but not cancel them ! so annoying !
Dana Jansens danakj@orodu.net
15ec3581
group transients werent getting added to their parents
Dana Jansens danakj@orodu.net
d0bbfb66
ignore maximized windows in smart placement
Mikael Magnusson mikachu@comhem.se
b5161f80
revert r6029, as it didnt fix anything.
however this patch does fix the aforementioned problem.
actions need some reworking... yeah... later...
Dana Jansens danakj@orodu.net
a823e478
dont move windows away from omnpresentness when deiconifying them
Dana Jansens danakj@orodu.net
e84fb1b0
drop the DoNotPropogate thing. metacity doesn't set it at all, and i cant tell any difference in the events generated without it.
grab mouse buttons on the client window itself for client bindings. this fixes the weird "click and drag doesnt work when the window is focused" behavior ive been seeing with kdesktop. hooray !
Dana Jansens danakj@orodu.net
31e6e12c
add a grouptrancircular test for two windows both being group transients
Dana Jansens danakj@orodu.net
07af4a61
some improvements on how group transients get their transient pointers, needed after r6022.
Dana Jansens danakj@orodu.net
5fefac87
add a stacking test
Dana Jansens danakj@orodu.net
147f83fe
this is gross... i think it can go away from other changes... if openbox goes into infinite loops.. then it needs to come back !
Dana Jansens danakj@orodu.net
cdcba19c
better stacking_add_nonintrusive.
Dana Jansens danakj@orodu.net
02dda1ef
set the usertime on windows if they dont provide one, to something reasonable.
Dana Jansens danakj@orodu.net
b71f1cd6
from r6017, we no longer need to fallback in client_unmanage. yay
Dana Jansens danakj@orodu.net
00bf97ae
not much.. some debugs and a nicer if statement
Dana Jansens danakj@orodu.net
7c17296a
handle more focus events. keep track when focus goes to another screen and don't handle focus fallbacks in that case until we know focus came back to our screen.
Dana Jansens danakj@orodu.net
88d00a01
fix the new modifier key code..
Dana Jansens danakj@orodu.net
7e946f68
make the modifier key code a lot better...
1) it can handle more user cases.
2) it can handle binding more modifier keys with their keysym names like Hyper and Super. W is a shortcut for Super, cuz the windows key is generally bound to it.
3) if you change your keymap bindings and reconfigure openbox it will learn your changes.
and i dunno.. its just nice and stuff now.. you can actually read it I think..
Dana Jansens danakj@orodu.net
5784f111
add the notion of "application windows" meaning normal or dialog type windows.
let you alt-tab to non-application windows when they dont have an application window in their group
Dana Jansens danakj@orodu.net
e0e1d4ba
don't show the client menu when its for an invalid window
Dana Jansens danakj@orodu.net
53975abf
merge r6004 from trunk
Dana Jansens danakj@orodu.net
75c63eec
end interactive grabs durign reconfigure instead of leaving everything in a hung state. yay!
Dana Jansens danakj@orodu.net
d389e67d
yeah.. so much for lucky 6000
Dana Jansens danakj@orodu.net
34b89d8f
don't run 100 actions when doing interactive actions. keep only one interactive action at a time, no need to queue them up. when an action with a different function comes along, end the previous one. if its the same function though, you know it will clean up after itself so no need to save them both and call it twice identically.
Dana Jansens danakj@orodu.net
9c19d7f6
find_on_screen takes client width/height, not frame
Dana Jansens danakj@orodu.net
88ac9ee7
debug messages
Dana Jansens danakj@orodu.net
020cbeff
unsigned..
Dana Jansens danakj@orodu.net
d7108df0
when deiconifying, deiconify all transients, not just direct ones
Dana Jansens danakj@orodu.net
f2890f35
remove delay for focus/desktop popups. its fast anyway any not showing it is annoying
Dana Jansens danakj@orodu.net
ec850570
typos
Dana Jansens danakj@orodu.net
80117db6
turn on demands_attention when urgent gets set, and turn it off when urgent is removed, for those apps that think it is 1917 or something
Dana Jansens danakj@orodu.net
1d9c0e8b
skip windows which skip the taskbar.
don't skip them for cycling dock windows.
Dana Jansens danakj@orodu.net
1019e340
only ignore vertical scrolls
Mikael Magnusson mikachu@comhem.se
0fee4e91
only ignore horizontal and vertical scroll events when outside a menu frame, not all buttons above 3
Mikael Magnusson mikachu@comhem.se
ee3d1b7d
tabs
Dana Jansens danakj@orodu.net
37019bc8
capitalize the theme names
Dana Jansens danakj@orodu.net
ee527707
add the author of the clearlooks themes
Dana Jansens danakj@orodu.net
064e9971
add new Clearlooks themes. Make Clearlooks the default theme.
Dana Jansens danakj@orodu.net
a6f52b90
better menu keyboard handling.
also, when you hit a keybinding while menus are open, it will close the menus and run the binding.
Dana Jansens danakj@orodu.net
cb030c6f
make submenus open in the same direction as the top level menu
Dana Jansens danakj@orodu.net
10df03b9
only show the coords popup when both directions have a size increment
Dana Jansens danakj@orodu.net
97cbacd9
make keeping windows on screen much more clever
Dana Jansens danakj@orodu.net
0da9aa26
add a slight delay to the focus/desktop switch dialogs. so if you hit the key really fast there is no flicker. of course if you hit it fast but not fast enough there is still flicker. is this cool or does this make it feel bad? i dunno. we'll see..

make the keychain popup use the new delay popup facilities
Dana Jansens danakj@orodu.net
66d6e112
small change to the render API. RrMinsize became RrMinSize. added RrMinWidth and RrMinHeight.
make focus/desktop popups wider based on the screen size with the old size as a minimum.
left-align the desktop dialog.. i think better dialogs would be nice. and to make them hide or something when you switch desktops while switching windows etc.
Dana Jansens danakj@orodu.net
a223fa20
don't accept non-letter keys for shortcuts, they can't be shortcuts anyways and it was mis-matching
Dana Jansens danakj@orodu.net
e9d81517
big oops
Dana Jansens danakj@orodu.net
564b7279
fix drawcontent=no resizing
Dana Jansens danakj@orodu.net
cad10d8b
some old changes to grav.c test, it wasn't a valid test before.

when a window gets reconfigured, try keep it on the monitor if it was before.
Dana Jansens danakj@orodu.net
20e5555e
add mention of the optional libraries. update the debian packages you want to get.
Dana Jansens danakj@orodu.net
55d2916c
a whole lot of changes to the moving/resizing code. it was broken for non-northwest gravities. now it is not. at least, that is the idea.
Dana Jansens danakj@orodu.net
c9914821
fix this client message.
Dana Jansens danakj@orodu.net
492675fd
this test wasnt valid
Dana Jansens danakj@orodu.net
71cbd4d8
there is 5 longs, not 4
Dana Jansens danakj@orodu.net
1dfc391f
Update README.CVS and change name to README.SVN, missing debian package names for some things
Mikael Magnusson mikachu@comhem.se
e5d6a552
also add the go there entry to client list menus if the only windows on a desktop are iconified. hopefully this separator will be okay?
Mikael Magnusson mikachu@comhem.se
fc55347e
14.4 is new enought to fix that po/Makefile.in.in bug i think. at least with makefile 1.8. and its more widely available.
Dana Jansens danakj@orodu.net
4e590eba
add a separate font config for onscreendisplays
change menutitle in the rc to menuheader
fix up the xsd for fonts
Dana Jansens danakj@orodu.net
1c4c2b92
focus_client is already nulled from the fallback, and use client_focused for niceness in the future
Dana Jansens danakj@orodu.net
b673823d
have to fallback in client_unmanage, until we figure out a way to hear those focusin events without conflicting screens
Dana Jansens danakj@orodu.net
bdf28757
fix placement of top menus
Dana Jansens danakj@orodu.net
004c0d3c
almost everyone prefers the brackets. so make both menus use them now. maybe [] would be better than ()? i dont know
Dana Jansens danakj@orodu.net
26879183
place the client menu at the top left of the window when opening it with a key binding.
change how the first menus are placed. place them like other people place menus. maybe this is good, maybe it is bad, we will see..
Dana Jansens danakj@orodu.net
853a5b6b
i think xsd files are supposed to say xsd, not xs
Mikael Magnusson mikachu@comhem.se
c259b2e1
this is just wrong
Mikael Magnusson mikachu@comhem.se
53c08bab
remove xs:sequence and one more update for chroot stuffs
Mikael Magnusson mikachu@comhem.se
74ce377e
update for chroot stuffs
Mikael Magnusson mikachu@comhem.se
c4ba6e60
assume a valid utf8 char is at the shortcut position. the menu parser makes sure of this
Dana Jansens danakj@orodu.net
baa9ad14
dont parse both keybindings and actions in the same block
Dana Jansens danakj@orodu.net
1a300ab3
add the delay for killing keychains back (but it won't kill chroots)
Dana Jansens danakj@orodu.net
d9b25d48
add group transients to other transients who arent group transients. is that english? YEP
Dana Jansens danakj@orodu.net
e896709c
when windows disappear dont move focus from enter event, ever.
Dana Jansens danakj@orodu.net
a65b1d20
allow actions and chains at the same level
Dana Jansens danakj@orodu.net
8c68c9ab
fixes for new keybindings stuff/chroot/parsing
Dana Jansens danakj@orodu.net
b6d2529a
add chrooting. use chroot="true" on the chroot location
Dana Jansens danakj@orodu.net
1ee98f4a
give the chain popup a 1 second delay before it shows
Dana Jansens danakj@orodu.net
df9b2294
add a popup dialog that shows where you are in a keychain
Dana Jansens danakj@orodu.net
b5dbe857
dont go to disabled menu entries with keyboard shortcuts
fix some rendering of shortcuts
Dana Jansens danakj@orodu.net
0c41ab3c
make rendering the shortcuts much faster
Dana Jansens danakj@orodu.net
a744deee
consistency for dock layer naming
Mikael Magnusson mikachu@comhem.se
c8983c42
playing a bit with grabs
make mouse clicks cancel alt-tab and stuff if you arent dragging during the alt-tab
Dana Jansens danakj@orodu.net
05560c92
fix layer type to use above/below as in the code, not Top/Bottom
Mikael Magnusson mikachu@comhem.se
d9204860
some more border fixups
Dana Jansens danakj@orodu.net
fe4f691a
new "de" translation from SimonAW ! yay
also the code linenumbers changed
Dana Jansens danakj@orodu.net
89658cf6
the inner stuff was being placed wrong all this time.
also give the inner window a border. clicking to the left/right of the client now will be the client context rather than the frame. frame is just for grabbed buttons after all.
Dana Jansens danakj@orodu.net
9fe12048
oops, bad idea
Dana Jansens danakj@orodu.net
1bb1bb10
focus and raise when you click on the frame itself, i.e. the border to the sides of the client window
Dana Jansens danakj@orodu.net
5d545457
add the mapiconic test
Dana Jansens danakj@orodu.net
9aa42c2a
cleanups for keyboard menu shotcuts. dont let & set a shortcut from stuff like menu titles and what not, they are only for strigns oenbox provides.
Dana Jansens danakj@orodu.net
569b5aeb
update to the new strings. and add menu shortcuts for the client menu to them all
Dana Jansens danakj@orodu.net
09278045
"text" was no longer needed
Dana Jansens danakj@orodu.net
4717b987
change resize binding
Dana Jansens danakj@orodu.net
5d5be2ba
add keyboard shortcuts to the menus. you can specify the shortcut key with & even in root menu and stuff
Dana Jansens danakj@orodu.net
138d3e38
add shortcuts for text rendering. it underlines the first character in the string that matches the shortcut
Dana Jansens danakj@orodu.net
d91c67bf
g_locale_to_utf8 seems to work here and its a simpler function all, and i dont have to specify iso-8891whatever in it, so maybe its actually more portable. or maybe it breaks things. we'll see, won't we.
Dana Jansens danakj@orodu.net
f6b049cd
pointer type changed a long time ago
Dana Jansens danakj@orodu.net
fb249311
only grab keybinds on the root window, not every client window
Mikael Magnusson mikachu@comhem.se
23a43c5a
update the po files for new text strings
Dana Jansens danakj@orodu.net
7b6f90af
consistency
Dana Jansens danakj@orodu.net
04010ff0
don't split strings inside _() across lines. change some of the text messages
Dana Jansens danakj@orodu.net
1582b361
proper handling of the plate though, too
Dana Jansens danakj@orodu.net
d3ca984e
make the inner window work like the plate used to for actions
Dana Jansens danakj@orodu.net
79cd7b4b
dont cause focus change with enter events when youre already in the window
Dana Jansens danakj@orodu.net
d19c184b
set the client's user_time when it gets activated
Dana Jansens danakj@orodu.net
0116d824
don't activate and change desktops if the client's not on the current desktop and its user_time is older than the last time you changed desktops
Dana Jansens danakj@orodu.net
ca8665e3
fix a comment
Dana Jansens danakj@orodu.net
8446e50b
use client_activate to activate newly mapping windows. this means that if a window maps on another desktop and is going to be activated, you will end up on that desktop
Dana Jansens danakj@orodu.net
0f43a684
remove fourCorners from data/ as well
Mikael Magnusson mikachu@comhem.se
9e6aa531
remove the four corners option
document what these serious macros are with art!
Dana Jansens danakj@orodu.net
59a33c03
working tapered corners resize
Mikael Magnusson mikachu@comhem.se
5606209b
print the corner out that was chosen
Dana Jansens danakj@orodu.net
045ba2e0
what I have so far
Mikael Magnusson mikachu@comhem.se
f2018280
this doesn't work yet but i don't want to screw it up accidentally
Mikael Magnusson mikachu@comhem.se
ac241a82
set the default icon onto windows which don't provide one
Dana Jansens danakj@orodu.net
d2f7ad9a
place randomly inside the area available. if its too big, put the top left corner inside still
Dana Jansens danakj@orodu.net
0771964c
set the max settings properly, was setting max_vert for both.
make sure the desktop property is set when per-app settings change it
Dana Jansens danakj@orodu.net
c1a124fc
preliminary change to the 9 corners thing, to add a recursive 9 corners inside the middle one
Dana Jansens danakj@orodu.net
ff59630f
only moved half a sentence
Mikael Magnusson mikachu@comhem.se
8740c305
the check for if the window is being resized is only needed for syncing
Dana Jansens danakj@orodu.net
e86900bd
fix resizing when drawContents is off, and I think an ifdef was a bit too high up
Mikael Magnusson mikachu@comhem.se
7854818a
add debug messages saying if an extension is missing on the server
Dana Jansens danakj@orodu.net
fefbf387
remove the stick atom, since openbox does not use stickiness
Dana Jansens danakj@orodu.net
bfdd4fd1
update the compliance file
Dana Jansens danakj@orodu.net
4996b85f

        
Dana Jansens danakj@orodu.net
8cf55537
check for the sync extension
Dana Jansens danakj@orodu.net
3d71bfd2
add check for the Sync extension
Dana Jansens danakj@orodu.net
6e83a82e
the focus_client = NULL got moved by mistake.
Dana Jansens danakj@orodu.net
c6fe4f8d
focus_order_remove is called in a few places. move the check for unsetting focus_client into client_unmanage.
Dana Jansens danakj@orodu.net
ad852b6b
add support for _NET_WM_SYNC_REQUEST
Dana Jansens danakj@orodu.net
cf3427b2
add these cflags even though they are empty right now all the time
Dana Jansens danakj@orodu.net
7ae95e46
save windows' colormaps rather than querying them from the server every time you focus it
Dana Jansens danakj@orodu.net
3595da62
never mind on the hint idea, it was fun while it lasted. at least i know it is there now.
Dana Jansens danakj@orodu.net
3a91527f
hm, that was a silly error. the propogate mask shouldnt get the Hint thing in it.
Dana Jansens danakj@orodu.net
a806f052
missing a thinger
Dana Jansens danakj@orodu.net
a488360f
add the PointerMotionHintMask everywhere, we dont need every mouse event
Dana Jansens danakj@orodu.net
3993847d
set the eventmask on frame windows again..
Dana Jansens danakj@orodu.net
268c87ed
in shrinking resize the frame before the client
Dana Jansens danakj@orodu.net
5316bc6c
1. remove some old event handling that was not used at all. yay less bandwidth.
2. make the client padding color show during resizes with drawContents off
Dana Jansens danakj@orodu.net
1a005d72
place transients without a parent in the middle of the screen
dont use non-normal windows as parents
Dana Jansens danakj@orodu.net
d0013c08
add a window between the frame and the plate for drawing the client border. this way when the client window disappears, nothing gets rendered underneath it.
Dana Jansens danakj@orodu.net
b4eecc51
focus_client was becoming invalid if the focused client was unmanaged.
Dana Jansens danakj@orodu.net
c97c6342
add a default action for cycling panels
Dana Jansens danakj@orodu.net
fa72e99f
add the panels option, which is for NextWindow/PreviousWindow and the directional focus actions
Dana Jansens danakj@orodu.net
9f11e2af
cycling between dock windows now possible with the <panels>yes</panels> option
Dana Jansens danakj@orodu.net
33e01783
set the default config tool for gnome to be obconf2
Dana Jansens danakj@orodu.net
f999797f
leavenotify events messing up delayed focus
Dana Jansens danakj@orodu.net
f507432c
error in the new error message code
Dana Jansens danakj@orodu.net
865ef738
fix warning
Dana Jansens danakj@orodu.net
5a68cdad
extra comma
Dana Jansens danakj@orodu.net
b22cdc9f
line up the top coords box nicer
Dana Jansens danakj@orodu.net
2f74990c
use automake 1.9
Dana Jansens danakj@orodu.net
9e7a240d
include the header that has gethostname
Mikael Magnusson mikachu@comhem.se
141c249b
show the hostname of forwarded clients in the titlebar
Mikael Magnusson mikachu@comhem.se
fdec9c5a
exit if any of the commands fail
Dana Jansens danakj@orodu.net
7ac8c550
upgrade gettext
Dana Jansens danakj@orodu.net
aa0e04a4
add positioned test
Dana Jansens danakj@orodu.net
ec4f685b
add the tests to the dist tarball
Dana Jansens danakj@orodu.net
08290335
new translation strings
Dana Jansens danakj@orodu.net
2442cdfd
1) translate all of openbox's output
2) update copyrights.
3) make release. ok that part not quite yet.
Dana Jansens danakj@orodu.net
ea088eb8
remove an unused variable
Dana Jansens danakj@orodu.net
a8535d49
only show debug messages if you enable it on command line and remove extra newline
Dana Jansens danakj@orodu.net
eb18f502
fallback to desktops properly
Dana Jansens danakj@orodu.net
a8a93d7d
put the separator back in the spit up client list menu
Dana Jansens danakj@orodu.net
06943a10
back out r5812. you do want that there
Dana Jansens danakj@orodu.net
a82c1efe
wasteful syncing
Dana Jansens danakj@orodu.net
58dc8697
remove windows from the hash on hide, dont readd them again!
Dana Jansens danakj@orodu.net
66c35076
unused variable "icons"
Mikael Magnusson mikachu@comhem.se
7e0d660b
stop listening to events on clients that are being unmanaged before generating new events
Dana Jansens danakj@orodu.net
806655e7
you cant grab substructureredirect on the plate. why was this even here?
Dana Jansens danakj@orodu.net
546ced81
add a test for show-hide-show of a window really quickly
Dana Jansens danakj@orodu.net
86b7f4e5
use event_ignore_queued_enters
Dana Jansens danakj@orodu.net
4543c176
when windows reverttoparent, we will get a notifynonlinear when the frame closes
Dana Jansens danakj@orodu.net
56d42ce6
use focusouts from unmanaged windows (windows which have just closed)
Dana Jansens danakj@orodu.net
6d666b0a
add a debug message
Dana Jansens danakj@orodu.net
f37382b6
focus properly on desktop change
Dana Jansens danakj@orodu.net
5f428bde
missing a header
Dana Jansens danakj@orodu.net
3265ea9a
when focusing nothing, make sure focus_client knows that nothing is focused
Dana Jansens danakj@orodu.net
afd88015
focusin to the root window happens on both monitors when a focused window unmaps... boo...
Dana Jansens danakj@orodu.net
eb1cd9cc
ignore some focus events that shouldnt be reacted to
Dana Jansens danakj@orodu.net
dc43b74a

        
Dana Jansens danakj@orodu.net
911ad763
a) set the focus client before calculating its layer
b) cleanup in focus.c
Dana Jansens danakj@orodu.net
55b5b828
FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window
Dana Jansens danakj@orodu.net
bfb800c0
a) remove focus_hilite, it is not needed and complicated things
b) set focus_client to null when nothing is actually focused, but still allow
   focus to go to black holes
c) allow the focus action to be performed without a client, this will focus
   the openbox instance (i.e. the screen in multihead setups)

big thanks to syscrash for the ideas on how to go about this
Dana Jansens danakj@orodu.net
7d1226c5
xflush after changing the focus decorations so it gets shown faster
Dana Jansens danakj@orodu.net
a95b5244
better debugging symbols
Dana Jansens danakj@orodu.net
7c1fb96b
don't compare client pointers with random numbers
Mikael Magnusson mikachu@comhem.se
1685e652
remove debug message
Dana Jansens danakj@orodu.net
65f29b24
hilite the focus target before xsyncing in the ignore enter stuff, so less flicker
Dana Jansens danakj@orodu.net
037654f3
use ignore enters instead of removing them from the queue
Dana Jansens danakj@orodu.net
d6e49acf
dont need to ignore mouse events during a keyboard grab, they go to the grab-window anyways
use our built in grab_keyboard
Dana Jansens danakj@orodu.net
27773e1c
don't grab the pointer during interactive events. this allows you to alt-tab during a dnd.
Dana Jansens danakj@orodu.net
4c672be2
remove grab_pointer_window, nothing used it
Dana Jansens danakj@orodu.net
48f23720
start on the current desktop when a wm was already running
Dana Jansens danakj@orodu.net
ff43372d
only pass thru events when the menu is open, don't for other stuff
Dana Jansens danakj@orodu.net
a70633d4
eat enter events after unmanaging a window
change how focus falls back for windows being unmanaged, don't fall back immediately, instead wait for the focus out event and use it (break stuff maybe! yay)
Dana Jansens danakj@orodu.net
63f1b123
don't fallback to the desktop again when leaving show-desktop-mode
Dana Jansens danakj@orodu.net
6e7abeb8
engrish
Dana Jansens danakj@orodu.net
939fbcfd
add a comparitor to timers. use this in event.c to let you remove timers from the queue selectively for delayed focus
Dana Jansens danakj@orodu.net
8612fcfb
better matching of the menu titles/separators to the theme
Dana Jansens danakj@orodu.net
5a3a7668
highlight for motion events in the menu too, this is useful when the enter gets ignored cuz the mouse was already inside it
Dana Jansens danakj@orodu.net
51c3c8c3
give labeled separators borders
Dana Jansens danakj@orodu.net
73b490f6
stop delayed focusing when falling back
Dana Jansens danakj@orodu.net
57ffea11
fix segfaults
Dana Jansens danakj@orodu.net
98b021ff
properly handle clients disappearing during delayed focus on them
Dana Jansens danakj@orodu.net
5009498d
use the timestamp from the original enter when delay-focusing a window
Dana Jansens danakj@orodu.net
a5caab95
ignore crossing events while an interactive grab is going on.
when a menu is open, use the crossing events for the menu only.
Dana Jansens danakj@orodu.net
05d1a86e
fix a segfault
Dana Jansens danakj@orodu.net
b6897feb
better event handling for menus
Dana Jansens danakj@orodu.net
957963e2
1) get rid of menu titles
2) let separators have labels, when they have a label, then they will appear like a menu title used to

so if you want a menu title, you use a separator in the menu itself at the top

more style work may be needed
Dana Jansens danakj@orodu.net
854b2ae6
grab enter/leave events during mouse grabs and pass events along still during the grab. this is needed to catch enter/leave events in the menus. it seems to not be weird with apps.
Dana Jansens danakj@orodu.net
8644a47c
handle enter/leave events in the menu
Dana Jansens danakj@orodu.net
21342619
look in sysconfdir before looking in /etc/xdg. this kinda violates the spec, i think, but i don't see any other proper alternative really.
Dana Jansens danakj@orodu.net
da04050c
dont do the same thing 100 times
Dana Jansens danakj@orodu.net
78d72500
add --debug-focus

add --config-file: to specify a config file to use.

set OPENBOX_RC property on the root window containing the path of the RC file being the full path to the RC file being used by openbox
Dana Jansens danakj@orodu.net
8a972b38
ignore BadMatch errors that can't be avoided
Dana Jansens danakj@orodu.net
0e9bd66b
fixes for transients

1) don't count non-normal windows as parents when placing/stacking transients
2) in stacking.c, when a window is transient for the group but has no parents, then don't loop forever looking for its parents
Dana Jansens danakj@orodu.net
3f2d342d
hide focus debugging messages
Dana Jansens danakj@orodu.net
d713bdf4
remove the client_time_heap thing. actually its better to just use the user_time on the currently focused window I think. that will handle panels and things too.
Dana Jansens danakj@orodu.net
90cd9c62
get rid of global client_last_user_time variable.

add ObClientTimeHeap. This is a max-heap of the clients based on their user times. this only includes the clients whose user time is not CurrentTime. the maximum from this heap replaces the client_last_user_time variable, so that you always have the latest time, not the last time that was changed.

hoefully it works, so far it seems to.
Dana Jansens danakj@orodu.net
f18d9a95
don't allow comparison with timestamps to CurrentTime. it just doesn't make any sense.

(also client interface changed, that is in the next commit)
Dana Jansens danakj@orodu.net
34196a1e
make stacking_add_nonintrusive work when there is only 1 other window
Dana Jansens danakj@orodu.net
7f11e15b
fix undermouse placement
Dana Jansens danakj@orodu.net
64dda237
saved session information overrides per-app settings, because that's how you set it up in the session
Dana Jansens danakj@orodu.net
33c469f4
set the desktop from per-app-settings properly, i think.
also fix a compiler warning.
Dana Jansens danakj@orodu.net
7a1a6da8
better synthetic configurenotify handling. in particular..

http://bugzilla.gnome.org/show_bug.cgi?id=399552
on unmap, when we move the client window, we need to send a synthetic configurenotify.
Dana Jansens danakj@orodu.net
ceaf23b6
set event_curtime if we're going to use it only
Dana Jansens danakj@orodu.net
fda5ddfe
excessive debug printing.. :)
Dana Jansens danakj@orodu.net
c03c0841
don't fallback when a window is hidden right away, it's redundant, we'll get a focusout for the window after the unmapnotify anyways.

show new windows when switching desktops before hiding the old windows.
Dana Jansens danakj@orodu.net
7059cde1
http://mail.gnome.org/archives/wm-spec-list/2006-May/msg00000.html

Send ConfigureNotify events when a window is mapped at the position it has specified. When we add decorations, the window gets moved in reference to the root window, so it needs to be told.
Dana Jansens danakj@orodu.net
8d7cc259
the centered menus thing got annoying :|
Dana Jansens danakj@orodu.net
e785e18a
you didn't say no
Mikael Magnusson mikachu@comhem.se
e6e9ab92
unset DESKTOP_STARTUP_ID at startup so we don't pass it on unknowingly.
Dana Jansens danakj@orodu.net
41c6b048
delete the SN env var after launching a program
Mikael Magnusson mikachu@comhem.se
0eaf2d15
fully maximize windows all the time. size increments are preferred sizes not required ones.

-- http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3
Dana Jansens danakj@orodu.net
00ddaf06
can't use (unsigned)-1 for a max time, because timestamps wraparound and stuff. user the last_user_time as a default for new windows instead.
Dana Jansens danakj@orodu.net
6372bd7c
use CurrentTime constant
Dana Jansens danakj@orodu.net
2876f220
use CurrentTime when time gets moved backwards
Dana Jansens danakj@orodu.net
58be283e
copy paste error, spotted by tilman ftw
Mikael Magnusson mikachu@comhem.se
fc5b9a56
fix compile without startup notification after r5711
Mikael Magnusson mikachu@comhem.se
f746a497
use setenv to set up the DESKTOP_STARTUP_ID when launching programs.

before, if DESKTOP_STARTUP_ID was set in openbox, it would mess up adding it to the child's environment because it would appear twice. so now it will only appear once for the child always.
Dana Jansens danakj@orodu.net
3ad050f7
proper logic for event_time_after, and wraparounds and such
Dana Jansens danakj@orodu.net
bd272698
more updates for toggled states. also updating the theme files.
Dana Jansens danakj@orodu.net
5fb30e44
add toggled-pressed and toggled-hover button states to themes. also rename toggled to be toggled-unpressed
Dana Jansens danakj@orodu.net
33cc5724
drop some wasted client_validates.
Dana Jansens danakj@orodu.net
d20f84f5
more handling time wraparounds
Dana Jansens danakj@orodu.net
339d7670
handle time wrapping around.
Dana Jansens danakj@orodu.net
0ec2282e
make sure the ungrab happens after the grab. fracking X server doesn't have a monatomic clock..
Dana Jansens danakj@orodu.net
35c8d482
move xml themes to 3.5
Mikael Magnusson mikachu@comhem.se
3278fdae
open the menu with the mouse cursor just outside the top item
Dana Jansens danakj@orodu.net
cbbda7a3
proper logic for using the menu overlap with middle centered submenus.

always center top level menus horizontally under the cursor. why is this not normal behavior..?
Dana Jansens danakj@orodu.net
ee58f96a
better placement for top level menus under the mouse cursor. middle placement is not used for this now. it was behaving differently than submenus so i'd like to have some consistency
Dana Jansens danakj@orodu.net
afc01515
better vertical centering for when "middle" placement is enabled for menus
Dana Jansens danakj@orodu.net
ede50bed
return the old cursor. oops
Dana Jansens danakj@orodu.net
03be1f8d
add --disable-xcursor, if you don't want to use it.

fix help text for --disable-startup-notification
Dana Jansens danakj@orodu.net
c567f593
add support for the X Cursor library. this means a nicer cursor for startup notification.
Dana Jansens danakj@orodu.net
59c5d1cc
set up the menu's parent and children stuff before rendering it
Dana Jansens danakj@orodu.net
e6c82786
don't menu menus jump around at all anymore. open them on screen in the first place
Dana Jansens danakj@orodu.net
2db6cf51
xml tags are case sensitive
Dana Jansens danakj@orodu.net
d6c45db8
bad idea.. more thought is needed..
Dana Jansens danakj@orodu.net
20f4d7fd
when opening the client menu with a key, open it at the window's top left corner. is this clever or dumb?
Dana Jansens danakj@orodu.net
eb2a0feb
watch for reverttoparent reverting to the root window, which will create a DetailInferior focusin event on root.

adding some debug messages also which I am using..
Dana Jansens danakj@orodu.net
4aa8d64f
set the event_curtime when running an action to the time in the event used to run the action
Dana Jansens danakj@orodu.net
d17fe2d2
there is no themetoxml.h
Dana Jansens danakj@orodu.net
c4732aee

        
Dana Jansens danakj@orodu.net
e77353f0
clean up the title getting function
Dana Jansens danakj@orodu.net
4c2b16e7
kill window title numbering...

probably it was a dumb idea all along. you're not picking the numbers yourself and you're probably not remembering which window they apply to and the focus indicator thinger is much more clever than numbers
Dana Jansens danakj@orodu.net
af47a406
check for minimum required versions of glib and pango
Mikael Magnusson mikachu@comhem.se
4ad3961e
accidentally didn't include client_list_menu.h in dist
Mikael Magnusson mikachu@comhem.se
ba161e96
launch things on the desktop where you ran it.

also: kde apps move themselves to the current desktop when they open. what the heck?
Dana Jansens danakj@orodu.net
c4446beb
ignore focus events on root that we don't care about
Dana Jansens danakj@orodu.net
fd382fcc
allow focus to disappear to black holes. (that is, windows not managed by openbox). the black hole may just be a window on another monitor. keyboard events aren't going to work in this scenario, though.
Dana Jansens danakj@orodu.net
e227ac84
we're only getting one unmap notify now, with the new event mask on the root window. we're not getting one for the frame window anymore.
Dana Jansens danakj@orodu.net
fb3d2033
not passing timestamps sometimes and not others. set event_curtime when client messages provide a timestamp.
Dana Jansens danakj@orodu.net
7db7d62c
free unused path strings.
always pass in malloc'd memory, cuz it is going to be freed later.
Dana Jansens danakj@orodu.net
0ed1b678
memory leak in xinerama setup code