Commit graph

6793 commits

Author SHA1 Message Date
Dana Jansens
7a926bb82f Find a valid image to use in the image cache. Fixes bug #1149
The larger of the width and height has to match.  If the smaller matches, then
it would have to be resized down to fit inside the area, so that does not
count.
2009-12-09 15:09:22 -05:00
Dana Jansens
543828c23f Properly react when a client's strut changes.
Previously it would only react if the height of the strut changed, not if its
start/end changed (that was a long-standing bug).
2009-12-09 15:09:15 -05:00
Dana Jansens
437739b6a3 Fix for rendering RGBA and Image textures.
RGBA and Image textures could exceed their tarea if given an x or y offset
inside the area that is > 0.
2009-12-09 15:08:30 -05:00
Dana Jansens
324ba15ebc Fix the Focus/Activate actions to focus windows on other desktops correctly 2009-12-09 13:25:19 -05:00
Dana Jansens
9f74f1e244 When moving focus across desktops, make sure Openbox doesn't think that a window which is no longer visible is still focused. 2009-12-09 13:24:12 -05:00
Dana Jansens
d7d54e9b89 The colormap is being set twice when moving focus to the root window 2009-12-09 13:24:08 -05:00
Dana Jansens
5b20b3fc7f Add a focus debug message for the frame's visible focus state 2009-12-09 13:24:04 -05:00
Dana Jansens
36af6f8d96 Fully maximized windows still have a normal titlebar. Fixes bug #4373
Also, maximized windows were having their client padding reduced by the size of
the outer border from this same bug, which is now fixed.
2009-12-09 11:24:16 -05:00
Dana Jansens
d95355ce58 Add a WM_CLASS to the skiptaskbar test 2009-12-09 11:02:44 -05:00
Dana Jansens
cf033623a0 Allow skip_taskbar windows to be focused on map when the user requests it in rc.xml. Fixes bug #4350 2009-12-09 10:56:43 -05:00
Dana Jansens
3011220572 Set a minimum value for the screenEdgeWarpTime for 25ms.
When this is very small it just gives X/Openbox a heart attack and ends up going forever.  Even 25 is quite too fast to be usuable so it should be a good minimum.
2009-12-09 10:32:36 -05:00
Dana Jansens
5290af9f50 Use test -r instead of test -e for solaris. Fixes bug #4253. 2009-12-09 10:23:37 -05:00
Dana Jansens
0c0ddc3628 Fix stacking for transients vs helper windows. Fixes bug #3851
This allows transient windows to be above helper windows.  And generally keeps
helper windows below transients, unless they are raised directly.
2009-12-09 10:09:43 -05:00
Dana Jansens
4e0a4fb53b Make openbox-gnome-session work with gnome-session > 2.22 2009-12-08 15:52:07 -05:00
Dana Jansens
2d6efece61 Follow up for commit 7f36e21ea9
The actions/session.c file was removed.
2009-12-08 14:21:26 -05:00
Dana Jansens
672aea85cf Don't hilite new windows when we're restoring them from a saved session. 2009-12-08 14:16:08 -05:00
Dana Jansens
07126124c9 Fix client_activate() to work for internal Openbox menus
client_activate() is a helpful way to focus a window on another desktop,
but only Openbox is allowed to do such things, user messages cannot.
2009-12-08 13:56:37 -05:00
Dana Jansens
11ecb7d219 Don't kill keygrabs when focus moves.
Applications should be better behaved by now, and GTK based apps seem to be
at least. We can file bug reports with them if we need to still.
2009-12-08 13:56:37 -05:00
Dana Jansens
97890e21cd Change _net_active_window behaviour.
Move focus on _net_active_window "app" requests if focus stealing would be
allowed. If focus is not given to the target window and it is hilited (or
any other situation where it is hilited) and the window is on another desktop,
then also raise it and make it the LRU window, so when you switch desktops
you go right to it.
2009-12-08 13:56:34 -05:00
Dana Jansens
8237564b47 Add needed linebreaks to the end of some debug messages 2009-12-08 10:11:21 -05:00
Dana Jansens
7f36e21ea9 Combine the Exit and SessionLogout actions
Just "do the right thing" based on if you are connected to a session manager
or not.
2009-11-24 19:36:18 -05:00
Dana Jansens
ada5de28f7 Don't ever give borders to windows that didnt have them before by making them "undecorated" with the keepborder config option on.
This fixes what commit 85f39cd27e fixed for the
fullscreen window case, but also fixes bug #4344.
2009-11-21 16:55:28 -05:00
Dana Jansens
ac6cd2344f Add a comment for commit ec9fbf05df regarding struts with multiple monitors. 2009-11-21 16:33:35 -05:00
Dana Jansens
33328583a1 Some fixes for the pager popups, and avoid a crash if you destroy a popup while it is going to be shown later by a delay. 2009-11-21 16:05:27 -05:00
Dana Jansens
056295a8ad Fix some signed/unsigned warnings (and keep stuff within 80 columns). 2009-11-21 15:16:37 -05:00
Dana Jansens
00cb161ec6 Keep things in 80 columns 2009-11-21 15:12:40 -05:00
Dana Jansens
6bb4b22cbe fix a crash in the SessionLogout action 2009-11-06 21:02:09 -05:00
Piotr Lewandowski
abf3660f84 Respect $XDG_CONFIG_HOME in openbox-session 2009-09-20 15:40:38 +02:00
Mikael Magnusson
48b6fd9ac4 Reload motif wm hints when property changes
Google's chrome does this when you toggle window decorations.

Based on patch in #4250 by Daniel Erat.
2009-09-20 15:37:54 +02:00
František Eliáš
1169118e60 Update slovak translation. 2009-07-16 21:08:05 +02:00
Krzysztof Kotlenga
ba1ac214df Remove newline from startupnotify description
It doesn't look good in some places, e.g. WnckTasklist (gnome-panel)

[ Also update translations -- Mikael ]
2009-07-05 21:17:01 +02:00
Mikael Magnusson
b69ee77256 Don't replace ~ when we shouldn't
Bump glib req to 2.14 to get GRegex, now we only replace ~ with your
homedir in an action if it is (at the start of the string or preceded
by whitespace) and (at the end of the string or followed by (whitespace
or a slash)). (?:^|(?<=[ \t]))~(?=[/ \t$])

Fixes bug #4033.
2009-07-05 20:51:04 +02:00
Mikael Magnusson
2ed56873b6 Another debug message typo 2009-07-05 16:21:28 +02:00
Mikael Magnusson
fa4e09dd7e Allow escaping _ in menu labels by putting __
Currently you can't mark anything that comes after the __ with _ to make
that a shortcut.
2009-07-05 15:55:17 +02:00
Mikael Magnusson
7351d86443 Don't trust xinerama not to return NULL
We check that xinerama is active already, but someone got a NULL here.
2009-07-05 14:24:14 +02:00
Serhiy Lysovenko
923a11ea30 Update ukrainian translation and rename to uk.po 2009-07-05 14:04:44 +02:00
Henning Bekel
85f39cd27e Don't draw borders in fullscreen mode when keepBorder is on 2009-07-05 13:39:47 +02:00
Geoffrey Antos
ec9fbf05df Fix interpretation of struts with multiple screens
According to the WM Specification, the left, top, right, and bottom
fields are to be declared relative to the overall X screen dimensions,
not the monitor dimensions.

The example given in the spec (v1.3 or 1.4draft2) is: "Another example
is a panel on a screen using the Xinerama extension. Assume that the
set up uses two monitors, one running at 1280x1024 and the other to the
right running at 1024x768, with the top edge of the two physical displays
aligned. If the panel wants to fill the entire bottom edge of the smaller
display with a panel 50 pixels tall, it should set a bottom strut of 306,
with bottom_start_x of 1280, and bottom_end_x of 2303. Note that the strut
is relative to the screen edge, and not the edge of the xinerama monitor."

In my case, I have a 1680x1050 monitor to the left of a 1920x1200 monitor
aligned at the top. I then have a gnome-panel along the bottom edge of
the 1680x1050 monitor with a height of 24 pixels.

xprop reports the following partial strut: _NET_WM_STRUT_PARTIAL(CARDINAL)
= 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 1679 which is correct according to
the spec. Gnome-panel is reserving the 150 pixels along the bottom that
aren't visible on the screen plus the 25 it requests for itself.

However, maximizing a window on this monitor leaves a gap of exactly 150
pixels between the bottom edge of the maximized window and the top edge
of the panel.

Also, when the 1680x1050 monitor is the primary monitor (id=1) then the
_NET_WORKAREA property on the root window is also off by 150px for the
same reason.

This patch fixes the two issues I mentioned for exterior monitor edges.
It doesn't attempt to account for "interior" monitor edges (i.e. a 'left'
strut on monitor A when monitor B is directly to the left of monitor A)
because it's not possible to do so with the current strut specification
(see http://mail.gnome.org/archives/wm-spec-list/2004-March/msg00004.html
for a discussion on this limitation)

This could be avoided by having the partial strut atom contain a xinerama
screen ID that the strut applies to, but unfortunately the discussion
all those years ago never got anywhere.

[ quoted from bug #3792 ]
2009-07-05 13:16:19 +02:00
Mikael Magnusson
2e1adce628 Show desktop switch popup on every monitor
This should be a satisfactory fix for #3694 I hope.
2009-07-04 17:04:52 +02:00
Mikael Magnusson
384f2dfc48 Give the popup to the timer remove so it does the right one
Only the chroot popup uses delayed mapping so this is just a latent bug.
2009-07-04 15:37:10 +02:00
Reilly Grant
18a2bc6da5 Fix memory corruption when y2sz is 0.
data is incremented one too many times when y2sz is zero, leading to
memory corruption.

[ also changed % 2 to & 1 -- Mikael ]
2009-07-04 15:14:48 +02:00
Nico Golde
3cd4db67aa Add "prev" and "next" as possible targets for moveto/resizeto actions.
One of the Debian users asked if it's possible to send a window to other
monitor when using xinerama, especially useful of you have 2 monitors and want
to toggle a window to the other one. I wrote a patch that implements next and
prev to also make that work for 3 or more workspaces.
2009-07-04 14:26:50 +02:00
Mikael Magnusson
795e9ebbac Only open the default font once, then ref it.
As suggested in #3622, we don't need to open the default font for every
place that wasn't specified in the theme. Solved a bit differently than
the patch given there.
2009-07-04 14:17:13 +02:00
Dana Jansens
d48e720c39 client_validate should return FALSE only for UnmapNotifies that will cause the window to become unmanaged 2009-07-04 12:38:53 +02:00
Mikael Magnusson
75ca846792 Show window role in the debug message for name/class too. 2009-07-03 21:20:38 +02:00
Mikael Magnusson
82db73cc43 Fix for #3715, app settings applied too late.
This caused problems for placing windows with decor turned off, the
placement code thought they had it on.
2009-07-03 21:20:35 +02:00
Mikael Magnusson
08aa5bf04e Make at least the default configs validate
More things need to be case insensitive and whatnot.
2009-04-15 18:18:16 +02:00
Mikael Magnusson
4705e3d110 Update and reactivate croatian translation. 2009-04-05 16:57:26 +02:00
Einars Sprugis
4ee1ab9f5c Add latvian translation. 2009-03-31 19:20:23 +02:00
Mikael Magnusson
264edb053d Avoid anonymous unions
Some compilers, like sun studio and clang don't support them.
2009-03-29 22:34:50 +02:00