Commit graph

6762 commits

Author SHA1 Message Date
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
Davide Truffa
4a15b96585 Update italian translation. 2009-02-25 23:56:37 +01:00
Mikael Magnusson
271e0fd9c8 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.
2009-02-20 17:41:34 +01:00
Mikael Magnusson
d0829d4416 Add Plural-Forms header to .po files that need it. 2009-01-29 22:35:56 +01:00
Mikael Magnusson
c5d372ffd6 Handle InputShape type shaping too.
Many composite apps use this to pass through clicks where they are transparent.
2009-01-29 22:35:56 +01:00
Mikael Magnusson
cac78e1a7a Typos in error message from gdm-control 2009-01-29 22:35:56 +01:00
Mikael Magnusson
2800ee7920 install-sh should be executable
Apparently on solaris, you can't invoke -x scripts via "sh install-sh".
2009-01-29 22:35:48 +01:00
Mikael Magnusson
b834f00186 Only update the focus cycle indicator when already visible in frame.c to avoid overriding bar=no 2008-11-19 17:14:44 +01:00
Mikael Magnusson
e59d06c7f3 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.
2008-11-15 22:50:18 +01:00
Mikael Magnusson
98b1c84bb5 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))
         ^~~~~~~~~~~~~~
2008-11-10 23:34:50 +01:00
Mikael Magnusson
59eb52b7c6 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.
2008-11-05 19:34:21 +01:00
Mikael Magnusson
e3134210d8 Using format specifiers without arguments in printf is bad. 2008-11-05 19:34:14 +01:00
Mikael Magnusson
6a35e7c594 Bring helper windows when following a window. 2008-10-29 13:47:27 +01:00
Mikael Magnusson
1970e3c3a8 _NET_WM_USER_TIME=0 means don't focus the new window. 2008-10-29 12:35:17 +01:00
Mikael Magnusson
c564b6245f Show name/class when mapping in debug mode. 2008-10-27 00:51:56 +01:00
Mikael Magnusson
f34b2571b9 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.
2008-10-27 00:27:57 +01:00
Dana Jansens
4a9b25ad58 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 2008-10-27 00:27:50 +01:00
Mikael Magnusson
5b678bdfcf Make sure the _MOTIF_WM_INFO atom exists.
Without this, urxvt won't use motif hints for borderless mode.
2008-10-22 21:13:27 +02:00
Inko Illarramendi Arancibia
42a6e55d1e Update Basque translation. 2008-10-22 18:15:30 +02:00
Mikael Magnusson
1f194d6d1f 0 is the first monitor here, not 1. 2008-09-14 13:56:13 +02:00
Jesper Sander
6253283a06 Add danish translation. 2008-08-19 17:46:45 +02:00
Nico Golde
b6c501cb7c Properly escape strings before writing XML. 2008-07-13 15:29:50 +02:00
Mikael Magnusson
63a5ba4975 Openbox doesn't support _NET_WM_USER_TIME_WINDOW atm. 2008-05-29 18:51:17 +02:00
David Majà Martínez
9cf44b41c3 Update catalan translation. 2008-05-25 20:27:07 +02:00
Mikael Magnusson
e6e393a30d Add a translators note about not translating the word "SessionLogout" in an error message. 2008-05-25 20:27:06 +02:00
Tutku Dalmaz
0d60d0d441 Add turkish translation. 2008-05-25 20:27:00 +02:00
Andrea Scarpino
42a03d409c Update italian translation. 2008-05-15 13:12:22 +02:00
Nicolás de la Torre
d2b471fa1e Update spanish translation. 2008-05-08 19:20:09 +02:00
Mikael Magnusson
19146fb69d Add Lithuanian translation. 2008-05-08 19:20:09 +02:00
Mikael Magnusson
e7557ee1a0 Don't translate action names. 2008-05-03 15:03:04 +02:00
Moroz Sergey L
06cbf8cd92 Update russian translation. 2008-05-02 10:26:40 +02:00
Mikael Magnusson
a7bbdf7d61 Fix typo introduced a few commits ago that made resizing windows hard. 2008-04-23 16:40:22 +02:00