summaryrefslogtreecommitdiff
path: root/data
Commit message (Collapse)AuthorAgeFilesLines
* Fix shortcut wordingAlexandre Franke2023-05-081-4/+4
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2982>
* build: Join keybindings path correctly tooJonas Ådahl2023-05-041-1/+1
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2985>
* build: Use / operator instead of join_paths everywhereJonas Ådahl2023-05-041-4/+4
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2985>
* Introduce the 'service channel' D-Bus serviceJonas Ådahl2023-02-131-0/+20
| | | | | | | | | | | | | | | | | | | | | | The service channel D-Bus interface aims to be a "back door" for services that needs special casing in Mutter, e.g. have custom private protocols only meant to be used by that particular service. There are currently no special casing implemented; only the basic service channel infrastructure is added. There is a single method on the interface, that is meant to eventually be used by xdg-desktop-portal-gnome to open a Wayland connection with a private protocol needed for the portal backend's rather special window management needs. The service channel Wayland client works by allowing one instance of each "type", where each time needs to be defined to work in parallel. If a new service client connects, the old one will be disconnected. MetaWaylandClient's are used to manage the service clients, and are assigned the service client type. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2810>
* desktop: Remove obsolete desktop fileJake Dane2023-02-062-31/+0
| | | | | | | | The X-GNOME-Bugzilla-* entries in the desktop file were for use by bug-buddy, a GNOME 2 technology that's been gone for over a decade. These entries are obsolete and the desktop file can be removed. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2621>
* settings: Fix spelling of endiannessAnders Jonsson2023-01-291-3/+3
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2813>
* schemas: Consistently use child schemasFlorian Müllner2023-01-271-0/+1
| | | | | | | | | Currently subschemas in org.gnome.mutter are marked as child schemas, but subschemas in org.gnome.mutter.wayland are not. There's no harm with that, it's just nice to be consistent, and having schemas show up in `gsettings list-children` is a nice touch. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2809>
* schemas: Remove unused keysFlorian Müllner2023-01-271-19/+0
| | | | | | | Mutter's own tab popup implementation was removed almost a decade ago, about time to clean out the left-over settings. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2809>
* settings: Add Xwayland byte-swapped clientsOlivier Fourdan2023-01-171-0/+24
| | | | | | | | | | Recent versions of Xwayland can allow or disallow X11 clients from different endianess to connect. Add a setting to configure this feature from mutter, who spawns Xwayland. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2785>
* data/udev: Don't disable KMS modifiers on newer i915 systemsSameer Lattannavar2022-11-041-1/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | When modifiers are enabled on mutter on some of the older i915 systems observed Black-screen on 2nd monitor during multi-head use cases, upon debugging observed that disabling modifiers on these systems resolved the Black-screen issue:!1618. This issue depends whether we have enough DBuf space to provide required bandwidth for the userspace demands. Those platforms which have less Display Buffer, will just have more chance to face lack of it. However it still depends on various factors like amount of planes(i.e the more planes we have, the more we divide the buffer), refresh rate, bpp and so on. This affects watermark calculations and the minimum blocks required for at least wm level 0. If we don't have sufficient ddb at least for wm0 for all planes in the configuration then it is rejected. Until we have TEST_ONLY commit solution is built we could make sure to disable modifiers support on these older i915 systems based on udev rules defined in this commit. This commit makes sure that modifiers are still usable on latest i915 systems. List of PCI-IDs are referred from: https://gitlab.freedesktop.org/mesa/mesa/-/blob/f8bf2a9a15d2572974448ed67a282f195d490323/include/pci_ids/iris_pci_ids.h Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/1618 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2641>
* udev-rules: Disable sending modifiers to clients with amdgpuMichel Dänzer2022-09-221-0/+1
| | | | | | | | | | | ATM sending modifiers to clients prevents direct scanout for DRI3 clients via Xwayland. Xwayland using the dma-buf feedback v4 Wayland protocol will solve that, but that might take a while yet to appear in the wild. Once that happens, this can be reverted. Direct scanout still works for native Wayland clients as well. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2637>
* backends: Expose InputMapping D-Bus path to determine tablet mappingCarlos Garnacho2022-09-021-0/+19
| | | | | | | | | | | | | | | Currently, the peripheral "output" setting will be unset if Mutter is deciding automatically the mapped output of a tablet device. In that case, gnome-control-center will have a hard time figuring out itself the better output to show the tablet calibration UI, unless it's hand held by Mutter. Add this private D-Bus interface so that gnome-control-center can look up the output as determined by Mutter to bring the missing harmony between both. This interface consists of a simple method to get the mapped output for a input device node. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2605>
* color-manager: Add API to set brightnessJonas Ådahl2022-09-011-0/+5
| | | | | | | | | It uses the org.gnome.SettingsDaemon.Power.Screen D-Bus API. Currently brightness set if the proxy is not ready are ignored; whether the brightness value should be cached and set once it appears or whether color profiles should be reapplied is yet to be decided. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2165>
* color-manager: Set up a D-Bus proxy to org.gnome.SettingsDaemon.ColorJonas Ådahl2022-09-011-0/+7
| | | | | | | | | | | gsd-color provides this API, which exposes details about the night light state. Currently, gsd-color also turns this state into CRTC gamma changes, but this will eventually change, and this is a preparation for this. The proxy isn't yet used for anything. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2164>
* screen-cast-stream: Embed the wayland output name to streamsSalman Malik2022-08-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | If a screencast session is screencasting from multiple monitors, it is not possible to distinguish which stream (or PipeWire stream node id) belongs to which connected monitor (such information may be useful to the caller e.g. caller might want to embed the stream in a window and name it after the monitor connector, for example). This change adds optional metadata for monitor streams to also return the wayland output name with the stream. Ideally, this metadata should equip the caller to get more information about display from the following Wayland interfaces: https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_output https://wayland.app/protocols/xdg-output-unstable-v1 Related: - https://github.com/flatpak/xdg-desktop-portal/pull/832 - https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/merge_requests/48 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2540>
* monitor-manager: Add NightLightSupported property to DisplayConfigJonas Ådahl2022-05-171-0/+7
| | | | | | | This checks whether it's possible to set a CRTC GAMMA_LUT, which is what is necessary to implement night light. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2310>
* backend/native: Only disable dmabuf screen cast when not hw acceleratedJonas Ådahl2022-02-071-7/+1
| | | | | | | | | | | | | | We now only enable DMA buffer based PipeWire screen casting if a format/modifier has been negotiated. This practically means a consumer is aware about what is needed, and we should not try to predict that it uses the DMA buffer the right way (i.e. not mmap:ing directly). However, in case we're not hardware accelerated, we never want to attempt to use DMA buffer screen sharing, as we want to avoid compositing into a DMA buffer on such hardware as doing so can be very slow. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2086>
* xwayland: Use Xwayland auto-terminate featureOlivier Fourdan2022-01-261-2/+2
| | | | | | | | | | | | When using Xwayland-on-demand (default), if the (experimental) autoclose features is enabled, we can rely on Xwayland's auto-terminate feature instead of explicitly killing the Xwayland process. With it, gone is the mechanism that was added to check the X11 clients connected and their executable to check whether we can (safely) kill Xwayland. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1794>
* monitor-config-store: Allow changing D-Bus configuration policyJonas Ådahl2022-01-251-0/+7
| | | | | | | | | | | | | | | | | Adding a <dbus/> element containing a boolean (yes/no) determines whether org.gnome.Mutter.DisplayConfig ApplyMonitorsConfig will be callable. The state is also introspectable via the ApplyMonitorsConfigAllowed property on the same interface. For example <monitors version="2"> <policy> <dbus>no</dbus> </policy> </monitors> Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2030>
* remote-desktop: Unify codestyle in APIPascal Nowack2022-01-251-67/+69
| | | | | | | | | | | | | The code style in the remote-desktop API is currently a mess. While, the overall code style in mutter and gnome-remote-desktop is to use spaces as tabulator, the remote-desktop API is mixed with both spaces as tabulators and actual tabulators. In addition to that, the code style in the XDG desktop portal APIs uses spaces as tabulators as well. To unify the code style, replace all actual tabulators with spaces. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2255>
* screencast: Unify codestyle in APIPascal Nowack2022-01-251-100/+101
| | | | | | | | | | | | | The code style in the screencast API is currently a mess. While, the overall code style in mutter and gnome-remote-desktop is to use spaces as tabulator, the remote-desktop API is mixed with both spaces as tabulators and actual tabulators. In addition to that, the code style in the XDG desktop portal APIs uses spaces as tabulators as well. To unify the code style, replace all actual tabulators with spaces. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2255>
* monitor-manager: Expose the privacy screen state on DBus current stateMarco Trevisan (Treviño)2022-01-251-0/+6
| | | | | | | Expose each monitor state as two booleans, not to expose the whole flags Related-to: GNOME/gnome-control-center#909 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1952>
* udev-rules: Only disable modifiers on i915Jonas Ådahl2022-01-051-3/+0
| | | | | | | | | | | | The only currently known issue with allocating scanout buffers with modifiers is memory constraints in multi head setups. Heuristics for handling that are not implemented, but since it doesn't apply to anything but i915, remove the other drivers from the deny list. The other drivers had modifiers disabled to marginally increase the chance of becoming scanout-able when allocated by Xwayland. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2146>
* gschema: Make 'kms-modifiers' only about scanout buffersJonas Ådahl2022-01-051-4/+4
| | | | | | | It's not used to determine what we send to Wayland clients anymore, it does so by default. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2146>
* wayland/dma-buf: Prepare format/modifier map up frontJonas Ådahl2022-01-051-1/+1
| | | | | | | | As the format table is setup up front, it doesn't change when this experimental feature setting change. Make the settings documentation reflect that. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1959>
* ScreenCast: Allow recording new streams on active sessionsJonas Ådahl2021-12-071-0/+8
| | | | | | | This is useful if you have a session, and want to "hot-plug" new sources over time; there is no point in having to create separate sessions for this. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2131>
* Move D-Bus interface files to dedicated directoryJonas Ådahl2021-12-078-0/+1172
| | | | | | Place the XML files in data/dbus-interfaces. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2126>
* gschema: Turn experimental features into flagsRobert Mader2021-10-261-1/+11
| | | | | | | | | | | | Defining valid values makes 1. changing settings less error prone 2. sure they are discoverable. This does reset the values once on update, but fortunately does *not* change the way to set the values. Thus e.g. enabling fractional scaling via terminal command still works as before and internet guides stay valid. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1961>
* gschema: Add "kms-modifiers" experimental feature descriptionRobert Mader2021-10-261-1/+6
| | | | | | To make it more discoverable. While on it, fix a typo. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1961>
* backends/native: Use rtkit to get realtime priorityCarlos Garnacho2021-10-221-3/+1
| | | | | | | | Instead of using sched_setscheduler directly (and relying that we somehow got CAP_SYS_NICE), use rtkit to do this for us. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2284 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060>
* data: Stop exposing old panel-main-menu shortcutFlorian Müllner2021-08-301-2/+0
| | | | | | | | | There hasn't been a "panel main menu" for ten years now, and gnome-shell already exports a 'toggle-overview' shortcut for the GNOME 3 replacement. https://discourse.gnome.org/t/difference-between-show-the-overview-and-show-the-activities-overview-keyboard-shortcuts/6572 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1886>
* build: Stop using source_root()/build_root()Florian Müllner2021-08-221-1/+1
| | | | | | They were deprecated in meson 0.56. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1957>
* udev-rules: Use ID_PATH to detect vkmsJonas Ådahl2021-06-091-1/+1
| | | | | | | | Matching against the driver doesn't seem to work, and isn't showing in udevadm info. Switch to checking ID_PATH; hopefully it won't change too often. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1892>
* backends/native: Disable KMS modifiers on "radeon" driverCarlos Garnacho2021-05-191-0/+1
| | | | | | | | This is a driver for old AMD/ATI GPUs and doesn't seem to support modifiers. Tag this driver as not having support for KMS modifiers. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1960937 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1872>
* meson: Add udev_dir optionMichel Dänzer2021-05-041-1/+1
| | | | | | | Same as in gnome-settings-daemon, allows overriding where to install udev rules files. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1844>
* backend/native: Add udev rule to ignore vkms devicesJonas Ådahl2021-04-301-0/+1
| | | | | | | | | | | | | | | | | | | | | Virtual Kernel Mode Setting (vkms) is a virtual /dev/dri/card* device not backed by any actual hardware. It's intended for testing purposes, e.g. to run tests suites with a reproducable setup, or in continuous integration pipelines. Currently mutter don't have any tests that can run on top of vkms, but will eventually get that. To prepare for the ability to do that, and having said kernel module loaded without causing wierd issues with any active session, add an udev rule that tells mutter to ignore any vkms device. Otherwise, when vkms is loaded, mutter would detect it, assume it's a regular monitor, configure it as such, thus add a region of the stage that ends up nowhere, which isn't very helpful. It might also conflict with running actual tests that need to interact with vkms if the active session has taken control of it. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1740>
* data: Add back (hidden) shortcuts for vertical navigationFlorian Müllner2021-04-151-0/+16
| | | | | | | | | | | | | | | Users who customized their workspace shortcuts before updating to GNOME 40 are experiencing troubles when trying to use the same keybinding for the horizontal shortcuts, because of hidden conflicts with the vertical ones. We can address this by registering the old shortcuts with Settings without showing them in the UI, so that they are taken into account by Settings' conflict resolution. https://gitlab.gnome.org/GNOME/mutter/-/issues/1740 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1814>
* backend/native: Disable KMS modifiers for amdgpu and nouveau as wellJonas Ådahl2021-04-141-0/+2
| | | | | | | | | Lets wait until we have better ways to unredirect client buffers before we start enabling KMS modifiers for amdgpu and nouveau; we end up with mismatch between client buffer modifiers and primary plane modifier, which right now needs to be the same for unredirection. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1792>
* backend/native: Only disable KMS modifiers for i915Jonas Ådahl2021-04-141-1/+1
| | | | | | | | | | | | | | | | | | | The intel DRM driver is known for not being able to handle multi head setups when KMS modifiers are enabled, due to the implicitly selected modifiers, while being more suitable for single head setups, cause bandwidth issues when a certain number of monitor times resolution and refresh rate is configured. We don't yet support automatically finding a combination of modifiers that work, and have because of this disabled KMS modifiers unless the driver actually needs it. Lets flip this configuration the other way around, changing the current udev rule to decide wen to *disable* KMS modifier support, as it so that only the Intel driver has this problem, while on the other hand, there several drivers that requires modifiers to function at all. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1792>
* data: Updated exposed keybindingsFlorian Müllner2021-02-041-8/+8
| | | | | | | | Workspaces were changed to a horizontal layout, so we should show the keybindings for horizontal navigation in Settings instead of the vertical ones. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1706>
* gschema: Fix capitalization of autoclose-xwayland optionBjörn Daase2021-02-011-1/+1
| | | | Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1696>
* xwayland: Enable Xwayland on demand by defaultOlivier Fourdan2021-01-191-3/+0
| | | | | | | Make "Xwayland on demand" the default policy when Xwayland supports "initfd" and remove the corresponding experimental feature. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1673>
* xwayland: Make autoclose-xwayland an exp. featureOlivier Fourdan2021-01-191-0/+5
| | | | | | | | | | | | | Closing automatically Xwayland once all relevant X11 clients are gone is inherently racy, if a new client comes along right at the time we're killing Xwayland. Fixing the possible race conditions between mutter, Xwayland and the X11 clients may take some time. Meanwhile, make that an experimental feature "autoclose-xwayland". Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1673>
* gschema: Add missing summaries for toggle-tiled-left/toggle-tiled-rightIan Douglas Scott2020-11-181-0/+2
| | | | | | Wording copied from `data/50-mutter-windows.xml`. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1573>
* gschema/wayland: Do not disable the X Security extensionOlivier Fourdan2020-10-091-1/+1
| | | | | | | If Xwayland was built with the X Security extension enabled, it should be safe to use, there is no need to disable it by default from mutter. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1485
* gschema: really use line breaks in schemaOlivier Fourdan2020-10-081-3/+3
| | | | | | | | The newline character `\n` in the schema does not produce a new line. Use a newline instead. fixes: dbe44f3a83e6a6bdc611bb298e3781a0aebbbd7b https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1483
* gschema: Force one bullet point per lineBjörn Daase2020-10-081-0/+3
| | | | https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1481
* gschema: list experimental dma-buf-screen-sharing featureBjörn Daase2020-10-081-0/+4
| | | | | | | The key was added in https://gitlab.gnome.org/GNOME/mutter/-/commit/af9df1e5b62b253e5f1d5f6eff89e45e3bed81b3 but not added to the list due to the string freeze. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1481
* gschema: Make "Requires a restart." strings consistentBjörn Daase2020-10-071-1/+1
| | | | https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1481
* backends: force enable modifiers on tagged devicesKarol Herbst2020-09-282-0/+7
| | | | | | | | | | | Some devices can't scanout to linear buffers directly as the hw is not capable of eg rendering into a linear depth buffer. Add code to force kms-modifiers on udev taged devices. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1408 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1443