summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* input-mapper: Don't match touchscreens to the absence of a monitorwip/smcv/issue1414Simon McVittie2020-09-141-1/+6
| | | | | | | | | If there is no laptop panel (for example on a desktop PC or a virtual machine), attempting to put a NULL monitor in the list of matches will just make mapping_helper_apply() crash. Mitigates: https://gitlab.gnome.org/GNOME/mutter/-/issues/1414 Signed-off-by: Simon McVittie <smcv@debian.org>
* screen-cast: Add 'dma-buf-screen-sharing' experimental featureJonas Ådahl2020-09-143-0/+8
| | | | | | | | | It's enabled by default when using the i915 driver, but disabled everywhere else until it can be made reliably an improvement. Until then, for anyone want to force-enable it, add the string 'dma-buf-screen-sharing' to the experimental features list in GSettings. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1442
* screen-cast: Enable DMA buffers only for i915Jonas Ådahl2020-09-141-11/+8
| | | | | | | | | | | Seems DMA buffer based interprocess buffer sharing is more broken than not, so for now only enable it when using the i915 driver. For example vmwgfx, qxl and radeon, it results in mmap() failing to mmap the memory region. Other drivers, e.g. amdgpu will function, but may hit very slow memory download paths, resulting in worse performance. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1442
* cogl/renderer: Set error in dmabuf constructor fallbackJonas Ådahl2020-09-141-0/+4
| | | | | | | | When the CoglRenderer didn't set the DMA buffer constructor vfunc, we return NULL. What we didn't do was set the error, meaning the caller would crash if it tried to look up why DMA buffer construction failed. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1430
* Update Latvian translationRūdolfs Mazurs2020-09-121-93/+126
|
* Update British English translationBruce Cowan2020-09-111-53/+102
|
* Update Italian translationMilo Casagrande2020-09-101-42/+59
|
* Update German translationTim Sabsch2020-09-091-46/+62
|
* Update Hungarian translationBalázs Meskó2020-09-071-42/+80
|
* Update Catalan translationGil Forcada2020-09-071-89/+116
|
* Update Swedish translationAnders Jonsson2020-09-061-40/+56
|
* Bump version to 3.37.923.37.92Florian Müllner2020-09-052-1/+33
| | | | Update NEWS.
* backends: Hook ClutterSeat::touch-mode to PanelOrientationManagedCarlos Garnacho2020-09-053-1/+25
| | | | | | | | We only want the panel autorotation to happen if the laptop has an accelerometer, and is in tablet mode. Regular laptop mode should lock the orientation, and let it be configured manually. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1311
* backends: Check panel autorotation state before applying autorotationCarlos Garnacho2020-09-051-0/+3
| | | | | | | | | | So far, we've expected this signal to not happen whenever autorotation shouldn't apply (no accelerometer is a strong reason). In future commits we'll add further checks to this policy, so prevent autorotation to change the display configuration if the MetaOrientationManager signal happens but it should be ignored. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1311
* backends: Centralize panel autorotation in a DisplayConfig propertyCarlos Garnacho2020-09-054-0/+62
| | | | | | | | | | | | Instead of having everyone check net.hadess.SensorProxy themselves, have this all controlled by the MetaOrientationManager, and proxied everywhere else via a readonly property in org.gnome.Mutter.DisplayConfig. We want to attach more complex policies here, and it seems better to centralize the handling of the autorotation feature rather than implementing policy changes all over the place. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1311
* backends: Add method/property to get accelerometer availabilityCarlos Garnacho2020-09-052-6/+63
| | | | https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1311
* backends/input-mapper: Add some g_debug() traces to MetaInputMapperCarlos Garnacho2020-09-041-0/+10
| | | | | | | Add some debug statements to mapping_helper_apply(), enough to work out the heuristic decisions that were taken. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1202
* backends/input-mapper: Implement score mechanism to assign the most relevant ↵Carlos Garnacho2020-09-041-65/+73
| | | | | | | | | | | | | | | | | | | | | | | | output We used to pick the "best" output for each builtin/size/edid categories, and then pick the "best" (in that order) of those for each input device. This is most often enough, but is prone to wrong results in some corner cases (eg. 2 outputs with the exact same dimensions). Change this to a score mechanism that doesn't leave outputs out. The weights are the same, but the score is accumulated if an output matches multiple categories. All outputs are evaluated and sorted by score, and input devices with the best matches are applied first (as they already did). This should break the tie if eg. there's 2 outputs with similar dimensions, but one of them has some EDID match in addition. The output with multiple matches will score higher up, while it might have been entirely discarded with the previous implementation. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1175 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1202
* backends: Allow integrated tablet devices to cycle outputsCarlos Garnacho2020-09-041-5/+9
| | | | | | | | | | | | | | | | | The work at https://gitlab.gnome.org/GNOME/gnome-control-center/issues/239 intended to make integrated devices optionally mappable to other outputs (in order to allow fix mishandling from our heuristics, or to quickly reach things in other monitor without changing devices). This was missed in that plan, we do allow cycling outputs, but we still did prevent it from doing anything for integrated devices. Fix that, and change output cycling so we don't allow a "NULL" EDID for integrated devices, this makes those go through the MetaInputMapper (resulting in one output listed twice), instead of mapping to the full stage. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1186 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1201
* Update Turkish translationEmin Tufan Çetin2020-09-041-21/+37
|
* Mark broken markup in Telugu translation as fuzzyAndre Klapper2020-09-031-0/+3
|
* Mark broken markup in Uyghur translation as fuzzyAndre Klapper2020-09-031-0/+1
|
* Mark broken markup in Oriya translation as fuzzyAndre Klapper2020-09-031-0/+1
|
* Fix broken markup in Oriya translationAndre Klapper2020-09-031-1/+1
|
* Update French translationClaude Paroz2020-09-031-27/+45
|
* Update Croatian translationGoran Vidović2020-09-011-22/+38
|
* Updated Lithuanian translationAurimas Černius2020-09-011-41/+36
|
* Update Galician translationFran Dieguez2020-09-011-44/+39
|
* stream: Remove cursor if it's invisibleGeorges Basile Stavracas Neto2020-09-013-3/+12
| | | | | | | | | | The cursor tracker may give us a valid position, and a valid cursor sprite, and yet the cursor can be hidden, meaning we must hide the cursor on the stream as well. Remove cursor from stream buffer if it's hidden. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* build: Bump libgbm requirementGeorges Basile Stavracas Neto2020-09-011-1/+1
| | | | | | | Mutter is already using functions that depend on newer versions of libgbm. Formalize this by bumping the required version. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* monitor-stream-src: Add before-paint watch to catch scanoutsGeorges Basile Stavracas Neto2020-09-011-0/+22
| | | | | | | | | | | | Scanouts are taken away after painting. However, when we're streaming, what we actually want is to capture whatever is going to end up on screen - and that includes the scanout if there's any. Add a before-paint watch that only records new frames if a scanout is set. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* monitor-stream-src: Generalize functionGeorges Basile Stavracas Neto2020-09-011-7/+10
| | | | | | | | We'll need to pass a custom callback to the stage views watcher. Generalize and rename the add_view_painted_watches() function to allow accepting custom callbacks. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* meta/stage: Process BEFORE_PAINT watchers at ClutterStage.before_paintGeorges Basile Stavracas Neto2020-09-011-3/+11
| | | | | | | This way, watches can properly get notified about before-paint without having to connect to the corresponding signal. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* clutter/stage: Add new before_paint signal hookGeorges Basile Stavracas Neto2020-09-012-1/+4
| | | | | | | | | It'll allow subclasses to get notified of the before-paint signal without having to connect to it. This will allow MetaStage to have proper watches being fired there without the cost of the signal handling machinery. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* monitor-stream-src: Blit scanout when availableGeorges Basile Stavracas Neto2020-09-011-10/+22
| | | | | | | | | | | When there's a direct scanout set in the stage view, we have to use it instead of the view's regular onscreen framebuffer. Use the new CoglScanout API to implement blitting to the stream framebuffer. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* clutter/stage-view: Add method to peek scanoutGeorges Basile Stavracas Neto2020-09-012-0/+15
| | | | https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* cogl/scanout: Allow blitting to framebufferGeorges Basile Stavracas Neto2020-09-013-0/+165
| | | | | | | | | | | This will be used when screencasting monitors so that if there's scanout in place, it'll still be possible to blit it to a PipeWire-owned framebuffer, and stream it. Add a new 'blit_to_framebuffer' vfunc to CoglScanout, and implement it in MetaDrmBufferGbm. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* backends/native: Move pixel format helper to separate fileGeorges Basile Stavracas Neto2020-09-014-75/+132
| | | | | | | | | | The pixel format helper will be reused by the next commits, and it doesn't make sense to simply expose it as MetaRendererNative API. Move it to a separate file. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* renderer-native: Cleanup unused variableGeorges Basile Stavracas Neto2020-09-011-1/+0
| | | | https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* window-stream-src: Record a full frame on damageGeorges Basile Stavracas Neto2020-09-011-1/+1
| | | | | | | | | This is a regression introduced by 882967d3ce33c11b47e13527b0c08e9c5bbadcf2. When a window is damaged, we want to record the full frame, not a cursor-only frame. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1421
* Update Basque translationAsier Sarasua Garmendia2020-09-011-20/+32
|
* Czech translationMarek Černocký2020-09-011-22/+38
|
* Updated Spanish translationDaniel Mustieles2020-09-011-41/+36
|
* Update Friulian translationFabio Tomat2020-09-011-40/+57
|
* wayland: Drop Xwayland abstract socketCarlos Garnacho2020-08-312-63/+8
| | | | | | | | | This is unnecessary, and even counter productive with flatpak applications, as there is a bind mount between the application and the socket. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1289 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1424
* clutter/backends: Rename master and slave devicesFlorian Müllner2020-08-3116-136/+136
| | | | | | | | | | | Just because X11/XI uses a particular terminology doesn't mean we have to use the same terms in our own API. The replacement terms are in line with gtk@1c856a208, which seems a better precedent for consistency. Follow-up to commit 17417a82a5. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1425
* core/display: Remove obsolete typedefFlorian Müllner2020-08-311-1/+0
| | | | | | The corresponding type was replaced in 2001. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1425
* Updated Slovenian translationMatej Urbančič2020-08-311-20/+36
|
* shaped-texture: Add debug paint overlay for opaque regionsRobert Mader2020-08-311-0/+83
| | | | | | | | | | | | | | | | Using opaque painting paths can have a big impact on painting performance. In order to easily validate whether we use the opaque paths, add a opaque (green) or blended (purple) overlay over painted areas if the `META_DEBUG_PAINT_OPAQUE_REGION` `MetaDebugPaintFlag` is set. You can do so in `lg` via: `Meta.add_debug_paint_flag(Meta.DebugPaintFlag.OPAQUE_REGION)` This can be helpful for application developers, as previously it was not trivial to check whether e.g. Wayland or X11 opaque regions where properly set. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1372
* cogl/context: Add API to create named pipelinesRobert Mader2020-08-313-0/+65
| | | | | | | | | | In certain situations it's desirable to keep pipelines around for the whole lifetime of the session. In order to not leak them and properly clean them up on shutdown, introduce a new mechanism to create named pipelines that are bound to their correstponding context and may be used across file boundries. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1372