Mikael Magnusson [Sun, 5 Jul 2009 13:53:29 +0000 (15:53 +0200)]
Allow escaping _ in menu labels by putting __
Currently you can't mark anything that comes after the __ with _ to make
that a shortcut.
Mikael Magnusson [Sun, 5 Jul 2009 12:22:16 +0000 (14:22 +0200)]
Don't trust xinerama not to return NULL
We check that xinerama is active already, but someone got a NULL here.
Mikael Magnusson [Sun, 5 Jul 2009 11:38:25 +0000 (13:38 +0200)]
e
Mikael Magnusson [Sun, 5 Jul 2009 11:17:00 +0000 (13:17 +0200)]
Merge branch 'backport' into wip/mikabox
Geoffrey Antos [Sun, 5 Jul 2009 11:14:24 +0000 (13:14 +0200)]
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 ]
Mikael Magnusson [Sat, 4 Jul 2009 15:50:05 +0000 (17:50 +0200)]
Merge branch 'backport' into wip/mikabox
Conflicts:
openbox/actions/desktop.c
openbox/client.c
openbox/popup.c
openbox/screen.c
Mikael Magnusson [Sat, 4 Jul 2009 14:58:02 +0000 (16:58 +0200)]
Show desktop switch popup on every monitor
This should be a satisfactory fix for #3694 I hope.
Mikael Magnusson [Sat, 4 Jul 2009 13:34:54 +0000 (15:34 +0200)]
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.
Reilly Grant [Sat, 4 Jul 2009 13:06:55 +0000 (15:06 +0200)]
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 ]
Nico Golde [Sat, 4 Jul 2009 12:26:50 +0000 (14:26 +0200)]
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.
Mikael Magnusson [Sat, 4 Jul 2009 12:16:47 +0000 (14:16 +0200)]
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.
Dana Jansens [Fri, 3 Jul 2009 22:58:21 +0000 (18:58 -0400)]
client_validate should return FALSE only for UnmapNotifies that will cause the window to become unmanaged
Mikael Magnusson [Fri, 3 Jul 2009 19:20:30 +0000 (21:20 +0200)]
Show window role in the debug message for name/class too.
Mikael Magnusson [Fri, 3 Jul 2009 19:19:54 +0000 (21:19 +0200)]
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.
Mikael Magnusson [Wed, 15 Apr 2009 16:18:16 +0000 (18:18 +0200)]
Make at least the default configs validate
More things need to be case insensitive and whatnot.
Mikael Magnusson [Sun, 5 Apr 2009 14:53:38 +0000 (16:53 +0200)]
Update and reactivate croatian translation.
Einars Sprugis [Tue, 31 Mar 2009 17:20:23 +0000 (19:20 +0200)]
Add latvian translation.
Mikael Magnusson [Sun, 29 Mar 2009 20:34:50 +0000 (22:34 +0200)]
Avoid anonymous unions
Some compilers, like sun studio and clang don't support them.
Davide Truffa [Wed, 25 Feb 2009 22:51:45 +0000 (23:51 +0100)]
Update italian translation.
Mikael Magnusson [Fri, 20 Feb 2009 16:45:24 +0000 (17:45 +0100)]
Merge branch 'work' into wip/mikabox
Mikael Magnusson [Thu, 19 Feb 2009 21:19:27 +0000 (22:19 +0100)]
Close openbox.log when restarting
Mikael Magnusson [Fri, 20 Feb 2009 16:44:16 +0000 (17:44 +0100)]
Merge branch 'backport' into work
Conflicts:
openbox/config.c
Mikael Magnusson [Fri, 20 Feb 2009 16:41:34 +0000 (17:41 +0100)]
Fix per-app monitor setting
A couple of things were wrong, the parser added 1 to the value despite
expecting the user to give values in the range of 1 to
screen_num_monitors, rc.xml documented the values to start from 0 and
finally the monitor value wasn't copied over at all when matching the
client.
Mikael Magnusson [Thu, 19 Feb 2009 16:52:57 +0000 (17:52 +0100)]
handle locked windows in client list menus also. this is a really stupid way of doing it.
Mikael Magnusson [Sun, 8 Feb 2009 16:35:35 +0000 (17:35 +0100)]
Start on the second entry...
Mikael Magnusson [Sun, 8 Feb 2009 16:35:26 +0000 (17:35 +0100)]
Only warp on menu close if it was also the top level menu.
Mikael Magnusson [Sun, 8 Feb 2009 07:52:07 +0000 (08:52 +0100)]
Merge branch 'mikabox/maybe' into wip/mikabox
Conflicts:
openbox/client_list_combined_menu.c
Mikael Magnusson [Sun, 8 Feb 2009 07:51:25 +0000 (08:51 +0100)]
Warp to the top of the combined menu and back.
Mikael Magnusson [Fri, 6 Feb 2009 01:16:06 +0000 (02:16 +0100)]
Put current desktop on top of combined client list menu.
This probably needs an option.
Mikael Magnusson [Mon, 2 Feb 2009 14:43:49 +0000 (15:43 +0100)]
Merge branch 'work' into wip/mikabox
Conflicts:
openbox/event.c
Mikael Magnusson [Thu, 29 Jan 2009 21:45:47 +0000 (22:45 +0100)]
Merge branch 'backport' into work
Conflicts:
openbox/event.c
openbox/frame.c
Mikael Magnusson [Thu, 29 Jan 2009 21:35:25 +0000 (22:35 +0100)]
Add Plural-Forms header to .po files that need it.
Mikael Magnusson [Thu, 29 Jan 2009 21:33:44 +0000 (22:33 +0100)]
Handle InputShape type shaping too.
Many composite apps use this to pass through clicks where they are transparent.
Mikael Magnusson [Sun, 23 Nov 2008 11:33:20 +0000 (12:33 +0100)]
Typos in error message from gdm-control
Mikael Magnusson [Sun, 23 Nov 2008 11:21:31 +0000 (12:21 +0100)]
install-sh should be executable
Apparently on solaris, you can't invoke -x scripts via "sh install-sh".
Mikael Magnusson [Wed, 19 Nov 2008 16:43:56 +0000 (17:43 +0100)]
Merge branch 'backport' into work
Mikael Magnusson [Wed, 19 Nov 2008 16:14:38 +0000 (17:14 +0100)]
Only update the focus cycle indicator when already visible in frame.c to avoid overriding bar=no
Mikael Magnusson [Wed, 19 Nov 2008 16:14:38 +0000 (17:14 +0100)]
Only update the focus cycle indicator when already visible in frame.c to avoid overriding bar=no
Mikael Magnusson [Mon, 10 Nov 2008 22:25:23 +0000 (23:25 +0100)]
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 [Sat, 15 Nov 2008 21:53:02 +0000 (22:53 +0100)]
Merge branch 'backport' into work
Conflicts:
openbox/event.c
Mikael Magnusson [Sat, 15 Nov 2008 21:50:16 +0000 (22:50 +0100)]
Use ngettext for %d desktop(s).
This poses a small problem. We currently let translators reorder this
string, but ngettext only takes one numeric argument. This means that you
can either get correct pluralization or the order you want, but not both.
I fixed up the languages I understand at a very basic level, but the
rest will need translator assistance.
Mikael Magnusson [Mon, 10 Nov 2008 22:34:50 +0000 (23:34 +0100)]
Fix a problem pointed out by clang
openbox/client.c:269:10: warning: incompatible pointer types passing 'gint *', expected 'guint32 *'
if (!OBT_PROP_GET32(self->window, NET_WM_USER_TIME, CARDINAL, &user_time))
^~~~~~~~~~~~~~
Mikael Magnusson [Wed, 5 Nov 2008 18:36:16 +0000 (19:36 +0100)]
Merge branch 'work' into wip/mikabox
Conflicts:
openbox/event.c
Mikael Magnusson [Wed, 5 Nov 2008 18:35:18 +0000 (19:35 +0100)]
Merge branch 'backport' into work
Mikael Magnusson [Wed, 5 Nov 2008 17:48:10 +0000 (18:48 +0100)]
Don't move windows to current desktop on net_active_window if the event didn't come from the user.
Instead, just activate the flashy thinger.
Mikael Magnusson [Wed, 5 Nov 2008 18:09:34 +0000 (19:09 +0100)]
Using format specifiers without arguments in printf is bad.
Mikael Magnusson [Fri, 31 Oct 2008 22:37:30 +0000 (23:37 +0100)]
Add GroupMembers action.
Similar to AllClients, but acts on all members of the group the current
action target is a member of.
Mikael Magnusson [Wed, 29 Oct 2008 12:50:50 +0000 (13:50 +0100)]
Merge branch 'work' into wip/mikabox
Conflicts:
openbox/event.c
Mikael Magnusson [Wed, 29 Oct 2008 12:48:03 +0000 (13:48 +0100)]
Merge branch 'backport' into work
Mikael Magnusson [Wed, 29 Oct 2008 12:30:26 +0000 (13:30 +0100)]
Bring helper windows when following a window.
Mikael Magnusson [Wed, 29 Oct 2008 11:35:17 +0000 (12:35 +0100)]
_NET_WM_USER_TIME=0 means don't focus the new window.
Mikael Magnusson [Sun, 26 Oct 2008 23:58:56 +0000 (00:58 +0100)]
Merge branch 'backport' into work
Conflicts:
openbox/client.c
openbox/prop.c
openbox/prop.h
Mikael Magnusson [Tue, 10 Jun 2008 15:55:03 +0000 (17:55 +0200)]
No \n on ob_debug in this branch.
Mikael Magnusson [Sat, 7 Jun 2008 03:12:04 +0000 (05:12 +0200)]
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 [Sun, 26 Oct 2008 23:51:56 +0000 (00:51 +0100)]
Show name/class when mapping in debug mode.
Mikael Magnusson [Sun, 4 May 2008 09:56:57 +0000 (11:56 +0200)]
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 [Sun, 26 Oct 2008 23:10:57 +0000 (00:10 +0100)]
Correct a 64-bit bug in event_time_after
The code assumed the timestamps had the same domain as the type Xlib
uses for them, which is almost never the case with Xlib. Change all
involved variables to guint32.
Dana Jansens [Sat, 29 Mar 2008 00:56:16 +0000 (20:56 -0400)]
give the compiler hints about what can be kept in registers so that it can optimize the gradient code better with all the pointers going on
Mikael Magnusson [Wed, 22 Oct 2008 19:13:27 +0000 (21:13 +0200)]
Make sure the _MOTIF_WM_INFO atom exists.
Without this, urxvt won't use motif hints for borderless mode.
Inko Illarramendi Arancibia [Wed, 22 Oct 2008 16:15:30 +0000 (18:15 +0200)]
Update Basque translation.
Mikael Magnusson [Sat, 4 Oct 2008 22:04:58 +0000 (00:04 +0200)]
Merge branch 'mikabox/actions' into wip/mikabox
Conflicts:
openbox/actions/focus.c
openbox/event.c
Mikael Magnusson [Sat, 4 Oct 2008 22:04:10 +0000 (00:04 +0200)]
Add "locked" to if action
Mikael Magnusson [Sat, 4 Oct 2008 11:03:18 +0000 (13:03 +0200)]
Disallow some more stuff on locked windows
Mikael Magnusson [Sat, 4 Oct 2008 10:52:59 +0000 (12:52 +0200)]
Merge branch 'mikabox/maybe' into wip/mikabox
Mikael Magnusson [Sat, 4 Oct 2008 10:49:56 +0000 (12:49 +0200)]
Don't allow deiconifying locked windows via the focus action.
Mikael Magnusson [Sun, 28 Sep 2008 20:05:25 +0000 (22:05 +0200)]
Center text in pager popup and make it at least as wide as it is high.
Mikael Magnusson [Sun, 14 Sep 2008 11:56:13 +0000 (13:56 +0200)]
0 is the first monitor here, not 1.
Mikael Magnusson [Wed, 10 Sep 2008 16:11:24 +0000 (18:11 +0200)]
Merge branch 'imlib-submenus' into wip/mikabox
Mikael Magnusson [Wed, 10 Sep 2008 16:10:58 +0000 (18:10 +0200)]
Unrelated to this topic but whatever. Refactor and comment and note some bugs that should be fixed.
Mikael Magnusson [Wed, 10 Sep 2008 15:17:51 +0000 (17:17 +0200)]
Merge branch 'imlib-submenus' into wip/mikabox
Mikael Magnusson [Wed, 10 Sep 2008 15:17:25 +0000 (17:17 +0200)]
Is this better or worse?
Mikael Magnusson [Mon, 28 Apr 2008 22:25:20 +0000 (00:25 +0200)]
XXX TODO BLAG ETC Allow icons also for submenus
This has some code that should be "refactored" a bit.
Mikael Magnusson [Sat, 23 Aug 2008 04:59:55 +0000 (06:59 +0200)]
Merge commit 'nightm4re/3.4-working-padding' into wip/mikabox
Dave Foster [Sat, 23 Aug 2008 04:59:37 +0000 (00:59 -0400)]
Check both window+margin and just window for grow/move.
Mikael Magnusson [Sat, 23 Aug 2008 04:42:54 +0000 (06:42 +0200)]
Merge commit 'nightm4re/3.4-working-padding' into wip/mikabox
Mikael Magnusson [Sat, 23 Aug 2008 04:32:31 +0000 (06:32 +0200)]
Merge commit 'nightm4re/3.4-working-padding' into wip/mikabox
Dave Foster [Sat, 23 Aug 2008 04:36:03 +0000 (00:36 -0400)]
Mika says rearrange it!
Mikael Magnusson [Sat, 23 Aug 2008 04:32:25 +0000 (06:32 +0200)]
Merge branch '3.4' into wip/mikabox
Dave Foster [Sat, 23 Aug 2008 04:28:40 +0000 (00:28 -0400)]
Needless externs.
Dave Foster [Sat, 23 Aug 2008 04:20:37 +0000 (00:20 -0400)]
Added <windowMargin> config item and made the margin thing respect it!
Dave Foster [Sat, 23 Aug 2008 03:54:07 +0000 (23:54 -0400)]
Silly commentating.
Dave Foster [Sat, 23 Aug 2008 03:29:23 +0000 (23:29 -0400)]
Move now has resistance.
Dave Foster [Sat, 23 Aug 2008 03:13:15 +0000 (23:13 -0400)]
Resist edges working with margin.
Dave Foster [Sat, 23 Aug 2008 02:58:51 +0000 (22:58 -0400)]
GrowToEdge functions respect windows having a margin the same as the desktop margin.
Jesper Sander [Tue, 19 Aug 2008 15:46:45 +0000 (17:46 +0200)]
Add danish translation.
Mikael Magnusson [Sun, 13 Jul 2008 16:10:52 +0000 (18:10 +0200)]
Merge branch 'buttons' into wip/mikabox
Conflicts:
openbox/client_menu.c
openbox/framerender.c
render/render.c
render/render.h
render/theme.c
render/theme.h
Nico Golde [Sun, 13 Jul 2008 13:29:50 +0000 (15:29 +0200)]
Properly escape strings before writing XML.
Mikael Magnusson [Mon, 7 Jul 2008 20:34:55 +0000 (22:34 +0200)]
This might be a little bit better.
At least it consistently doesn't run the openbox action.
Mikael Magnusson [Mon, 7 Jul 2008 19:20:34 +0000 (21:20 +0200)]
"Fix" releasing the mouse button over a window.
Previously if you click-drag-released the left button on the root window to a client window,
Openbox would ignore the release because we don't own the client window. Now check if we
are in a button press or not before ignoring it. The bug was we would initiate a move when
the cursor was moved over a titlebar even when the button was unpressed because the variable
didn't get cleared properly.
This fix is very ugly.
Mikael Magnusson [Tue, 10 Jun 2008 15:52:04 +0000 (17:52 +0200)]
No \n on ob_debug in this branch.
Mikael Magnusson [Tue, 10 Jun 2008 15:51:53 +0000 (17:51 +0200)]
Show name/class when mapping in debug mode.
Mikael Magnusson [Sat, 7 Jun 2008 03:16:07 +0000 (05:16 +0200)]
Merge branch 'work' into wip/mikabox
Mikael Magnusson [Sat, 7 Jun 2008 03:12:04 +0000 (05:12 +0200)]
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. The code should probably check the length
of the string instead of reading random memory, but how fun is that?
Mikael Magnusson [Thu, 29 May 2008 16:51:17 +0000 (18:51 +0200)]
Openbox doesn't support _NET_WM_USER_TIME_WINDOW atm.
David Majà Martínez [Sun, 25 May 2008 18:26:24 +0000 (20:26 +0200)]
Update catalan translation.
Mikael Magnusson [Sat, 24 May 2008 14:36:22 +0000 (16:36 +0200)]
Add a translators note about not translating the word "SessionLogout" in an error message.
Tutku Dalmaz [Sat, 24 May 2008 14:33:49 +0000 (16:33 +0200)]
Add turkish translation.
Mikael Magnusson [Tue, 20 May 2008 16:22:24 +0000 (18:22 +0200)]
Do focus menus with the mouse.
Andrea Scarpino [Thu, 15 May 2008 11:12:22 +0000 (13:12 +0200)]
Update italian translation.
Nicolás de la Torre [Sun, 4 May 2008 20:04:38 +0000 (22:04 +0200)]
Update spanish translation.