View Bazaar branches
Get this repository:
git clone https://git.launchpad.net/mutter

Branches

Name Last Modified Last Commit
master 2018-09-21 16:50:06 UTC 2018-09-21
compositor: Skip windows not visible to the compositor

Author: Olivier Fourdan
Author Date: 2018-09-19 14:08:52 UTC

compositor: Skip windows not visible to the compositor

The compositor will automatically unredirect the top most window which
is fully visible on screen. When unredirecting windows, it also shapes
the compositor overlay window (COW) so that other redirected windows
still shows correctly.

The function `get_top_visible_window_actor()` however will simply walks
down the window list, so if a window is placed on a layer above and
unredirected, then iconified by the client, it will still be picked up
by `get_top_visible_window_actor()` and he compositor will reckon it's
still unredirected while not in a visible state anymore, thus leaving a
black area on screen.

Make sure we skip the windows not known to the compositor while picking
the top visible window actor to avoid this issue.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/306

gnome-3-28 2018-09-19 14:20:46 UTC 2018-09-19
actor: Also recompute paint volume if we recently dropped effects

Author: Sam Spilsbury
Author Date: 2018-09-02 14:17:43 UTC

actor: Also recompute paint volume if we recently dropped effects

Otherwise we'll be stuck with the same paint volume on the last
frame of the given effect, which could be wrong.

(cherry picked from commit a8a3c1017fd8604f4f7db272a867ae17b0214cf7)

wip/carlosg/unfocus-on-modal 2018-09-19 09:53:30 UTC 2018-09-19
compositor: Focus the no focus window during modal plugin operations

Author: Carlos Garnacho
Author Date: 2018-09-18 17:49:03 UTC

compositor: Focus the no focus window during modal plugin operations

Modal operations are usually far from transient, so it makes sense to
unfocus the currently focused window while the operation is going on.
If no other window was focused and the window is still alive when the
modal operation is finished, focus will be restored back.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/452

wip/3-monitors-on-nvidia 2018-09-18 20:12:10 UTC 2018-09-18
fixup! wip! renderer-native-gles3: add function for drawing pixels to egl sur...

Author: Ray Strode
Author Date: 2018-09-18 20:12:10 UTC

fixup! wip! renderer-native-gles3: add function for drawing pixels to egl surface

gbsneto/tracing 2018-09-10 20:15:02 UTC 2018-09-10
clutter-stage: Also profile size negotiation and allocation

Author: Georges Basile Stavracas Neto
Author Date: 2018-09-10 19:14:42 UTC

clutter-stage: Also profile size negotiation and allocation

To give us a better perspective on how much time is being consumed
by size negotiation and allocation.

wip/fmuellner/hide-titlebar-when-tiled 2018-09-08 12:17:47 UTC 2018-09-08
window-props: Handle hide-titlebar-when-maximized for tiled windows

Author: Florian Müllner
Author Date: 2018-09-08 12:17:47 UTC

window-props: Handle hide-titlebar-when-maximized for tiled windows

While we apply the setting to both maximized and tiled windows, we
currently only queue a resize for the former. This is required for
the setting to take effect immediately if the window is already
tiled.

https://gitlab.gnome.org/GNOME/mutter/issues/296

wip/fmuellner/show-titlebar-when-maximized 2018-09-08 12:07:36 UTC 2018-09-08
x11: Remove hide-titlebar-when-maximized support

Author: Florian Müllner
Author Date: 2018-09-08 11:26:13 UTC

x11: Remove hide-titlebar-when-maximized support

It's a UI pattern that has been superseded by client-side decorations,
apps that used to set the hint have generally moved on to headerbars.
Given that and the limitation to server-side decorated X11 windows,
GTK4 removed the client-side API for setting the hint, it's time to
follow suite and retire the feature.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/221

wip/carlosg/issue-294 2018-09-07 17:31:35 UTC 2018-09-07
backends: push missing error trap

Author: Carlos Garnacho
Author Date: 2018-09-07 17:31:35 UTC

backends: push missing error trap

This went MIA in commit 390314adfb6, and causes asserts when
trying to pop a non-existent error trap a bit later.

Closes: #294

gbsneto/kill-vblank 2018-09-04 17:24:41 UTC 2018-09-04
clutter: Rename SYNC_TO_VBLANK to SWAP_THROTTLE

Author: Georges Basile Stavracas Neto
Author Date: 2018-08-09 15:19:53 UTC

clutter: Rename SYNC_TO_VBLANK to SWAP_THROTTLE

This is to reflect what this flag is actually about.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/191

wip/carlosg/inputfd 2018-09-01 21:57:41 UTC 2018-09-01
wayland: Implement the "inputfd" wayland protocols

Author: Carlos Garnacho
Author Date: 2018-09-01 20:09:58 UTC

wayland: Implement the "inputfd" wayland protocols

This allows lending control to applications of evdev devices,
and withdrawing it with focus.

wip/carlosg/startup-sequences 2018-08-28 11:05:14 UTC 2018-08-28
core: Refactor/simplify display startup sequence handling

Author: Carlos Garnacho
Author Date: 2018-08-25 11:21:43 UTC

core: Refactor/simplify display startup sequence handling

Makes the caller function easier to read.

wip/carlosg/issue-273 2018-08-21 23:15:21 UTC 2018-08-21
core: Preserve focus across decoration changes

Author: Carlos Garnacho
Author Date: 2018-08-21 22:58:06 UTC

core: Preserve focus across decoration changes

Changes in window decoration result in the window being reparented
in and out its frame. This in turn causes unmap/map events, and
XI_FocusOut if the window happened to be focused.

In order to preserve the focused window across the decoration change,
add a flag so that the focus may be restored on MapNotify.

Closes: #273

wip/carlosg/avoid-parent-relayouts 2018-08-15 00:12:08 UTC 2018-08-15
clutter: Only redraw affected portions on parent widget on show/hide

Author: Carlos Garnacho
Author Date: 2018-08-10 19:33:50 UTC

clutter: Only redraw affected portions on parent widget on show/hide

If we are lucky enough and the parent actor has the CLUTTER_ACTOR_NO_LAYOUT
flag, we would skip the relayout, but still redraw the parent actor in its
entirety.

In these cases, we can at least just redraw the area affected by the actor
being shown/hidden.

wip/carlosg/paint-volume-on-queue-redraw 2018-08-10 19:11:42 UTC 2018-08-10
clutter: Add ClutterPaintVolume argument to ClutterActor::queue_redraw

Author: Carlos Garnacho
Author Date: 2017-05-06 23:02:01 UTC

clutter: Add ClutterPaintVolume argument to ClutterActor::queue_redraw

This is an ABI break, hopefully an unimportant one since this signal/vmethod
is barely overridden.

The signal has been added an extra ClutterPaintVolume argument, and has been
given a boolean return value. The recursion to the parents has been taken
out of the default implementation and into the caller, using the returned
boolean parameter to control further propagation.

Passing the ClutterPaintVolume is easier on performance, as we don't need
setting this pointer as gobject data just to retrieve/unset it further
in propagation.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

wip/carlosg/unassorted-perf-fixes 2018-08-10 19:10:38 UTC 2018-08-10
Revert "Revert "ClutterActor: Optimize away idempotent scale/position updates""

Author: Carlos Garnacho
Author Date: 2018-06-16 12:26:39 UTC

Revert "Revert "ClutterActor: Optimize away idempotent scale/position updates""

This reverts commit 4d2647cdbc6cc2b5a41eb8fcd5183a77819283dd.

A proper fix is now in GTK+, let's reintroduce this optimization.

Related: gtk#844, gtk!294

wip/laney/drmmodegetresources-handle-failure 2018-08-09 13:43:21 UTC 2018-08-09
gpu-kms: Check for DRM resources when constructing

Author: Iain Lane
Author Date: 2018-08-09 13:12:31 UTC

gpu-kms: Check for DRM resources when constructing

drmModeGetResources() can fail if the DRM driver doesn't implement
modesetting. We shouldn't crash in this case, but instead error out.

This moves the call into the constructor of the MetaGpuKms, as it is
easier to fail constructing directly rather than deal with it later on.

Fixes #223.

wip/carlosg/abs-input-mapper 2018-07-31 17:51:58 UTC 2018-07-31
backends: Update to new "output" setting for tablets/touchscreens

Author: Carlos Garnacho
Author Date: 2018-07-30 19:16:24 UTC

backends: Update to new "output" setting for tablets/touchscreens

wip/muktupavels/work-areas 2018-07-24 13:15:32 UTC 2018-07-24
x11-display: set per-monitor work areas

Author: Alberts Muktupāvels
Author Date: 2018-06-14 22:17:24 UTC

x11-display: set per-monitor work areas

In addition to existing property set also new _NET_WORKAREA_Mn
property where n is Xinerama monitor index. The property in its
form is same as _NET_WORKAREA except that work area is for monitor
not whole screen.

gbsneto/tty-switch-crash 2018-07-14 15:58:59 UTC 2018-07-14
gpu-kms: Protect against NULL crtc->current_mode

Author: Georges Basile Stavracas Neto
Author Date: 2018-07-14 15:58:59 UTC

gpu-kms: Protect against NULL crtc->current_mode

When failing to apply the CRTC mode, Mutter throws a warning
message. This warning message would try to access the name of
the CRTC's current mode.

There are ocasions, however, where the current mode is NULL.
On these cases, Mutter would crash.

Fix that by protecting against NULL CRTC modes.

cherry-pick-041be7c5 2018-07-13 12:25:15 UTC 2018-07-13
screen-cast-src: Allow negotiating the framerate

Author: Jonas Ådahl
Author Date: 2018-06-15 10:27:50 UTC

screen-cast-src: Allow negotiating the framerate

The framerate for screen cast sources was set to variable within 1 FPS
and the framerate of the monitor being screen casted. This meant that if
the sink didn't match the framerate (e.g. had a lower max framerate),
the formats would not match and a stream would not be established.

Allow letting the sink clamp the framerate range by setting it as
'unset', allowing it to be negotiated.

(cherry picked from commit 041be7c565914c5f078be879b36811b1bc2c1d3a)

wip/carlosg/move-resize-loop 2018-06-14 19:10:05 UTC 2018-06-14
core: Avoid queueing resizes while changing workspace during window drag

Author: Carlos Garnacho
Author Date: 2018-06-14 17:33:45 UTC

core: Avoid queueing resizes while changing workspace during window drag

We already have a user move/resize going on, so avoid botching it with
window resizes with flags & META_MOVE_RESIZE_USER_ACTION == 0 that will
trigger unintended constraints.

https://gitlab.gnome.org/GNOME/mutter/issues/192

Closes: #192

wip/carlosg/context-priority 2018-05-28 10:17:12 UTC 2018-05-28
cogl/egl: Use EGL_IMG_context_priority

Author: Carlos Garnacho
Author Date: 2018-03-01 22:52:57 UTC

cogl/egl: Use EGL_IMG_context_priority

As long as the context_priority extension is available request a high
priority context, to help the compositor look fluid despite heavy GPU usage
from other applications at a regular priority.

This becomes sort of pointless if/when unredirection applies, should still
help with overview/workspace switch animations, or if the application is
not fullscreen.

gnome-3-24 2018-05-21 16:37:21 UTC 2018-05-21
Update Chinese (China) translation

Author: Tong Hui
Author Date: 2018-05-21 16:37:21 UTC

Update Chinese (China) translation

wip/carlosg/keep-depressed-mods-depressed 2018-04-26 18:50:36 UTC 2018-04-26
clutter: Keep depressed mods across keymap changes

Author: Carlos Garnacho
Author Date: 2018-04-26 18:50:36 UTC

clutter: Keep depressed mods across keymap changes

Those are, evidently, depressed. Forgetting about those when the keymap
changes does no good to them, nor the stuff we are typing.

wip/idletime-inhibitors 2018-04-16 11:28:03 UTC 2018-04-16
idle-monitor: Add ResetIdletime API, for testing purposes

Author: Bastien Nocera
Author Date: 2018-03-21 13:11:39 UTC

idle-monitor: Add ResetIdletime API, for testing purposes

The ResetIdletime API can be used instead of an "XTest" binary to
programmatically reset the idle time, as if the user pressed a button on
a keyboard.

This is necessary since we stopped using the XSync extension to monitor
idletimes, as it didn't consider inhibitors as busy, and mutter's
clutter code ignores "Core Events" as generated by XTest.

This patch will require minimal changes to gnome-settings-daemon's power
test suite so that "key press" idletime resets are triggered through
this D-Bus interface rather than through XTest and a roundtrip through
the X server.

https://bugzilla.gnome.org/show_bug.cgi?id=705942

wip/carlosg/fix-open-lid-flicker 2018-04-09 17:41:57 UTC 2018-04-09
backends: Compare gpu/crtc/output configurations before applying

Author: Carlos Garnacho
Author Date: 2018-01-09 20:29:26 UTC

backends: Compare gpu/crtc/output configurations before applying

This spares us from visible flickering whenever an unchanged configuration
is reapplied, eg. after lid open. The code in the X11 paths that did the
same comparisons has been removed in favor of the generic checks.

https://bugzilla.gnome.org/show_bug.cgi?id=791879

wip/ssd-black-borders-fix 2018-03-31 21:50:45 UTC 2018-03-31
compositor: get rid of initial black rectangle on xwayland clients

Author: Ray Strode
Author Date: 2018-03-16 21:04:09 UTC

compositor: get rid of initial black rectangle on xwayland clients

At the moment when a legacy X11 application client is first mapped it
gets briefly shown as a black rectangle before redrawing.

That behavior is because the initial Configure operation on the window
leads to the surface immediately getting full window damage posted by
Xwayland before the client has a chance to draw.

This commit changes mutter to send a sync request right away, when a
window first shows up, then waits until the reply from the application
before showing the window.

It leverages the same code paths already used to prevent flicker from
subsequent (non-initial) resizes on the window.

gbsneto/small-leak 2018-03-22 00:16:23 UTC 2018-03-22
window: Fix a small memory leak

Author: Georges Basile Stavracas Neto
Author Date: 2018-03-22 00:16:23 UTC

window: Fix a small memory leak

wip/fmuellner/fix-condition 2018-03-16 16:12:49 UTC 2018-03-16
keyboard: Fix condition

Author: Florian Müllner
Author Date: 2018-03-16 16:08:08 UTC

keyboard: Fix condition

!= has a higher precedence than bitwise &, so we need parentheses
to check for one of the values in flags.

https://gitlab.gnome.org/GNOME/mutter/issues/74

wip/fmuellner/fix-headless-segfault 2018-03-09 15:20:58 UTC 2018-03-09
monitor: Allow %NULL mode in calculate_mode_scale()

Author: Florian Müllner
Author Date: 2018-03-08 19:12:54 UTC

monitor: Allow %NULL mode in calculate_mode_scale()

If no global scaling factor has been set, we currently segfault when
called with a %NULL mode parameter, which happens when calculating the
scale for the current mode while no modes are available.

Adding %NULL checks in the corresponding callers would mean that we'd
have to duplicate the global scaling factor handling, so instead consider
%NULL mode parameters valid and handle them gracefully.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/41

gnome-3-26 2018-03-01 10:46:14 UTC 2018-03-01
Update Scottish Gaelic translation

Author: GNOME Translation Robot
Author Date: 2018-03-01 10:46:14 UTC

Update Scottish Gaelic translation

wip/gbsneto/tile-picker 2017-12-29 16:12:25 UTC 2017-12-29
compositor: Introduce tile picker API

Author: Georges Basile Stavracas Neto
Author Date: 2017-12-25 17:12:20 UTC

compositor: Introduce tile picker API

Plugins might want to know when they should show
a tile picker UI and, since we control the tiling
state from the window manager side, we just need
to tell the compositor when they should do that.

This commit adds the necessary plumbing to let the
compositor and plugins know when a tile picker should
be shown.

wip/carlosg/text-input 2017-12-22 16:16:57 UTC 2017-12-22
clutter: Make ClutterText request toggling the input panel

Author: Carlos Garnacho
Author Date: 2017-12-22 16:16:57 UTC

clutter: Make ClutterText request toggling the input panel

So gnome-shell is able to show the OSK for it.

wip/fmuellner/contraint-tiling 2017-10-03 21:16:44 UTC 2017-10-03
x11: Add support for _GTK_EDGE_CONSTRAINTS atom

Author: Georges Basile Stavracas Neto
Author Date: 2017-08-18 23:21:37 UTC

x11: Add support for _GTK_EDGE_CONSTRAINTS atom

To keep feature parity with the Wayland backend, and
to improve the overall tiling experience with GTK apps,
add the _GTK_EDGE_CONSTRAINTS X11 atom and update it
when necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=751857

wip/xwayland-on-demand 2017-08-28 02:50:44 UTC 2017-08-28
Fix cursor size update on non-wayland

Author: Armin Krezović
Author Date: 2017-08-27 19:04:14 UTC

Fix cursor size update on non-wayland

gnome-3-22 2017-08-12 13:35:32 UTC 2017-08-12
Update Indonesian translation

Author: Andika Triwidada
Author Date: 2017-08-12 13:35:32 UTC

Update Indonesian translation

tintou/wip/vapi 2017-06-30 15:02:19 UTC 2017-06-30
Enable vala .vapi generation, create the meta/meta.h umbrella file

Author: Corentin Noël
Author Date: 2017-06-30 15:02:19 UTC

Enable vala .vapi generation, create the meta/meta.h umbrella file

wip/carlosg/performance-improvements 2017-05-22 15:43:10 UTC 2017-05-22
wayland: Use weak ref to keep track of buffers

Author: Carlos Garnacho
Author Date: 2017-05-06 20:46:06 UTC

wayland: Use weak ref to keep track of buffers

Instead of using a one-shot signal meant to happen then the buffer
is being destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

wip/jstpierre/cursor-position-tracker 2017-02-23 19:06:41 UTC 2017-02-23
backends: Add a method for monitoring cursor position

Author: Jasper St. Pierre
Author Date: 2017-02-23 19:06:41 UTC

backends: Add a method for monitoring cursor position

gnome-3-20 2016-10-29 18:25:41 UTC 2016-10-29
Update zh_CN translation

Author: YunQiang Su
Author Date: 2016-10-29 18:25:41 UTC

Update zh_CN translation

gnome-3-18 2016-10-29 18:19:33 UTC 2016-10-29
Update zh_CN translation

Author: liushuyu
Author Date: 2016-10-29 18:19:33 UTC

Update zh_CN translation

wip/fmuellner/gtk-shadows 2016-10-28 15:10:57 UTC 2016-10-28
theme: Update style classes to match CSD decorations

Author: Florian Müllner
Author Date: 2016-10-28 00:56:28 UTC

theme: Update style classes to match CSD decorations

We currently use the "ssd" style class instead of "csd", so themes
can avoid adding a window shadow to windows that already got a shadow
from the compositor. Now that we no longer add a shadow to regular
windows, we should ask for the appropriate style.

https://bugzilla.gnome.org/show_bug.cgi?id=744667

gnome-3-4 2016-10-11 18:57:23 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:57:23 UTC

Update Occitan translation

gnome-3-6 2016-10-11 18:54:45 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:54:45 UTC

Update Occitan translation

gnome-3-8 2016-10-11 18:53:55 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:53:55 UTC

Update Occitan translation

gnome-3-10 2016-10-11 18:50:33 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:50:33 UTC

Update Occitan translation

gnome-3-12 2016-10-11 18:49:06 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:49:06 UTC

Update Occitan translation

gnome-3-2 2016-10-11 18:10:36 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:10:36 UTC

Update Occitan translation

gnome-3-0 2016-10-11 18:06:03 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 18:06:03 UTC

Update Occitan translation

gnome-3-14 2016-10-11 17:53:17 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 17:53:17 UTC

Update Occitan translation

gnome-3-16 2016-10-11 17:50:56 UTC 2016-10-11
Update Occitan translation

Author: Cédric VALMARY (Tot en òc)
Author Date: 2016-10-11 17:50:56 UTC

Update Occitan translation

wip/garnacho/wayland-emulated-output-transform 2016-08-23 17:24:35 UTC 2016-08-23
backends/native: Expose all transform modes in CRTCs

Author: Carlos Garnacho
Author Date: 2016-08-01 01:51:36 UTC

backends/native: Expose all transform modes in CRTCs

We can only honor this properly in the MUTTER_STAGE_VIEWS=1 case. When using
the legacy view, software implemented transforms are only exposed if there is
only one output, as we can only transform the entire stage there.

https://bugzilla.gnome.org/show_bug.cgi?id=745079

wip/garnacho/virtual-input-device 2016-07-26 16:45:26 UTC 2016-07-26
backends: Prepare for virtual devices

Author: Carlos Garnacho
Author Date: 2016-07-11 16:23:09 UTC

backends: Prepare for virtual devices

Those have no backing libinput_device, and configuration does not
apply to those.

https://bugzilla.gnome.org/show_bug.cgi?id=765009

wip/tablet-protocol-v2 2016-07-20 17:27:24 UTC 2016-07-20
wayland: Emit wp_tablet_pad_group.buttons after focus changes

Author: Carlos Garnacho
Author Date: 2016-06-29 16:39:31 UTC

wayland: Emit wp_tablet_pad_group.buttons after focus changes

The buttons grabbed by the compositor might have changed in between,
so just broadcast the button array again.

wip/tablet-protocol 2016-05-02 11:49:13 UTC 2016-05-02
backends: Allow multiple "SW" cursor overlays on the stage

Author: Carlos Garnacho
Author Date: 2016-05-02 11:49:13 UTC

backends: Allow multiple "SW" cursor overlays on the stage

All the upper layers are prepared for multiple onscreen cursors, but
this. All MetaCursorRenderers created would poke the same internal
MetaOverlay in the stage.

This will lead to multiple cursor renderers resorting to the "SW"
rendering paths (as it can be seen with tablet support) to reuse the
same overlay, thus leading to flickering when a different
MetaCursorRenderer takes over the overlay.

Fix this by allowing per-cursor-renderer overlays, their lifetime
is attached to the cursor renderer, so is expected to be tear down
if the relevant device (eg. tablet) disappears.

wip/rtcm/merge 2016-04-22 16:48:00 UTC 2016-04-22
Fix the merged build

Author: Rui Matos
Author Date: 2016-04-08 17:58:20 UTC

Fix the merged build

wip/tiling-2 2016-04-04 21:51:56 UTC 2016-04-04
frame: Don't allow resizing of edges that are constrained

Author: Jasper St. Pierre
Author Date: 2015-07-01 05:14:03 UTC

frame: Don't allow resizing of edges that are constrained

https://bugzilla.gnome.org/show_bug.cgi?id=751857

wip/primary-selection 2016-02-20 00:37:01 UTC 2016-02-20
WIP: Implement the primary selection protocol

Author: Carlos Garnacho
Author Date: 2016-02-03 17:39:58 UTC

WIP: Implement the primary selection protocol

wip/garnacho/wayland-startup-notification 2016-02-17 13:47:54 UTC 2016-02-17
wayland: Implement gtk-shell v3

Author: Carlos Garnacho
Author Date: 2016-02-06 14:04:25 UTC

wayland: Implement gtk-shell v3

Implement the gtk_shell.set_startup_id request, so that the ID is
removed from the sequences list, and feedback updated accordingly.

wip/garnacho/wayland-extra-scroll-events 2015-10-23 14:21:25 UTC 2015-10-23
wayland: Implement wl_pointer.axis_source/axis_stop/axis_frame emission

Author: Carlos Garnacho
Author Date: 2015-09-08 12:32:50 UTC

wayland: Implement wl_pointer.axis_source/axis_stop/axis_frame emission

As per the spec. wl_pointer.axis_source determines the current source of
scroll events, wl_pointer.axis_stop determines when there's no further
scroll events on any axis (Which Clutter sends as dx/dy=0 events).
wl_pointer.axis_frame marks the end of a series of axis_* events.

v2: Updated to v4 of the protocol spec by
    Peter Hutterer <peter.hutterer@who-t.net>
v3: Update to use Clutter API

wip/halfline/black-stage-before-dpms-off 2015-10-17 19:04:51 UTC 2015-10-17
xrandr: set stage to black before dpms off

Author: Ray Strode
Author Date: 2015-10-17 19:01:17 UTC

xrandr: set stage to black before dpms off

redraws aren't processed when dpms has been turned
off, so we need to set the stage to black before
the screen goes dark, so that when it comes back
it's not showing stale contents.

wip/fullscreen 2015-10-12 19:40:24 UTC 2015-10-12
compositor: add hooks for fullscreen and unfullscreen animations

Author: Cosimo Cecchi
Author Date: 2013-09-01 20:04:19 UTC

compositor: add hooks for fullscreen and unfullscreen animations

https://bugzilla.gnome.org/show_bug.cgi?id=707248

wip/dnd-actions 2015-09-28 14:31:24 UTC 2015-09-28
wayland: Implement DnD actions as per wl_data_device v3 changes

Author: Carlos Garnacho
Author Date: 2015-04-07 14:05:46 UTC

wayland: Implement DnD actions as per wl_data_device v3 changes

We now additionally send:
  - wl_data_offer.source_actions
  - wl_data_source.action
  - wl_data_offer.action
  - wl_data_source.drop_performed
  - wl_data_source.drag_finished

The protocol changes allow for compositors to implement different policies
when chosing the action, mutter uses this to reimplement the same behavior
that GTK+ traditionally had:

  - Alt/Control/Shift modifiers change the chosen action to
    ask/copy/move respectively
  - Drags with middle button start out as "ask" by default

As mutter now also grabs the keyboard and unsets the window focus for these
purposes, the window focus is restored after the drag operation has
finished.

wip/garnacho/touchpad-gestures 2015-08-10 14:48:31 UTC 2015-08-10
wayland: Implement wl_pointer_gestures

Author: Carlos Garnacho
Author Date: 2015-07-22 14:50:20 UTC

wayland: Implement wl_pointer_gestures

The global wl_pointer_gestures object is now created, effectively
bridging pinch/swipe gestures with clients, so they're now
accessible to clients implementing the protocol.

wip/viewport 2014-11-05 18:14:35 UTC 2014-11-05
wayland: Implement support for wl_viewport

Author: Jasper St. Pierre
Author Date: 2014-08-26 19:49:05 UTC

wayland: Implement support for wl_viewport

wip/dnd-surface2 2014-09-30 15:34:32 UTC 2014-09-30
wayland: Update focus window during DnD motion

Author: Carlos Garnacho
Author Date: 2014-09-30 15:15:48 UTC

wayland: Update focus window during DnD motion

But don't emit crossing events, since the DnD grab is in effect.

https://bugzilla.gnome.org/show_bug.cgi?id=728030

wip/dnd-surface 2014-09-01 21:34:33 UTC 2014-09-01
dnd 2

Author: Jasper St. Pierre
Author Date: 2014-08-21 21:50:46 UTC

dnd 2

wip/background-rework 2014-08-28 20:33:51 UTC 2014-08-28
Rewrite background code

Author: Owen Taylor
Author Date: 2014-08-10 15:26:14 UTC

Rewrite background code

The old requirement that multiple MetaBackgroundActor objects be
layered on top of each to produce blended backgrounds resulted in
extremely inefficient drawing since the entire framebuffer had
to be read and written multiple times.

 * Replace the MetaBackground ClutterContent with a plain GObject
   that serves to hold the background parameters and prerender
   textures to be used to draw the background. It handles
   colors, gradients, and blended images, but does not handle
   vignetting

 * Add vignetting to MetaBackgroundActor directly.

 * Add MetaBackgroundImage and MetaBackgroundImageCache to allow
   multiple MetaBackground objects to share the same images

By removing the usage of ClutterContent, the following optimizations
were easy to add:

 Blending is turned off when the actor is fully opaque
 Nearest-neighbour filtering is used when drawing 1:1

The GLSL vignette code is slightly improved to use a vertex shader
snippet for computing the texture coordinate => position in actor
mapping.

https://bugzilla.gnome.org/show_bug.cgi?id=735637

wip/quadbuffer-stereo 2014-07-09 03:09:12 UTC 2014-07-09
Switch to using ClutterStage::after-paint

Author: Owen Taylor
Author Date: 2014-06-27 18:33:01 UTC

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.

wip/gestures 2014-06-25 14:38:29 UTC 2014-06-25
compositor: emit grab-op-begin/end signals on plugin grabs

Author: Carlos Garnacho
Author Date: 2014-06-25 14:38:29 UTC

compositor: emit grab-op-begin/end signals on plugin grabs

This makes it possible to track there grabs triggered this way, in
addition to the ones handled by mutter.

wip/xtoglsync 2014-06-04 08:52:56 UTC 2014-06-04
debug output

Author: Rui Matos
Author Date: 2014-06-04 08:52:56 UTC

debug output

wip/xtoglsync-3-10 2014-05-14 12:48:10 UTC 2014-05-14
MetaSyncRing: disable after a number of reboot attempts

Author: Rui Matos
Author Date: 2014-05-13 10:47:31 UTC

MetaSyncRing: disable after a number of reboot attempts

If we have had to reboot this number of times, something is definitely
wrong and we're likely to just make things worse by continuing to try,
so let's err on the side of caution and disable ourselves.

wayland 2014-04-15 20:46:38 UTC 2014-04-15
Bump version to 3.12.1

Author: Florian Müllner
Author Date: 2014-04-15 20:00:40 UTC

Bump version to 3.12.1

Update NEWS.

wip/split-cursor-tracker 2014-04-07 17:23:35 UTC 2014-04-07
cursor-tracker: Properly handle invisible cursors

Author: Rui Matos
Author Date: 2014-04-07 16:40:41 UTC

cursor-tracker: Properly handle invisible cursors

We might be asked to not display the cursor ourselves but we should
still emit cursor-changed signals and hand out the correct sprite and
hot point information when asked so that consumers can still draw an
updated cursor themselves.

This fixes the cursor not showing up in gnome-shell's zoom mode.

wip/ui-on-own-connection 2014-04-06 21:43:43 UTC 2014-04-06
ff

Author: Jasper St. Pierre
Author Date: 2014-04-06 20:16:21 UTC

ff

wip/icons 2014-03-19 01:27:31 UTC 2014-03-19
icons

Author: Jasper St. Pierre
Author Date: 2012-12-03 19:52:36 UTC

icons

wip/compositor-menu 2014-03-14 14:22:13 UTC 2014-03-14
wayland: Add support for show_window_menu

Author: Jasper St. Pierre
Author Date: 2014-03-13 20:54:04 UTC

wayland: Add support for show_window_menu

wip/login1 2014-03-11 22:01:29 UTC 2014-03-11
hack to get things working for demo

Author: Jasper St. Pierre
Author Date: 2014-03-11 21:38:03 UTC

hack to get things working for demo

have to figure out something better to put here

wip/resize-2 2014-03-06 18:07:02 UTC 2014-03-06
wip/resize

Author: Giovanni Campagna
Author Date: 2014-03-06 00:30:54 UTC

wip/resize

doesn't work...

wip/resize 2014-03-05 22:52:57 UTC 2014-03-05
resize

Author: Jasper St. Pierre
Author Date: 2014-02-19 21:24:38 UTC

resize

wip/surface-two 2014-02-25 00:16:13 UTC 2014-02-25
Fix input and bounding shapes

Author: Giovanni Campagna
Author Date: 2014-02-25 00:06:26 UTC

Fix input and bounding shapes

1) We need to select for shape events
2) For decorated windows, we don't want to apply any input
   shape, because the frame is always rectangular and eats
   all the input
3) For undecorated windows, the "has input shape" check is
   wrong if the window has a bounding shape but not an input
   shape

wip/no-reparent 2014-02-20 22:30:37 UTC 2014-02-20
use gtk+ theme impl

Author: Jasper St. Pierre
Author Date: 2013-04-23 16:53:24 UTC

use gtk+ theme impl

gnome-3-10-wayland 2014-02-19 18:52:25 UTC 2014-02-19
Bump version to 3.10.4

Author: Florian Müllner
Author Date: 2014-02-19 18:52:25 UTC

Bump version to 3.10.4

Update NEWS.

wip/surface-content 2014-02-19 15:24:38 UTC 2014-02-19
window-actor: Split into two subclasses of MetaSurfaceActor

Author: Jasper St. Pierre
Author Date: 2014-02-01 22:21:11 UTC

window-actor: Split into two subclasses of MetaSurfaceActor

The rendering logic before was somewhat complex. We had three independent
cases to take into account when doing rendering:

  * X11 compositor. In this case, we're a traditional X11 compositor,
    not a Wayland compositor. We use XCompositeNameWindowPixmap to get
    the backing pixmap for the window, and deal with the COMPOSITE
    extension messiness.

    In this case, meta_is_wayland_compositor() is FALSE.

  * Wayland clients. In this case, we're a Wayland compositor managing
    Wayland surfaces. The rendering for this is fairly straightforward,
    as Cogl handles most of the complexity with EGL and SHM buffers...
    Wayland clients give us the input and opaque regions through
    wl_surface.

    In this case, meta_is_wayland_compositor() is TRUE and
    priv->window->client_type == META_WINDOW_CLIENT_TYPE_WAYLAND.

  * XWayland clients. In this case, we're a Wayland compositor, like
    above, and XWayland hands us Wayland surfaces. XWayland handles
    the COMPOSITE extension messiness for us, and hands us a buffer
    like any other Wayland client. We have to fetch the input and
    opaque regions from the X11 window ourselves.

    In this case, meta_is_wayland_compositor() is TRUE and
    priv->window->client_type == META_WINDOW_CLIENT_TYPE_X11.

We now split the rendering logic into two subclasses, which are:

  * MetaSurfaceActorX11, which handles the X11 compositor case, in that
    it uses XCompositeNameWindowPixmap to get the backing pixmap, and
    deal with all the COMPOSITE extension messiness.

  * MetaSurfaceActorWayland, which handles the Wayland compositor case
    for both native Wayland clients and XWayland clients. XWayland handles
    COMPOSITE for us, and handles pushing a surface over through the
    xf86-video-wayland DDX.

Frame sync is still in MetaWindowActor, as it needs to work for both the
X11 compositor and XWayland client cases. When Wayland's video display
protocol lands, this will need to be significantly overhauled, as it would
have to work for any wl_surface, including subsurfaces, so we would need
surface-level discretion.

https://bugzilla.gnome.org/show_bug.cgi?id=720631

wip/xdg-shell-props 2014-02-18 23:57:12 UTC 2014-02-18
xdg-shell: Update for new state change mechanism

Author: Jasper St. Pierre
Author Date: 2014-02-09 16:45:09 UTC

xdg-shell: Update for new state change mechanism

We're still not properly going through the request system. This
will require a dense investigation of the code, but it will happen
soon...

wip/subsurfaces 2014-01-16 01:05:31 UTC 2014-01-16
double-buffer place_above/place_below

Author: Jasper St. Pierre
Author Date: 2013-11-26 01:26:00 UTC

double-buffer place_above/place_below

wip/csd-flicker 2014-01-10 19:07:45 UTC 2014-01-10
window: Assume CSD frame extents are 0 in maximized and tiling modes

Author: Jasper St. Pierre
Author Date: 2014-01-10 18:25:54 UTC

window: Assume CSD frame extents are 0 in maximized and tiling modes

When the user maximized a CSD window, this is the order of operations
that happens:

  1. The CSD application sends us a _NET_WM_STATE client message telling
     us to add the _NET_WM_MAXIMIZED_VERT/HORZ state.

  2. We respond by setting _NET_WM_STATE on the window and resizing the
     window. Windows are positioned according to the visible borders of
     the window, so since _GTK_FRAME_EXTENTS has not been updated yet to
     reflect the border/padding of the window state, the borders are wrong.

  3. GTK+ gets the _NET_WM_STATE event, updates its state, and then sets
     new theme properties, including _GTK_FRAME_EXTENTS.

  4. mutter sees that _GTK_FRAME_EXTENTS has been updated, and repositions
     the window to where it should be.

This means that the user sees the borders "flicker" for a half-second while
the maximization state is in limbo. Trying to make this resize operation
atomic is a foregone conclusion under X11, so to solve this, we're going to
make two changes to our _GTK_FRAME_EXTENTS protocol:

  1. _GTK_FRAME_EXTENTS now reflects the "normal" borders, always. This
     means that _GTK_FRAME_EXTENTS should not change at runtime unless the
     theme changes.

  2. mutter will only respect _GTK_FRAME_EXTENTS in places where the user
     expects to see a shadow. This means that mutter will hardcode the
     extents to 0 when the window is maximized. If the window is tiled-left,
     then all extents will be 0, except for the shadow on the right hand
     side, and vice versa for the tiled-right state.

wip/remove-map 2013-12-09 20:49:50 UTC 2013-12-09
compositor: Remove meta_compositor_window_[un]mapped

Author: Jasper St. Pierre
Author Date: 2013-12-09 20:42:31 UTC

compositor: Remove meta_compositor_window_[un]mapped

We no longer unmap the toplevel windows during normal operation. The
toplevel state is tied to the window's lifetime.

Call meta_compositor_add_window / meta_compositor_remove_window instead...

wip/mult-window-actors 2013-12-06 21:24:01 UTC 2013-12-06
window-actor: Don't do any special initialization in _new

Author: Jasper St. Pierre
Author Date: 2013-12-06 06:00:13 UTC

window-actor: Don't do any special initialization in _new

https://bugzilla.gnome.org/show_bug.cgi?id=678989

wip/culling 2013-11-25 20:08:22 UTC 2013-11-25
window: Separate pointer-focus operations and explicit-focus operations

Author: Jasper St. Pierre
Author Date: 2013-11-22 17:12:49 UTC

window: Separate pointer-focus operations and explicit-focus operations

Some clients, like on-screen keyboards, don't want their windows to be
activated on click, as that would steal focus from the window they're
trying to send events to. They do this by setting the Input Hint in
WM_HINTS to be FALSE, along with not specifying WM_TAKE_FOCUS in their
WM_PROTOCOLS.

However, in this case, when a window tries to get focus in this scenario,
we focus the frame so that a11y and key navigation works properly.
Both policies aren't acceptable -- we can't make OSK steal focus from
windows on click, and we can't make an OSK un-Alt-Tabbable-to.

To solve this, split meta_window_focus() into two different focus policies:

 * meta_window_focus_implicitly() should be called on pointer click or
   focus-follows-mouse or similar cases where we may not want to forcibly
   set focus for clients that don't want it.

 * meta_window_focus_explicitly() should be called by pagers, like
   the gnome-shell overview, or Alt-Tab. In this case, most of the existing
   clients are using meta_window_activate(), so simply adapting that so
   it calls meta_window_focus_explicitly() should be enough.

https://bugzilla.gnome.org/show_bug.cgi?id=715030

wip/wayland-clutter-events-2 2013-11-02 16:53:32 UTC 2013-11-02
wayland: Support alternative focus modes like focus-follows-mouse

Author: Jasper St. Pierre
Author Date: 2013-10-16 04:06:10 UTC

wayland: Support alternative focus modes like focus-follows-mouse

Use the existing code for MetaWindow focus-follows-mouse to support this.

wip/wayland-work 2013-10-03 19:11:13 UTC 2013-10-03
wayland: add support for pointer barriers

Author: Giovanni Campagna
Author Date: 2013-09-06 12:14:31 UTC

wayland: add support for pointer barriers

Use the clutter pointer constrain callback and a lot of copypasted
code from Xorg to implement reactive pointer barriers and pointer
barrier events.

https://bugzilla.gnome.org/show_bug.cgi?id=706655

wip/wayland-clutter-events 2013-09-05 11:19:58 UTC 2013-09-05
wayland: Use an event filter instead of the captured event signal

Author: Neil Roberts
Author Date: 2013-09-05 11:19:58 UTC

wayland: Use an event filter instead of the captured event signal

In order to see all Clutter events, Mutter was previously installing a
signal handler on the ‘captured-event’ signal on the stage and
additionally using a signal emission hook to cope with grabs. This
changes it to use the new clutter_event_add_filter API so that we can
avoid the signal emission hook hack.

wip/new-api 2013-09-05 08:40:12 UTC 2013-09-05
MetaPluginManager: don't require plugins to pass events to clutter

Author: Giovanni Campagna
Author Date: 2013-09-04 16:11:43 UTC

MetaPluginManager: don't require plugins to pass events to clutter

We don't want the shell to know if it's running on ClutterX11 or
not, so we should forward the event ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=707482

wip/wayland-opaque 2013-08-28 17:23:09 UTC 2013-08-28
shaped-texture: Turn blending off when drawing entirely opaque regions

Author: Jasper St. Pierre
Author Date: 2013-08-27 20:17:34 UTC

shaped-texture: Turn blending off when drawing entirely opaque regions

When drawing entirely opaque regions, we traditionally kept blending on
simply because it made the code more convenient and obvious to handle.
However, this can cause lots of performance issues on GPUs that aren't
too powerful, as they have to readback the buffer underneath.

Keep track of the opaque region set by windows (through _NET_WM_OPAQUE_REGION,
Wayland opaque_region hints, standard RGB32 frame masks or similar), and draw
those rectangles separately through a different path with blending turned off.

https://bugzilla.gnome.org/show_bug.cgi?id=706930

wip/wayland-bare-metal 2013-08-28 09:12:44 UTC 2013-08-28
Add keybindings for switching VTs

Author: Giovanni Campagna
Author Date: 2013-07-16 12:37:49 UTC

Add keybindings for switching VTs

Once mutter is started from weston-launch on its own VT, there is
no way to change VT again (for example to actually start an application),
because the keyboard is put in raw mode.
So introduce some keybindings mimicking the standard X ones (Ctrl+Alt+Fn)
that switch the VT manually when activated.

https://bugzilla.gnome.org/show_bug.cgi?id=705861

wip/tower 2013-08-20 22:10:54 UTC 2013-08-20
remove texture tower

Author: Jasper St. Pierre
Author Date: 2013-08-20 20:45:26 UTC

remove texture tower

wip/display-no-wayland 2013-08-17 14:57:33 UTC 2013-08-17
MonitorXrandr: follow the right order in applying the new configuration

Author: Giovanni Campagna
Author Date: 2013-08-16 17:02:57 UTC

MonitorXrandr: follow the right order in applying the new configuration

First disable CRTCs that should be off in the new configuration,
then resize the framebuffer, then enable the new CRTCs.
If we don't do that, and we're making the screen smaller, X complains
with a BadMatch.

https://bugzilla.gnome.org/show_bug.cgi?id=705670

wip/wayland-display 2013-08-14 16:42:07 UTC 2013-08-14
MetaWaylandSeat: reset pointer focus always when it might be different

Author: Giovanni Campagna
Author Date: 2013-08-14 14:29:09 UTC

MetaWaylandSeat: reset pointer focus always when it might be different

It can happen because of a grab that the current surface changes
but the focus doesn't. Later on, when the grab ends, we would keep
the previous focus until the user goes out of the window and
back in again.

focus-new 2013-05-28 19:07:13 UTC 2013-05-28
compositor: Add an API to query if the stage is focused

Author: Jasper St. Pierre
Author Date: 2013-05-24 21:58:55 UTC

compositor: Add an API to query if the stage is focused

gnome-shell needs to know whether the stage window is focused so
it can synchronize between stage window focus and Clutter key actor
focus. Track all X windows, even those without MetaWindows, when
tracking the focus window, and add a compositor-level API to determine
when the stage is focused.

1100 of 113 results

Other repositories

Name Last Modified
lp:mutter 2018-09-21
lp:~vanvugt/mutter 2018-05-24
12 of 2 results
You can't create new repositories for Mutter.