Commit Graph

263 Commits

Author SHA1 Message Date
Rico Tzschichholz
fd8c49ff0a configure: Require wayland-server >= 1.5.90
Needed for wl_keyboard_send_repeat_info, introduced with
4f55e16fe9
2014-07-27 09:56:47 +02:00
Florian Müllner
1d8e4bdd6d Bump version to 3.13.4
Update NEWS.
2014-07-23 11:45:52 +02:00
Owen W. Taylor
3a57f843d5 Add a framework for restarting the compositor with nice visuals
The current GNOME Shell Alt-F2 restart looks very messy and also
provides no indication to the user what is going on. We need to
restart the compositor to switch in and out of stereo mode, so
add a framework for doing this more cleanly:

Additions:

 meta_restart(): restarts the compositor with a message
 MetaDisplay::show-restart-message: signal the embedding
    shell to show a message
 MetaDisplay::restart: signal the embedding shell to restart
    itself.
 meta_is_restart(): indicates whether the current instance is a
                    restart so we can suppress login animations.

A helper program meta-restart-helper holds the composite overlay
window up during the restart to avoid visual artifacts.

https://bugzilla.gnome.org/show_bug.cgi?id=733026
2014-07-16 18:09:25 -04:00
Owen W. Taylor
bc510378b3 Switch to using ClutterStage::after-paint
The experimental API clutter_stage_set_paint_callback() is replaced
with an ::after-paint signal as of Clutter 1.19.5.
2014-06-27 14:36:32 -04:00
Giovanni Campagna
7b3922f8e9 build: link against libinput explicitly
We use its symbol, we should link against it - or strict linkers
like gold complain.
2014-06-26 19:10:28 +02:00
Florian Müllner
97f2de37e1 Bump version to 3.13.3
Update NEWS.
2014-06-24 23:42:06 +02:00
Rico Tzschichholz
7cb30ced23 configure.ac: Modernize autoconf/libtool dependencies and macro usage 2014-06-05 18:05:19 +02:00
Rico Tzschichholz
7b449ac56c configure.ac: Group hard-dependencies together rather than split them up 2014-06-05 18:05:14 +02:00
Rico Tzschichholz
724953101d configure.ac: Drop obsolete shape/xsync confflags
In addition to 20a0eb9809
2014-06-05 18:04:59 +02:00
Rico Tzschichholz
8734477d52 meta: Add generated meta-version.h
Avoid populating *_VERSION constants through cflags in pkg-config-file
which could be overridden by the project using it. Properly prefix the
defines with META_ to make gi-scanner happy.
2014-06-05 14:05:16 +02:00
Rico Tzschichholz
ec8ba4b5f9 build: Move data files to their dedicated subfolder 2014-06-05 10:50:15 +02:00
Rico Tzschichholz
847a3bbee3 build: Fix some warnings and clean up a bit 2014-06-04 19:31:37 +02:00
Jasper St. Pierre
806a666950 Make the native backend build-optional 2014-05-29 12:43:08 -04:00
Florian Müllner
43762da9d3 Bump version to 3.13.2
Update NEWS.
2014-05-27 21:18:25 +02:00
Jasper St. Pierre
dcf64ca167 launcher: Replace mutter-launch with logind integration
This uses David Herrmann's new logind sessions interface to retrieve
fds for input devices, rather than using a custom setuid helper to do
the management. This vastly simplifies the interface.

This requires systemd v210, at least.

https://bugzilla.gnome.org/show_bug.cgi?id=724604
2014-05-19 15:09:23 -04:00
Jasper St. Pierre
ff2eb77fcd configure: Require a newer wayland-server 2014-05-14 09:52:37 -04:00
Jasper St. Pierre
0588399ac7 configure: Remove old, unused configure arg 2014-05-14 09:52:37 -04:00
Florian Müllner
a7665a3e05 Bump version to 3.13.1
Update NEWS.
2014-04-30 18:14:27 +02:00
Jasper St. Pierre
20a0eb9809 Require the XSync and XShape extensions at build-time
It's been long enough. We can mandate support for these, at least
at build-time. The code doesn't actually compile without either
of these, so just consider that unsupported.
2014-04-22 14:17:09 -04:00
Jasper St. Pierre
d8dfe4e4ad display: Remove the RENDER extension requirement
Surprisingly, it's completely unused across all of the codebase.
2014-04-22 14:17:09 -04:00
Jasper St. Pierre
3ba8532bdc Revert "wayland: make parallel installable with regular mutter"
This reverts commit ea3d2b4759.
2014-04-09 15:14:11 -07:00
Jasper St. Pierre
912cf8ee5f Merge branch 'wayland'
This has one regression: the basic touch support added by
Carlos Garnacho in 991c85f is now partially reverted, since
we ported to Clutter events for this. We'll need to either
port his changes to Clutter, or restructure event handling
in mutter directly.
2014-04-09 14:54:13 -07:00
Seán de Búrca
814b2dbda9 build: Create m4 directory
Due to changes in gnome-common git, an implicit m4 directory is no
longer created during autogen. The attached patch explicitly and
correctly specifies a macro directory.

https://bugzilla.gnome.org/show_bug.cgi?id=706787
2014-04-09 12:28:45 -07:00
Jasper St. Pierre
be02fa1120 xwayland: Switch to the new Xwayland DDX 2014-04-02 13:24:57 -04:00
Jasper St. Pierre
f1c7063ee7 configure: Clean up old status line
While I'm here, I might as well. We rely on Xcursor now.
2014-03-31 23:48:59 -04:00
Jasper St. Pierre
34cc5efb90 configure: Add on subdir-objects
To stop automake from complaining
2014-03-31 23:47:11 -04:00
Florian Müllner
eba848e8aa Bump version to 3.12.0
Update NEWS.
2014-03-25 16:33:00 +01:00
Florian Müllner
a742b17805 Bump version to 3.12.0
Update NEWS.
2014-03-25 16:25:28 +01:00
Florian Müllner
9a89cc1198 Bump version to 3.11.92
Update NEWS.
2014-03-19 21:26:42 +01:00
Florian Müllner
56e8c3b625 Bump version to 3.11.92
Update NEWS.
2014-03-19 21:22:46 +01:00
Jasper St. Pierre
0eb86de807 Move Wayland protocols into src/wayland 2014-03-18 20:37:35 -04:00
Jasper St. Pierre
7314cdac94 weston-launch: Always use sd_session_get_vt 2014-03-11 17:25:40 -04:00
Florian Müllner
54df7934ea Bump version to 3.11.91
Update NEWS.
2014-03-05 23:48:33 +01:00
Florian Müllner
70e3ef02a6 Bump version to 3.11.91
Update NEWS.
2014-03-05 23:41:49 +01:00
Rui Matos
71367e14d5 build: Define CLUTTER_ENABLE_COMPOSITOR_API 2014-02-27 15:20:35 +01:00
Florian Müllner
7499621ecb Bump version to 3.11.90
Update NEWS.
2014-02-19 21:58:42 +01:00
Florian Müllner
0054e637cc Bump version to 3.11.90
Update NEWS.
2014-02-19 21:49:52 +01:00
Jasper St. Pierre
57728b4322 Kill HAVE_WAYLAND 2014-02-17 21:50:32 -05:00
Florian Müllner
b8e096db82 Bump version to 3.11.5
Update NEWS.
2014-02-04 22:59:20 +01:00
Florian Müllner
79a3b23cec Bump version to 3.11.5
Update NEWS.
2014-02-04 22:45:18 +01:00
Florian Müllner
1d61a0f9b5 Bump version to 3.11.4
Update NEWS.
2014-01-16 10:42:11 -05:00
Florian Müllner
f5bb6e407f Bump version to 3.11.4
Update NEWS.
2014-01-15 23:00:56 +01:00
Jasper St. Pierre
419dfd333a Update for Cogl API breaks 2014-01-13 13:08:17 -05:00
Jasper St. Pierre
d2a1db8834 Update for Cogl API breaks 2014-01-13 13:07:11 -05:00
Florian Müllner
732c059235 Bump version to 3.11.3
Update NEWS.
2013-12-19 19:34:06 +01:00
Florian Müllner
addac8825d Bump version to 3.11.3
Update NEWS.
2013-12-19 18:59:52 +01:00
Florian Müllner
a6ebc70170 Bump version to 3.11.2
Update NEWS.
2013-11-19 20:15:13 +01:00
Jasper St. Pierre
1946c548bf Bump required Clutter version 2013-11-14 14:40:43 -05:00
Florian Müllner
21c46852cd Bump version to 3.11.2
Update NEWS.
2013-11-13 20:50:11 +01:00
Florian Müllner
78fcfec5c1 Bump version to 3.11.1
Update NEWS.
2013-10-30 17:13:40 +01:00
Florian Müllner
cce8a4341b Bump version to 3.11.1
Update NEWS.
2013-10-30 16:34:59 +01:00
Magdalen Berns
918cfdcbda Mutter-Wayland: fix build failure
Bug https://bugzilla.gnome.org/show_bug.cgi?id=710565
2013-10-29 13:10:14 +00:00
Magdalen Berns
6b8959916c Mutter-Wayland: fix build failure
Bug https://bugzilla.gnome.org/show_bug.cgi?id=710565
2013-10-29 13:04:48 +00:00
Bastien Nocera
4d01eb3a23 MonitorConfig: Use new UPower API
The "changed" signal was removed. Use "notify" instead
to track just the lid-is-closed state.

Conflicts:
	configure.ac
2013-10-21 14:01:34 +02:00
Bastien Nocera
a9a10aaa20 MonitorConfig: Use new UPower API
The "changed" signal was removed. Use "notify" instead
to track just the lid-is-closed state.
2013-10-21 14:00:48 +02:00
Florian Müllner
c3f28b9cdb Bump version to 3.10.1
Update NEWS.
2013-10-15 16:52:03 +02:00
Florian Müllner
badebfae6b Bump version to 3.10.1
Update NEWS.
2013-10-14 22:33:45 +02:00
Giovanni Campagna
cb5e1e2776 Bump version to 3.10.0.1
Update NEWS
2013-09-25 20:00:16 +02:00
Owen W. Taylor
dd64f62b2f Bump version to 3.10.0.1
Update NEWS
2013-09-25 13:38:32 -04:00
Giovanni Campagna
ce5e0b20b5 Bump version to 3.10.0
Update NEWS
2013-09-24 14:09:29 +02:00
Florian Müllner
2601b30c7e Bump version to 3.10.0
Update NEWS.
2013-09-23 22:53:11 +02:00
Giovanni Campagna
90854a0f80 configure: update dependencies for clutter packages
Make sure that clutter is at the right minimum version for the API
we use, and that it is built with the right configure flags, by
checking for subpackage .pcs too.

https://bugzilla.gnome.org/show_bug.cgi?id=708210
2013-09-20 23:07:49 +02:00
Giovanni Campagna
2d9dc143fc Bump version to 3.9.92
Update NEWS
2013-09-17 10:13:29 +02:00
Florian Müllner
4edfafb61f Bump version to 3.9.92
Update NEWS.
2013-09-16 22:56:41 +02:00
Giovanni Campagna
7baf687499 MetaCursorTracker: add support for loading cursors from the theme
Not only this way we get the right Adwaita cursor as the default
(instead of shipping our own in png format), but we also add
support for all MetaCursors as root cursor (which most important
should allow us to have I-beams in shell entries)

https://bugzilla.gnome.org/show_bug.cgi?id=707573
2013-09-16 09:31:44 +02:00
Giovanni Campagna
c2bf44fa19 Bump version to 3.9.91
Update NEWS
2013-09-05 11:01:53 +02:00
Florian Müllner
d50ea010ef Bump version to 3.9.91
Update NEWS.
2013-09-03 00:12:04 +02:00
Giovanni Campagna
e72f81c24f wayland: add TTY and DRM master management
Now that we have a setuid launcher binary, we can make use of
using a private protocol through the socket we're passed at startup.

We also use the new hook in clutter-evdev to ask mutter-launch for
the FDs of the input devices we need, and we emulate the old X
DRM lock with a nested GMainContext without sources.

In the future, mutter-launch will be replaced with the new logind
API currently in development.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
2013-08-30 10:32:55 +02:00
Giovanni Campagna
e263b3624c mutter-launch: use systemd to obtain the TTY
Using the command line or an environment variable is dangerous,
as those can be spoofed to gain access to other sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
2013-08-30 10:32:55 +02:00
Giovanni Campagna
fd40a12213 wayland: import weston-launch setuid launcher
To run mutter as a display server, one needs to acquire and
release the DRM master, which is only possible for root, so
we take advantage of weston-launch, a small setuid helper binary
written for the weston project. We import our own slightly
modified copy of it, because weston-launch only launches weston,
for security reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=705861
2013-08-30 10:32:55 +02:00
Adel Gadllah
7186d0ce55 build: Bump minimum clutter version
This is needed for clutter_actor_has_mapped_clones().
2013-08-27 21:24:56 +02:00
Giovanni Campagna
aa15c09d54 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
2013-08-27 10:07:39 +02:00
Florian Müllner
3d3ae40f79 Bump version to 3.9.90
gnome-shell requires mutter and mutter-wayland at the same version
to build. Also update NEWS, cherry-picked from master.
2013-08-27 09:51:56 +02:00
Giovanni Campagna
ea3d2b4759 wayland: make parallel installable with regular mutter
Modify all visible instances of mutter with mutter-wayland
(libraries, folders, pkgconfig, etc.), so that the wayland
branch can be installed alongside the usual X11 mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=705497
2013-08-26 15:00:29 +02:00
Giovanni Campagna
542a0886cf Remove files no one cares about anymore
mutter-plugins.pc has been replaced by libmutter.pc, and the
wm properties in the control center are long gone.

https://bugzilla.gnome.org/show_bug.cgi?id=705497
2013-08-26 15:00:29 +02:00
Giovanni Campagna
91cdfab495 build: make wayland support unconditional
In the wayland branch of mutter, we want to build a wayland version
of the mutter libraries, and that's much easier if we just build
wayland support unconditionally.
The define is kept to avoid a huge diff, but should be removed
in a later patch.
Also, wayland support can still be disable at runtime, by
launching mutter without the --nested switch.

https://bugzilla.gnome.org/show_bug.cgi?id=705497
2013-08-26 15:00:29 +02:00
Seán de Búrca
207fdd4a34 build: Create m4 directory
Due to changes in gnome-common git, an implicit m4 directory is no
longer created during autogen. The attached patch explicitly and
correctly specifies a macro directory.

https://bugzilla.gnome.org/show_bug.cgi?id=706787
2013-08-26 06:47:13 -04:00
Rico Tzschichholz
54d18c0196 configure: Require Cogl 1.15.6
Needed for cogl_offscreen_new_with_texture
2013-08-22 08:10:16 +02:00
Florian Müllner
7fc9a807a0 Bump version to 3.9.90
Update NEWS.
2013-08-21 23:45:37 +02:00
Alexander Larsson
3a7c1e7b6c Require Gtk+ 3.9.11
This is needed for the gdk_x11_display_set_window_scale() call.
2013-08-20 14:27:50 +02:00
Giovanni Campagna
3bb5086173 Monitor: restore correct display name handling
Now that we have the right values from the EDID, we can load
the PNP database and find the proper vendor name, to show in
the control center UI.

https://bugzilla.gnome.org/show_bug.cgi?id=705670
2013-08-18 00:47:53 +02:00
Giovanni Campagna
bbbcd8c631 MonitorConfig: handle changes in the laptop lid
This way we don't need to track the current and previous
configuration in gnome-settings-daemon, when we already do so
in mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=705670
2013-08-18 00:47:53 +02:00
Jasper St. Pierre
0e098249b1 Merge remote-tracking branch 'origin/master' into wayland 2013-08-13 10:44:09 -04:00
Jasper St. Pierre
8c1c77482d Remove old, deprecated utilities that nobody has used in a million years
https://bugzilla.gnome.org/show_bug.cgi?id=704437
2013-08-13 09:39:02 -04:00
Jasper St. Pierre
ef9ef87d91 configure: Complete fix for removing clutter-wayland-compositor 2013-08-12 14:43:23 -04:00
Jasper St. Pierre
9b966561c4 configure.ac: Remove clutter-wayland-compositor dependency
It's not necessary.
2013-08-12 12:08:58 -04:00
Neil Roberts
a5585327dc wayland: Add an actor for the cursor
When running Mutter under Cogl's KMS backend no cursor will be
provided so instead this makes it so the cursor will be painted as a
CoglTexture that gets moved in response to mouse motion events. The
painting is done in a subclass of ClutterStage so that we can
guarantee that the cursor will be painted on top of everything else.

This patch adds support for the set_cursor method on the pointer
interface so that clients can change the cursor image.

The set_pointer method sets a surface and a hotspot position to use
for the cursor image. The surface's buffer is converted to a
CoglTexture and attached to a pipeline to paint directly via Cogl. If
a new buffer is attached to the surface the image will be updated. The
cursor reverts back to the default image whenever to the pointer focus
is moved off of any surface.

The image for the pointer is taken from X. It gets installed into
a fixed data location for mutter.
2013-08-10 19:13:49 -04:00
Robert Bragg
f9a11b3b18 wayland: Adds basic hybrid X + Wayland support
This adds support for running mutter as a hybrid X and Wayland
compositor. It runs a headless XWayland server for X applications
that presents wayland surfaces back to mutter which mutter can then
composite.

This aims to not break Mutter's existing support for the traditional X
compositing model which means a single build of Mutter can be
distributed supporting the traditional model and the new Wayland based
compositing model.

TODO: although building with --disable-wayland has at least been tested,
I still haven't actually verified that running as a traditional
compositor isn't broken currently.

Note: At this point no input is supported

Note: multiple authors have contributed to this patch:
Authored-by: Robert Bragg <robert@linux.intel.com>
Authored-by: Neil Roberts <neil@linux.intel.com>
Authored-by: Rico Tzschichholz.
Authored-by: Giovanni Campagna <gcampagna@src.gnome.org>
2013-08-10 19:13:48 -04:00
Robert Bragg
b4d108dac6 configure: Adds --with-xwayland-path option
This adds a --with-xwayland-path configure option that can be used to
specify the absolute path of a headless X server binary supporting
the wayland xserver protocol.
2013-08-10 19:13:48 -04:00
Robert Bragg
6585a5760b configure: Adds --enable-wayland config option
This adds a --enable-wayland configure option to enable building mutter
as a hybrid X and Wayland compositor. By default the option is disabled.
If enabled then HAVE_WAYLAND is defined for C code and as an automake
conditional.

This copies the xserver.xml wayland protocol into a protocol/ directory
since wayland support will depend on this protocol for communicating
with an xwayland X server. Copying the spec like this is consistent with
Weston so we don't need a configure option to locate an external spec.
2013-08-10 19:13:48 -04:00
Florian Müllner
06b5be2d13 Bump version to 3.9.5
Update NEWS.
2013-07-30 14:27:06 +02:00
Florian Müllner
9504fdd2cb Bump version to 3.9.4
Update NEWS.
2013-07-10 18:35:17 +02:00
Florian Müllner
b2dd4f33f7 Bump version to 3.9.3
Update NEWS.
2013-06-18 16:40:02 +02:00
Owen W. Taylor
47b21b3547 Use new clutter_stage_set_paint_callback() function for after-paint notification
Commit 4f2bb583bf changed things so that the compositor used
clutter_threads_add_repaint_func_full (CLUTTER_REPAINT_FLAGS_POST_PAINT
to get after-paint notification and send _NET_WM_FRAME_DRAWN, but this
doesn't actually work, since Clutter will already have blocked for
VBlank before calling post-paint functions.

The result is that frame synced toolkits like GTK 3.8 will normally
only be able to draw every other frame.

Since ::paint doesn't work either, a new function
clutter_stage_set_paint_callback() has been added to Clutter
(and will be included in the 1.14 branch)

https://bugzilla.gnome.org/show_bug.cgi?id=698794
2013-06-03 13:21:54 -04:00
Florian Müllner
d20078574e Bump version to 3.9.2
Update NEWS.
2013-05-28 17:23:25 +02:00
Florian Müllner
1ffe1eae4d Bump version to 3.9.1
Update NEWS.
2013-04-30 23:28:26 +02:00
Florian Müllner
ad61676af0 Bump version to 3.8.1
Update NEWS.
2013-04-16 20:38:36 +02:00
Florian Müllner
387cb83c8a Bump version to 3.8.0
Update NEWS.
2013-03-26 22:02:05 +01:00
Florian Müllner
4dfbe9a493 Bump version to 3.7.92
Update NEWS.
2013-03-18 23:08:47 +01:00
Tomeu Vizoso
460dc9f2ef Improve a bit the look of the main page of the API docs
https://bugzilla.gnome.org/show_bug.cgi?id=695641
2013-03-14 18:07:04 -04:00
Jasper St. Pierre
a3826987e6 Build reference docs
https://bugzilla.gnome.org/show_bug.cgi?id=676856
2013-03-14 17:56:36 -04:00
Florian Müllner
dc3529d98a Bump version to 3.7.91
Update NEWS.
2013-03-04 22:29:13 +01:00
Florian Müllner
51ccaaaff0 Bump version to 3.7.90
Update NEWS.
2013-02-20 16:44:30 +01:00
Owen W. Taylor
995e8040dd Bump Clutter and Cogl version requirements
Cogl - require 1.13.3 for CoglFrameInfo
Clutter - require 1.13.5 for clutter_stage_set_sync_delay()
2013-02-13 09:48:27 -05:00
Jasper St. Pierre
57c31a56f4 barrier: Add support for new barrier features in XInput 2.3
XInput 2.3 adds support for "barrier events", which let us know when
a pointer barrier has been hit, and when the pointer has stopped
hitting the barrier, and lets us "release" the barrier, temporarily
letting the pointer pass through the barrier. These features can be
combined to allow for certain pointer gestures, such as "pushing"
against the bottom of the screen, or stopping the pointer on monitor
edges while dragging slowly for increased edge precision.

This commit should allow graceful fallback if servers with
XInput 2.3 aren't supported.

https://bugzilla.gnome.org/show_bug.cgi?id=677215
2013-02-08 14:23:38 -05:00
Florian Müllner
ac49259fc7 Bump version to 3.7.5
Update NEWS
2013-02-05 22:59:13 +01:00
Florian Müllner
a2d54bb2ab build: Bump gsettings-desktop-schemas requirement
... as needed for the new 'switch-applications' keybinding.

https://bugzilla.gnome.org/show_bug.cgi?id=692952
2013-01-31 19:13:04 +01:00
Florian Müllner
2bfe6d2da5 build: Bump Clutter requirement
We now rely on XInput being enabled by default, which has only been
the case since 1.13.2.
2013-01-17 13:22:39 +01:00
Florian Müllner
2fcd75eadd Bump version to 3.7.4
Update NEWS.
2013-01-15 00:45:27 +01:00
Matthias Clasen
bab51cbbe4 Remove unnecessary python check
A grep for fix-meta-rectangle.py in the source tree comes up
empty, and building mutter works just fine without AM_PATH_PYTHON.

https://bugzilla.gnome.org/show_bug.cgi?id=690956
2013-01-02 08:01:14 -05:00
Florian Müllner
6f3ae06362 Bump version to 3.7.3
Update NEWS
2012-12-18 13:31:41 +01:00
Jasper St. Pierre
dd4e655e2b Require XInput2
This is going to start becoming necessary for mutter to run.

https://bugzilla.gnome.org/show_bug.cgi?id=688779
2012-12-13 14:12:56 -05:00
Jasper St. Pierre
ff64cba616 Rename configure.in to configure.ac
configure.in support for autoconf is going to go away at some point.

https://bugzilla.gnome.org/show_bug.cgi?id=688777
2012-11-20 21:25:12 -05:00