Commit Graph

4506 Commits

Author SHA1 Message Date
Owen W. Taylor
7b0ba87b24 Fix custom-alt-tabs for single-handling of key events
The changes to enforce single handling of all key events were breaking
custom-alt-tab keypress handlers, since that code was assuming that
key event would get to process_tab_grab(), and then maybe to
process_event() and then to the plugin's xevent_filter to detect a
key release.

We centeralize all of this handling into process_tab_grab() and either

 - Invoke a custom handler for the key press
 - Select the current window on modifier release by calling a  new
   pseudo-binding "tab_popup_select"
 - Cancel the grab on an unbound key by calling a new pseudo-binding
   "tab_popup_cancel"

http://bugzilla.gnome.org/show_bug.cgi?id=590754
2009-08-26 12:26:58 -04:00
Owen W. Taylor
67682a2683 Add a modal mode for plugins
mutter_plugin_begin_modal() and mutter_plugin_begin_modal() allow putting
a plugin into a "modal" state. This means:

 - The plugin has the keyboard and mouse grabbed
 - All keyboard and mouse events go exclusively to the plugin

mutter-plugin.[ch]: Add public API
compositor.c compositor-private.h: Implement the API
mutter-plugin-manager.c: When reloading plugins, make sure none of them
  are modal at that moment, and if so force-unmodal them.
common.h: Add META_GRAB_OP_COMPOSITOR
display: When display->grab_op is META_GRAB_OP_COMPOSITOR forward relevant
  events exclusively to the compositor.

http://bugzilla.gnome.org/show_bug.cgi?id=590754
2009-08-26 12:26:58 -04:00
Owen W. Taylor
b1776b5ae5 Enforce a policy of single-handling of key events
Only process each key event once. If all keys are grabbed, then
don't also look for handlers for a key shortcut after processing
the grab op. If all keys are grabbed or we find a key shortcut,
don't pass the event on to the compositing mananger.

http://bugzilla.gnome.org/show_bug.cgi?id=590754
2009-08-26 12:26:58 -04:00
Thomas James Alexander Thurman
7a6968cb46 Only skip the first window in the alt-tab chain if it's actually the
* src/core/display.c: Only skip the first window in
        the alt-tab chain if it's actually the current window
        (urgent windows on other workspaces may precede it).
        Fixes #535887.

http://bugzilla.gnome.org/show_bug.cgi?id=591913

(Metacity commit 92bfe34716)
2009-08-26 15:29:09 +01:00
Runa Bhattacharjee
23af4ee93e Updated Bengali India Translations 2009-08-26 15:42:33 +05:30
Jorge González
0317562605 Updated Spanish translation 2009-08-26 07:57:36 +02:00
Daniel Nylander
1861e0b2cc Updated Swedish translation 2009-08-26 06:04:00 +02:00
Djavan Fagundes
e5974809e8 Updated Brazilian Portuguese translation 2009-08-25 15:21:02 -03:00
Tomasz Dominikowski
abfae17b9a Updated Polish translation 2009-08-25 17:47:45 +02:00
ifelix
84b1a62ad2 Updated Tamil Translations 2009-08-25 17:27:29 +05:30
Denis Arnaud
b6bcaec9bc Updated breton translation 2009-08-25 12:43:20 +02:00
Denis Arnaud
f19ed84cc4 Added br in LINGUAS 2009-08-25 12:43:20 +02:00
Alexander Shopov
6c5a946fda Updated Bulgarian translation 2009-08-24 22:52:12 +03:00
Owen W. Taylor
d58c9a57c6 Avoid accessing freed memory when being replaced
If we are replaced via the window manager selection, then we close
the MetaDisplay before meta_finalize() runs. We should be careful
not to try to close the display again (and access already freed
memory) in that case, so clear the global 'the_display' variable.

See Metacity bug http://bugzilla.gnome.org/show_bug.cgi?id=588119

http://bugzilla.gnome.org/show_bug.cgi?id=592742
2009-08-24 14:29:16 -04:00
Claude Paroz
c6ffc9427e Add missing quotes in strings (Fixes #572046) 2009-08-24 19:49:29 +02:00
krishnababu k
0f1e64f3b2 Updated Telugu Translations 2009-08-24 17:53:05 +05:30
krishnababu k
1ce5ad3003 Added new entry for Telugu [te] in LINGUAS 2009-08-24 17:52:48 +05:30
Khaled Hosny
64694955c0 Updated Arabic translation 2009-08-23 21:40:47 +03:00
Theppitak Karoonboonyanan
97a90d8122 Updated Thai translation. 2009-08-23 15:50:57 +07:00
Changwoo Ryu
3cd2c08277 Update Korean translation 2009-08-23 04:14:10 +09:00
Frédéric Péters
d804a1f146 Remove deprecated Encoding key from desktop files 2009-08-22 14:24:22 +02:00
Colin Walters
01581dc61c [MetaWindow]: Always notify on title property change
The previous notification code was attempting to use the "modified"
boolean returned from set_title_text, but "that boolean doesn't mean
what you think it means".  It actually means "I truncated the title".

Just always notify, it's far simpler than trying to compute
when we don't need to, and callers can compress if they really need
to.
2009-08-21 12:38:30 -04:00
Colin Walters
9cc70a3fb6 Make meta_display_xwindow_is_a_no_focus_window public
Useful for window analysis in plugins.
2009-08-20 14:20:01 -04:00
Henrique P. Machado
c37a2ca1c8 Updated Brazilian Portuguese translation. 2009-08-18 22:34:18 -04:00
Seán de Búrca
80b38210b2 Updated Irish translation 2009-08-17 06:06:18 -06:00
Tommi Vainikainen
e5dffb0097 Updated Finnish translation 2009-08-15 13:59:30 +03:00
Fran Dieguez
7396f5709e Updated Galician Translation 2009-08-15 10:05:52 +02:00
Colin Walters
41cf9134a6 Add meta_window_is_mapped, remove usage of window-private.h from mutter-window.c
mutter-window.c originally grew an #include "window-private.h" for
window->override_redirect, but that was just fixed.  However since
then it also ended up relying on a few other minor private bits.

To fix that, add meta_window_is_mapped, promote meta_window_toplevel_is_mapped
to public, and use the public MetaDisplay accessor.
2009-08-14 19:47:13 -04:00
Colin Walters
e960269653 Add meta_window_is_override_redirect
Trivial function, useful for plugins which are doing analysis
of windows.
2009-08-14 19:47:13 -04:00
Gabor Kelemen
5e581b409c Hungarian translation updated 2009-08-15 01:40:29 +02:00
Owen W. Taylor
f03d39eefb Check the opacity of the right actor
When determining if the window is opaque or not, look at it's opacity,
not the opacity of the window group.

Reported by Matthias Clasen
http://bugzilla.gnome.org/show_bug.cgi?id=591836
2009-08-14 15:58:07 -04:00
Alexander Shopov
deaa897928 Updated Bulgarian translation 2009-08-14 08:00:48 +03:00
Manoj Kumar Giri
3f9758e706 Updated Oriya Translation 2009-08-13 20:29:45 +05:30
Owen W. Taylor
91baf552cf Remove meta_errors_register_foreign_display()
The functionality to propagate errors for other displays to other
a "foreign error handler" was Soeren's compositor and is no longer
being used. Remove it.

(Now that error.h is being installed and scanned, we need to either
do this or add XErrorEvent to xlib-2.0.gir and rename ErrorHandler
to MetaErrorHandler. This way is a bit simpler.)
2009-08-13 07:38:08 -04:00
Michael Meeks
16466cf7d6 install errors.h header, bug 591566 2009-08-13 09:46:15 +01:00
Sweta Kothari
3c25c265df Updated Gujarati Translations 2009-08-12 19:08:55 +05:30
Antón Méixome
a8529bd8d1 Updated Galician translation 2009-08-12 13:21:18 +02:00
Tomas Frydrych
f3e6913d57 Added meta_window_is_modal()
Queries whether the window is in a modal state, as per the _NET_WM_STATE
protocol.
2009-08-12 07:49:08 +01:00
Tomas Frydrych
2c8df7d12e Do not run effects during WM startup
When we first start up, we do not want to run effects on any pre-exising
windows (this is either the case we are starting up and there are no windows,
or we are replacing an exisint window manager, or worse, we crashed, and we
just want to get to the desired desktop as quick as possible).

Dithered about where to place the check; putting into the plugin manager
reduces the number of places (and files) in which it needs to be done.
2009-08-12 07:45:03 +01:00
Owen W. Taylor
dafdecb4e8 Be silent by default
We might as well turn on the AM_SILENT_RULES by default if a new-enough
automake is found rather than requiring --enable-silent-rules.

http://bugzilla.gnome.org/show_bug.cgi?id=591367
2009-08-11 18:53:30 -04:00
Luca Ferretti
ba03ca76c4 Updated Italian translation 2009-08-11 01:19:48 +02:00
Owen W. Taylor
c5874e0da5 Bump version to 2.27.2 2009-08-10 12:24:03 -04:00
Colin Walters
422cd1fbbf Fix use of uninitialized memory in edge-resistance.c
g_new bad, g_new0 good.
2009-08-09 23:40:22 -04:00
Colin Walters
8a9e2877da Export meta_screen_get_startup_sequences, add change signal
It's useful for plugins to be able to get access to the
startup-notification data that Mutter already has.  Add
an accessor and change signal when recieve an event.
2009-08-09 23:36:08 -04:00
Jorge González
71fd54ec9e Updated Spanish translation 2009-08-09 20:27:02 +02:00
Kjartan Maraas
ff84b35e5d Updated Norwegian bokmål translation. 2009-08-09 15:48:46 +02:00
Tomas Frydrych
ae32ac86b4 Use correct timestamp for focus stealing prevention
When window initially maps, use the more recent of NET_WM_USER_TIME and
startup notification timestamps to compare against last known user action to
decide whether to focus the window or not. Once we show the window, clear
the initial_timestamp_set flag, so the startup notification timestamp is not
taken into account again.

Based on patch for metacity by Alexander Larsson

http://bugzilla.gnome.org/show_bug.cgi?id=573922
2009-08-08 17:59:01 +01:00
Tomas Frydrych
bca3eaf709 Removed custom 'GIR' label for gir generation in silent-rules mode
http://bugzilla.gnome.org/show_bug.cgi?id=591120
2009-08-08 13:47:31 +01:00
Christian Kirbach
a03343827e Updated German translation. 2009-08-08 01:47:24 +02:00
Tomas Frydrych
0f64202a29 Added --enable-silent-rules if automake-1.11 is available 2009-08-07 17:58:02 +01:00