gnome-shell/src
Neil Roberts 5001bd8810 Don't use ClutterX11TexturePixmap directly to embed docked windows
Previously when a client requests that a window should be docked the
shell would reparent the socket window onto the stage's window and
then use ClutterX11TexturePixmap to get a texture to represent the
window. This will not work if Clutter is no longer using the X11
winsys for example if it becomes its own display server. Instead this
patch leaves the socket window as a child of the root window and lets
mutter create a MetaWindow out of it. If Mutter is acting as a display
server then this mechanism will still work via the headless x server.

The ShellGtkEmbed instance now registers for notification of the
‘window-created’ signal of the display so that it can find the
MetaWindow that gets created to represent the socket window. When this
window is found it is prevented from being displayed on the screen by
setting the actor's opacity to 0. An input shape is then set on the
window to prevent it receiving any input.

Instead of being a subclass of ClutterX11TexturePixmap, ShellGtkEmbed
is now a subclass of ClutterClone. When the MetaWindow is found for
the socket window the clone's source is set to the invisible actor for
the window so it can be displayed in the panel as before.

The ShellEmbeddedWindow no longer needs to know what the stage is
because it no longer reparents the socket window. Therefore the
ShellTrayManager doesn't need to know the stage either so
shell_tray_manager_manage_stage has been replaced with just
shell_tray_manager_manage_screen.

https://bugzilla.gnome.org/show_bug.cgi?id=693438
2013-03-18 16:49:47 +00:00
..
calendar-server Calendar: only show events when configured in Evolution 2013-03-04 18:59:30 +01:00
gvc@03894efbcd theme: Add :focus style for app-view-controls 2013-03-13 10:42:22 +01:00
hotplug-sniffer Remove use of deprecated g_type_init () ... 2012-10-17 22:49:32 +02:00
st st-scroll-view-fade: Don't use return in the shader 2013-03-14 22:43:14 +01:00
tray etc: Use generic marshaller 2012-01-25 19:03:13 -05:00
data-to-c.pl scroll-view-fade: Put the shader in another file 2012-11-29 16:17:09 -05:00
gactionmuxer.c GActionMuxer: disconnect group signals on finalize 2012-10-04 12:03:23 +02:00
gactionmuxer.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobservable.c Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobservable.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobserver.c Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobserver.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gnome-shell-extension-prefs.in Fix typo in gnome-shell-extension-prefs 2013-02-04 12:00:42 +01:00
gnome-shell-extension-tool.in st: Remove StIconType 2012-08-29 16:41:09 -03:00
gnome-shell-jhbuild.in gnome-shell-jhbuild: Remove old envvar 2012-12-23 21:17:40 -05:00
gnome-shell-perf-tool.in gnome-shell-perf-tool: Fix various problems 2012-11-05 13:08:25 -05:00
gnome-shell-plugin.c Don't try to use GLX if Cogl isn't using that Winsys 2013-02-06 00:35:54 +00:00
main.c main: Guard against NULL log_domain in default handler 2013-02-22 11:02:00 +01:00
Makefile-calendar-server.am build: Fix distcheck 2012-08-06 16:13:54 +02:00
Makefile-hotplug-sniffer.am sniffer: add a mimetype sniffer helper executable 2011-07-13 14:39:35 -04:00
Makefile-st.am build: Fix distcheck 2012-12-05 23:35:35 +01:00
Makefile-tray.am etc: Use generic marshaller 2012-01-25 19:03:13 -05:00
Makefile.am build: Really remove build time dependency on tp-logger 2013-03-06 16:22:06 +01:00
run-js-test.c Remove use of deprecated g_type_init () ... 2012-10-17 22:49:32 +02:00
shell-app-private.h shell-app: Remove MATCH_MULTIPLE_{PREFIX,SUFFIX} 2011-10-13 17:46:45 +02:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c Remove builtin settings search provider 2013-02-18 16:56:45 +01:00
shell-app-system.h Remove builtin settings search provider 2013-02-18 16:56:45 +01:00
shell-app-usage.c shell-app-usage: Remove unused parameter 2013-02-20 00:18:56 +01:00
shell-app-usage.h shell-app-usage: Remove unused parameter 2013-02-20 00:18:56 +01:00
shell-app.c search: skip combining diacritical marks in search operations 2012-12-12 17:41:45 +01:00
shell-app.h shell-app: Update app menu if necessary 2012-06-19 17:57:34 +02:00
shell-embedded-window-private.h shell-embedded-window: Remove hacks for old and fixed Clutter bug 2012-07-13 17:28:50 -04:00
shell-embedded-window.c Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-embedded-window.h Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-enum-types.c.in Create GTypes for Shell namespace 2010-04-12 16:01:54 -04:00
shell-enum-types.h.in Create GTypes for Shell namespace 2010-04-12 16:01:54 -04:00
shell-generic-container.c shell-generic-container: Exclude skip_paint actors from the paint volume 2013-03-01 19:13:10 +01:00
shell-generic-container.h st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-global-private.h Revert "main: Make sure that --mode parameter is valid" 2012-05-24 19:34:06 +02:00
shell-global.c shell-global: Fix regression from 071a4e5f83 2013-03-02 18:25:34 +01:00
shell-global.h NotificationDaemon: support sound in notifications 2013-02-14 18:54:08 +01:00
shell-gtk-embed.c Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-gtk-embed.h Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-invert-lightness-effect.c Magnifier: Add brightness and contrast functionality 2012-05-16 18:59:33 -04:00
shell-invert-lightness-effect.h Magnifier: Add brightness and contrast functionality 2012-05-16 18:59:33 -04:00
shell-js.c Switch string formatting to the one inside gjs 2012-05-24 15:38:44 -04:00
shell-js.h Switch string formatting to the one inside gjs 2012-05-24 15:38:44 -04:00
shell-keybinding-modes.h shell-keybinding-modes: Don't use expression references 2013-02-16 11:44:47 -05:00
shell-keyring-prompt.c Fix documentation warnings 2012-04-09 19:57:51 +02:00
shell-keyring-prompt.h Add gnome-keyring prompter 2012-02-29 20:16:14 +01:00
shell-mount-operation.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-mount-operation.h *.[ch]: add emacs modeline to C files that were missing it 2011-10-11 08:05:17 -04:00
shell-network-agent.c Migrate from libgnome-keyring to libsecret 2013-03-04 18:47:52 +01:00
shell-network-agent.h NetworkAgent: add support for VPN connections 2012-02-14 19:16:28 +01:00
shell-perf-helper.c gnome-shell-perf-helper: add server for creating test windows 2011-03-11 19:21:07 -05:00
shell-perf-log.c Doc fixes 2011-11-07 15:24:59 -05:00
shell-perf-log.h Dump a complete report from a performance run, as JSON 2010-05-21 00:18:45 -04:00
shell-polkit-authentication-agent.c Rearchitect the Shell to have a components system 2012-09-04 18:42:44 -03:00
shell-polkit-authentication-agent.h Rearchitect the Shell to have a components system 2012-09-04 18:42:44 -03:00
shell-recorder-src.c shell-recorder-src: Set frame duration 2012-11-19 19:17:31 +01:00
shell-recorder-src.h Add emacs modelines to all .c and .h files that were missing them 2009-10-27 11:27:45 -04:00
shell-recorder.c recorder: Disconnect stage signals when not recording 2013-03-11 20:11:18 +01:00
shell-recorder.h recorder: rename "filename" property to "file-template" 2012-10-26 13:29:30 -04:00
shell-screenshot.c Use the right conversion from cairo to GdkPixbuf 2013-02-16 04:09:21 +01:00
shell-screenshot.h screenshot: change API to return the filename used for saving 2013-01-03 12:56:45 +01:00
shell-secure-text-buffer.c Use non-pageable memory for gnome-keyring passwords 2012-02-29 20:24:02 +01:00
shell-secure-text-buffer.h Use non-pageable memory for gnome-keyring passwords 2012-02-29 20:24:02 +01:00
shell-slicer.c st: Remove _st_allocate_fill 2012-02-28 08:14:06 -05:00
shell-slicer.h Don't generate st.h in a subdir 2010-02-22 19:37:49 -05:00
shell-stack.c St: don't focus hidden actors 2012-09-10 21:23:25 +02:00
shell-stack.h st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-tp-client.c telepathyClient: Remove some obsolete wrappers 2012-08-16 20:10:24 -04:00
shell-tp-client.h telepathyClient: Remove some obsolete wrappers 2012-08-16 20:10:24 -04:00
shell-tray-icon.c Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-tray-icon.h messageTray: forward clicks on trayicon SummaryItems to the icon 2011-03-21 14:56:53 -04:00
shell-tray-manager.c Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-tray-manager.h Don't use ClutterX11TexturePixmap directly to embed docked windows 2013-03-18 16:49:47 +00:00
shell-util.c loginManager: Remove sessionActive property 2013-02-05 00:01:33 +01:00
shell-util.h loginManager: Remove sessionActive property 2013-02-05 00:01:33 +01:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c WindowTracker: fix ref counting bug in get_app_for_window() 2012-06-27 19:27:30 +02:00
shell-window-tracker.h autoWorkspaces: fix creation of new workspaces with application launchers 2012-03-16 16:41:30 +01:00
shell-wm-private.h windowManager: Implement keybinding_filter hook 2012-11-17 01:44:22 +01:00
shell-wm.c windowManager: Implement keybinding_filter hook 2012-11-17 01:44:22 +01:00
shell-wm.h shell-wm: Remove takeover_keybinding() 2011-11-22 00:42:28 +01:00
shell-xfixes-cursor.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-xfixes-cursor.h Do not use the default stage 2011-12-15 16:13:29 -05:00
test-recorder.c test-recoder: Use webm file extension 2012-11-19 19:17:23 +01:00