[mutter/wayland: 43/44] Merge tag 'xrandr_branch_point' into wayland-kms-base
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wayland: 43/44] Merge tag 'xrandr_branch_point' into wayland-kms-base
- Date: Tue, 27 Aug 2013 08:13:12 +0000 (UTC)
commit aa15c09d54e1578d5f42e48fa0d36161f40c2b87
Merge: 6526e98 62d908b
Author: Giovanni Campagna <gcampagn redhat com>
Date: Tue Aug 27 10:07:39 2013 +0200
Merge tag 'xrandr_branch_point' into wayland-kms-base
Conflicts:
src/Makefile.am
src/core/display.c
src/core/screen-private.h
src/core/screen.c
configure.ac | 2 +
po/POTFILES.in | 4 +-
src/Makefile.am | 17 +
src/compositor/meta-plugin-manager.c | 24 +
src/compositor/meta-plugin-manager.h | 2 +
src/compositor/meta-plugin.c | 11 +
src/compositor/plugins/default.c | 86 ++
src/core/display.c | 33 +-
src/core/edid-parse.c | 539 +++++++++++
src/core/edid.h | 195 ++++
src/core/keybindings.c | 17 +
src/core/meta-xrandr-shared.h | 40 +
src/core/monitor-config.c | 1769 ++++++++++++++++++++++++++++++++++
src/core/monitor-private.h | 390 ++++++++
src/core/monitor-xrandr.c | 1039 ++++++++++++++++++++
src/core/monitor.c | 1548 +++++++++++++++++++++++++++++
src/core/screen-private.h | 26 +-
src/core/screen.c | 323 ++-----
src/core/util.c | 11 +-
src/core/window-private.h | 2 +-
src/core/window.c | 27 +-
src/meta/atomnames.h | 2 +
src/meta/meta-plugin.h | 20 +
src/meta/util.h | 3 +-
src/xrandr.xml | 293 ++++++
25 files changed, 6122 insertions(+), 301 deletions(-)
---
diff --cc src/Makefile.am
index 0dbd778,e7ada99..7fca4f2
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@@ -30,20 -29,12 +30,21 @@@ INCLUDES=
-DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR \" \
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\"
-mutter_built_sources = \
- $(dbus_xrandr_built_sources) \
- mutter-enum-types.h \
- mutter-enum-types.c
+INCLUDES += \
+ -I$(srcdir)/wayland \
+ -I$(builddir)/wayland \
+ -DXWAYLAND_PATH='"@XWAYLAND_PATH@"'
-libmutter_la_SOURCES = \
+mutter_built_sources = \
+ $(dbus_idle_built_sources) \
++ $(dbus_xrandr_built_sources) \
+ mutter-enum-types.h \
+ mutter-enum-types.c \
+ wayland/xserver-protocol.c \
+ wayland/xserver-server-protocol.h \
+ wayland/xserver-client-protocol.h
+
+libmutter_wayland_la_SOURCES = \
core/async-getprop.c \
core/async-getprop.h \
core/barrier.c \
@@@ -121,10 -113,11 +124,15 @@@
core/keybindings.c \
core/keybindings-private.h \
core/main.c \
+ core/meta-cursor-tracker.c \
+ core/meta-cursor-tracker-private.h \
+ core/meta-idle-monitor.c \
+ core/meta-idle-monitor-private.h \
+ core/meta-xrandr-shared.h \
+ core/monitor.c \
+ core/monitor-config.c \
+ core/monitor-private.h \
+ core/monitor-xrandr.c \
core/mutter-Xatomtype.h \
core/place.c \
core/place.h \
@@@ -353,22 -332,11 +361,31 @@@ mutter-enum-types.c: stamp-mutter-enum-
cp xgen-tetc mutter-enum-types.c && \
rm -f xgen-tetc
+ dbus_xrandr_built_sources = meta-dbus-xrandr.c meta-dbus-xrandr.h
+
+ $(dbus_xrandr_built_sources) : Makefile.am xrandr.xml
- $(AM_V_GEN)gdbus-codegen \
++ $(AM_V_GEN)gdbus-codegen \
+ --interface-prefix org.gnome.Mutter \
+ --c-namespace MetaDBus \
+ --generate-c-code meta-dbus-xrandr \
+ $(srcdir)/xrandr.xml
++
+dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h
+
+$(dbus_idle_built_sources) : Makefile.am idle-monitor.xml
+ $(AM_V_GEN)gdbus-codegen \
+ --interface-prefix org.gnome.Mutter \
+ --c-namespace MetaDBus \
+ --generate-c-code meta-dbus-idle-monitor \
+ --c-generate-object-manager \
+ $(srcdir)/idle-monitor.xml
+
+wayland/%-protocol.c : $(top_builddir)/protocol/%.xml
+ mkdir -p wayland
+ $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
+wayland/%-server-protocol.h : $(top_builddir)/protocol/%.xml
+ mkdir -p wayland
+ $(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
+wayland/%-client-protocol.h : $(top_builddir)/protocol/%.xml
+ mkdir -p wayland
+ $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
diff --cc src/compositor/meta-plugin-manager.c
index 2ae100e,43f9931..fa9fe96
--- a/src/compositor/meta-plugin-manager.c
+++ b/src/compositor/meta-plugin-manager.c
@@@ -317,16 -329,18 +329,28 @@@ meta_plugin_manager_xevent_filter (Meta
*/
if (klass->xevent_filter)
return klass->xevent_filter (plugin, xev);
- else
- return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
+
+ /* When mutter is running as a wayland compositor, things like input
+ * events just come directly from clutter so it won't have disabled
+ * clutter's event retrieval and won't need to forward it events (if
+ * it did it would lead to recursion). Also when running as a
+ * wayland compositor we shouldn't be assuming that we're running
+ * with the clutter x11 backend.
+ */
+ if (meta_is_wayland_compositor ())
+ return FALSE;
+
+ return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
}
+
+ void
+ meta_plugin_manager_confirm_display_change (MetaPluginManager *plugin_mgr)
+ {
+ MetaPlugin *plugin = plugin_mgr->plugin;
+ MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
+
+ if (klass->confirm_display_change)
+ return klass->confirm_display_change (plugin);
+ else
+ return meta_plugin_complete_display_change (plugin, TRUE);
+ }
diff --cc src/core/display.c
index 118e60e,64f5511..c0d42d8
--- a/src/core/display.c
+++ b/src/core/display.c
@@@ -2198,8 -2146,10 +2198,9 @@@ meta_display_handle_event (MetaDisplay
gboolean bypass_compositor;
gboolean filter_out_event;
XIEvent *input_event;
+ MetaMonitorManager *monitor;
+ MetaScreen *screen;
- display = data;
-
#ifdef WITH_VERBOSE_MODE
if (dump_events)
meta_spew_event (display, event);
diff --cc src/core/screen-private.h
index 6bb32f1,9e0da8d..8ddf049
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@@ -258,9 -244,9 +245,14 @@@ void meta_screen_workspace_switche
void meta_screen_set_active_workspace_hint (MetaScreen *screen);
+Window meta_screen_create_guard_window (Display *xdisplay, MetaScreen *screen);
+
+gboolean meta_screen_handle_xevent (MetaScreen *screen,
+ XEvent *xevent);
+
+ int meta_screen_xinerama_index_to_monitor_index (MetaScreen *screen,
+ int index);
+ int meta_screen_monitor_index_to_xinerama_index (MetaScreen *screen,
+ int index);
+
#endif
diff --cc src/core/screen.c
index eb3d526,1c643dc..b8870da
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@@ -673,7 -510,7 +515,8 @@@ meta_screen_new (MetaDisplay *display
char buf[128];
guint32 manager_timestamp;
gulong current_workspace;
+ MetaWaylandCompositor *compositor;
+ MetaMonitorManager *manager;
replace_current_wm = meta_get_replace_current_wm ();
@@@ -869,13 -704,8 +710,9 @@@
screen->compositor_data = NULL;
screen->guard_window = None;
- screen->monitor_infos = NULL;
- screen->n_monitor_infos = 0;
- screen->last_monitor_index = 0;
-
reload_monitor_infos (screen);
-
+
+ meta_cursor_tracker_get_for_screen (screen);
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
/* Handle creating a no_focus_window for this screen */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]