Commit Graph

3674 Commits

Author SHA1 Message Date
Owen W. Taylor
7a7632fa98 Allow setting input region before output window is created
If mutter_plugin_set_stage_input_region() and related methods are
called before the output window is available, save the set input
region and apply it to the output window later on.

compository-mutter.[ch]: Add mutter_set_stage_input_region() and
mutter_empty_stage_input_region(), move the input region handling
here and implement the delayed shape setting described
above.

mutter-plugin.c: Implement shape setting in terms of the new methods.

http://bugzilla.gnome.org/show_bug.cgi?id=580042
2009-04-24 09:54:19 -04:00
Owen W. Taylor
76a3f9d402 Build and install introspection information
Build a XML gir file and binary typelib file for the interfaces that
we are installing for plugin use. They are installed into $(pkglibdir)
since they are private to the application.

http://bugzilla.gnome.org/show_bug.cgi?id=580041
2009-04-24 09:54:18 -04:00
Colin Walters
96dfeea412 Don't use G_MODULE_BIND_LOCAL
Using G_MODULE_BIND_LOCAL causes problems for introspecting plugins,
since introspected symbols need to be globally available. And in
any case, trying to use linker features to prevent symbol conflicts
doesn't usually work out very well, it's better to just namespace
properly.

http://bugzilla.gnome.org/show_bug.cgi?id=580033
2009-04-24 09:54:18 -04:00
Colin Walters
a4746d75e6 Load plugins separately from initializing
Add separate mutter_plugin_manager_load() and
mutter_plugin_manager_initialize() calls so that we can just
load the plugins without start them. This is useful for introspecting
a gnome-shell plugin at build time.

http://bugzilla.gnome.org/show_bug.cgi?id=580032
2009-04-24 09:54:18 -04:00
Owen W. Taylor
52638b9d8e In case of GConf failure, fall back to local keybinding values
Always compile the default keybindings into Metacity, and if we
fail to retrieve the values from GConf, use the compiled-in
value. This makes things more robust especially in an environment
like JHBuild where GConf-schema-installation may not work
correctly.

Also use these values for the no-GConf case, rather than
having a separate arrray and code path.

http://bugzilla.gnome.org/show_bug.cgi?id=576127
2009-04-24 09:54:18 -04:00
Colin Walters
514d00698d Add support for a "meta key" which initiates extended WM operations
This patch adds the concept of a special key for WM operations, and
the default is Super_L, which on extended PC hardware is the
"Windows key".  What we do is handle the special case of a press
and release of this key (without any other intervening keys).

Super_L+<key> should still be passed to applications.  In the future
we may want to also take some of these keybindings (e.g. Super+TAB)
though.

http://bugzilla.gnome.org/show_bug.cgi?id=563047
2009-04-24 09:54:18 -04:00
Owen W. Taylor
c4a4de0056 Fix return transfer annotations for a number of functions and add docs
Add return transfer annotations (and while I was at it, docs), for
public functions that return MetaDisplay, MetaWindow, and MetaScreen.

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

http://bugzilla.gnome.org/show_bug.cgi?id=580027
2009-04-24 09:54:17 -04:00
Owen W. Taylor
28a4be2536 Add meta_workspace_set_builtin_struts()
Add a function to set a list of "built-in" struts for a workspace;
these are struts that are combined with the struts of the windows in
the workspace when determining the work area of the workspace.

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

http://bugzilla.gnome.org/show_bug.cgi?id=580026
2009-04-24 09:54:17 -04:00
Dan Winship
6e9803cd9f Add ::window-added and ::window-removed signals to MetaWorkspace
Add sigals to MetaWorkspace to allow tracking when windows are added
and removed. Note that on window creation that these signals are fired
before the window setup is totally complete, so they need to be used
with some care. (For example, the compositor, if present, has not
been notified of the new window.)

http://bugzilla.gnome.org/show_bug.cgi?id=580025
2009-04-24 09:54:17 -04:00
Owen W. Taylor
63b1d6642c Improve handling of errors when calling CompositeNameWindowPixmap
To guard against CompositeNameWindowPixmap failing, just use an
error trap. Previous code used:

 GrabServer/GetWindowAttributes/CompositeNameWindowPixmap/UngrabServer

To prevent BadMatch errors from !viewable, but didn't check the
return value of GetWindowAttributes and didn't check if an error
occured during the error trap. This way is more correct and more
efficient.

http://bugzilla.gnome.org/show_bug.cgi?id=580023
2009-04-24 09:54:17 -04:00
Owen W. Taylor
626912a9a4 Merge branch 'gnome-2-26' into master
Conflicts:
	configure.in
	src/core/schema-bindings.c
2009-04-08 16:11:12 -04:00
Tomas Frydrych
058c884f1f Bumped mutter version to 0.7 2009-04-07 13:39:57 +01:00
Tomas Frydrych
2e0cd7af5e Fixed focus handling in finish_minize().
When the window being hidden/mimimized has focus, is modal, but is not on the
  currently active workspace (e.g., during workspace switch before the new
  focus window is activated), we must prevent focus being passed to the modal
  window ancestor (otherwise the ancestor ends up being forcefully moved onto
  the active workspace).
2009-04-07 13:02:57 +01:00
Kjartan Maraas
82706fd958 Updated Norwegian bokmål translation.
2009-04-05  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gnome-2-26/; revision=4236
2009-04-05 12:14:14 +00:00
Tomas Frydrych
8ccb9e04eb Postpone creation of the guard window until we are ready to manage windows.
Creating the gard window when constructing MetaScreen causes the screen to
  go black for the duration of Metacity startup which is uggly. We do not
  actually need that window until we are ready to manage windows on the screen.
2009-04-02 12:25:53 +01:00
Tomas Frydrych
ae97ccba80 Bumped mutter version to 0.6 2009-04-02 09:44:48 +01:00
Owen W. Taylor
8ab9ed5d4e Expose meta_window_get_icon_geometry()
Make meta_window_get_icon_geometry() public, so that it can be used
to from plugins to animate windows minimizing to the correct
position.

Based on a patch from Cosimo Cecchi <cosimoc@gnome.org>

http://bugzilla.gnome.org/show_bug.cgi?id=571109
2009-03-31 17:29:48 -04:00
Baris Cicek
886ce72374 Updated Turkish translation
svn path=/branches/gnome-2-26/; revision=4234
2009-03-29 23:31:35 +00:00
Simos Xenitellis
a658c8b067 Updated Greek translation
svn path=/branches/gnome-2-26/; revision=4233
2009-03-28 16:31:54 +00:00
Simos Xenitellis
ab1e8cbb50 Updated Greek translation
svn path=/branches/gnome-2-26/; revision=4231
2009-03-27 12:05:46 +00:00
Goran Rakic
cbe6973b66 Updated Serbian translation by Miloš Popović.
svn path=/branches/gnome-2-26/; revision=4230
2009-03-21 19:51:01 +00:00
Tomasz Dominikowski
abb825b43e Updated Polish translation
2009-03-19  Tomasz Dominikowski  <tdominikowski@aviary.pl>

	* pl.po: Updated Polish translation

svn path=/branches/gnome-2-26/; revision=4227
2009-03-19 11:22:26 +00:00
Kjartan Maraas
f821407060 Updated Norwegian bokmål translation.
2009-03-19  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gnome-2-26/; revision=4226
2009-03-19 09:31:54 +00:00
Ignacio Casal Quinteiro
381aca98d0 Updated Galician translation by Suso Baleato.
svn path=/branches/gnome-2-26/; revision=4225
2009-03-18 19:58:43 +00:00
Kostas Papadimas
a67de845f6 Updated Greek Translation by Fotis Tsamis
svn path=/branches/gnome-2-26/; revision=4223
2009-03-18 15:58:40 +00:00
Djihed Afifi
808378129e woops
svn path=/branches/gnome-2-26/; revision=4222
2009-03-18 09:27:46 +00:00
Djihed Afifi
0d75012462 Updated Arabic translation
svn path=/branches/gnome-2-26/; revision=4221
2009-03-18 09:19:46 +00:00
Alexander Shopov
32a0cdb2f9 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2009-03-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gnome-2-26/; revision=4219
2009-03-17 07:18:55 +00:00
Amanpreet Singh Alam
68823fd9b2 updating for GNOME Punjabi Translation by A S Alam
svn path=/branches/gnome-2-26/; revision=4218
2009-03-17 02:40:54 +00:00
Thomas James Alexander Thurman
d38b1abb49 change version to 2.26.0
svn path=/branches/gnome-2-26/; revision=4217
2009-03-16 17:59:02 +00:00
Thomas James Alexander Thurman
ebadd21c64 2.26.0 release.
svn path=/branches/gnome-2-26/; revision=4216
2009-03-16 16:44:27 +00:00
Thomas James Alexander Thurman
f1616a15d0 newline
svn path=/branches/gnome-2-26/; revision=4215
2009-03-16 16:44:09 +00:00
Thomas James Alexander Thurman
39bee4b9d2 2.26.0 release.
svn path=/branches/gnome-2-26/; revision=4214
2009-03-16 16:23:06 +00:00
Amitakhya Phukan
3f867e0167 Updated assamese translations
svn path=/branches/gnome-2-26/; revision=4213
2009-03-16 05:04:12 +00:00
Rajesh Ranjan
4300622c4a maithili added
svn path=/branches/gnome-2-26/; revision=4212
2009-03-15 12:15:30 +00:00
Ankitkumar Rameshchandra Patel
9ad7381c11 Added entry for Gujarati translation update.
svn path=/branches/gnome-2-26/; revision=4211
2009-03-15 08:13:44 +00:00
Ankitkumar Rameshchandra Patel
e5f287dad5 Updated Gujarati Translations.
svn path=/branches/gnome-2-26/; revision=4210
2009-03-15 08:13:24 +00:00
Gintautas Miliauskas
a5fc9fcb79 Updated Lithuanian translation.
2009-03-14  Gintautas Miliauskas  <gintautas@miliauskas.lt>

	* lt.po: Updated Lithuanian translation.



svn path=/branches/gnome-2-26/; revision=4208
2009-03-14 21:04:52 +00:00
Nickolay V. Shmyrev
5134d0dee1 Updated Russian translation by Yuriy Penkin.
2009-03-14  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation by Yuriy Penkin.


svn path=/branches/gnome-2-26/; revision=4207
2009-03-14 19:11:16 +00:00
Sandeep Shedmake
9abe89a2dc Updated Marathi Translations
svn path=/branches/gnome-2-26/; revision=4205
2009-03-14 10:02:28 +00:00
Rajesh Ranjan
79aecf21bb hindi update by Rajesh Ranjan
svn path=/branches/gnome-2-26/; revision=4204
2009-03-14 07:10:47 +00:00
Owen W. Taylor
4253ff8e12 Add a "toggle_recording" keybinding
Add a keybinding (defaulting to <Control><Shift><Alt>r) to record
a screencast of the session. This isn't hooked up to anything in
metacity itself, but a plugin can connect to a signal on MetaScreen.

keybindings.c all-keybindings.h: Add the keybinding
screen.c: Add a ::toggle-recording signal

http://bugzilla.gnome.org/show_bug.cgi?id=575290
2009-03-13 17:06:04 -04:00
Owen W. Taylor
fb7b820187 Cleanup: split MetaSide from MetaDirection
The MetaDirection enumeration had META_SIDE_* values in it that
were used in some places where an enum with only four directions
was needed. Split this off into a separate enum called MetaSide
and use that enum name where appropriate.
2009-03-17 16:53:01 -04:00
Kostas Papadimas
3a2d775196 Updated Greek translation by Jennie Petoumenou.
svn path=/branches/gnome-2-26/; revision=4203
2009-03-13 16:36:43 +00:00
Priit Laes
c780fde38e Translation updated by Mattias Põldaru
2009-03-13  Priit Laes  <plaes at svn dot gnome dot org>

	* et.po: Translation updated by Mattias Põldaru

svn path=/branches/gnome-2-26/; revision=4202
2009-03-13 09:56:31 +00:00
Dan Winship
a47bb96536 Add a MetaScreen:restacked signal and expose MetaWindow.layer
Expose restacking and a window's stack layer to allow a compositor
to insert elements into the window stack in the right location.
(See Bug 571827 – hide panel when screensaver is active)

src/core/stack.h src/include/common.h: Move MetaStackLayer to
 a public header.

src/core/screen.c src/core/screen-private.h src/core/stack.c:
 Add a ::restacked signal emitted after we finish restracking.

src/core/window.h src/include/window.h: Add meta_window_get_layer()
2009-03-12 17:07:27 -04:00
Dan Winship
0e256a21a5 Use GDestroyNotify instead of custom type, for better introspectability 2009-03-25 10:50:40 -04:00
Tomas Frydrych
3b864f8af5 Delay creation of overlay window until we are ready to show the stage.
The overlay window was created before the plugins are loaded. Because the
  composite extension immediately maps the window, we ended blanking the screen
  while plugins, etc., were loading. This commit reorganizes the code so that
  the overlay window is only created just before we are ready to show the
  stage.

  The significant impact of this change is that plugins cannot manipulate the
  overlay window during their initial loading, i.e., they cannot call the
  input-region API (the plugin should hook into the "show" signal if it needs
  to do anything of this sort).

  The commit also removes the XClearArea() call on the overlay window that
  seems to have served no real purpose.
2009-03-30 16:56:52 +01:00
Tomas Frydrych
540fc4b76b Bump mutter to 0.5 2009-03-19 16:12:35 +00:00
Dan Winship
f78390b094 Notify the compositor of new windows slightly sooner.
In particular, make it so that we call meta_compositor_add_window() on
a new window before calling meta_compositor_sync_stack() to position
it. The list returned by mutter_plugin_get_windows() is only updated
by sync_stack(), but sync_stack() only pays attention to windows that
add_window() has already been called on. So without this change, a
newly-mapped window will not be returned by
mutter_plugin_get_windows() until after the *next* restacking.

http://bugzilla.openedhand.com/show_bug.cgi?id=1512
2009-03-18 15:09:15 -04:00