mutter/src/backends
Hans de Goede ec18a559c6 monitor-manager: Ignore tablet-mode-switch on initial config of native portrait mode panels
Many tablets have a native portrait mode panel, yet come with a keyboard dock,
where the device gets docked in landscape mode. To avoid the display being
on its side when mutter starts while the tablet is docked, we need to take
the accelerometer reported orientation into account even if there is a
tablet-mode-switch which indicates that the device is NOT in tablet-mode
(because it is docked).

Add special handling for the first time the "orientation-changed"
signal gets signalled by the orientation-manager, which happens after it
has successfully claimed the accelerometer with iio-sensor-proxy.

The added special handling of the initial "orientation-changed" signal
does a number of checks:

1. panel_orientation_managed is false because of the tablet-mode-switch and not
   because of other reasons.

2. The device has a native portrait mode panel (and thus likely needs rotation
   to display the image the right way up when docked).

If all these checks succeed then it continues with creating a new
monitors-config based on the orientation ignoring the panel_orientation_managed
value (for the initial/first "orientation-changed" signal only).

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1506
2020-10-18 21:35:10 +00:00
..
native seat-native: Add support for tablet-mode-switch being hot-unplugged 2020-10-18 21:35:09 +00:00
x11 cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
edid-parse.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
edid.h edid: Remove unused declarations 2014-09-12 11:55:08 -06:00
gsm-inhibitor-flag.h idle-monitor: Take idle inhibition into account 2018-04-16 13:28:03 +02:00
meta-backend-private.h backend: Don't pull generated headers (indirectly) 2020-10-06 16:16:21 +00:00
meta-backend-types.h backend: Don't pull generated headers (indirectly) 2020-10-06 16:16:21 +00:00
meta-backend.c backend: Use new clutter_seat_has_touchscreen helper 2020-10-18 21:35:08 +00:00
meta-barrier-private.h Use G_DECLARE_DERIVABLE/FINAL_TYPE on some types 2018-12-21 19:48:50 +00:00
meta-barrier.c barriers: Free backend implementation at dispose time 2020-09-27 00:38:58 -04:00
meta-crtc-mode.c crtc-kms: Make KMS CRTC mode a type inheriting MetaCrtcMode 2020-06-11 09:20:16 +00:00
meta-crtc-mode.h crtc-kms: Make KMS CRTC mode a type inheriting MetaCrtcMode 2020-06-11 09:20:16 +00:00
meta-crtc.c crtc: Move out MetaCrtcMode into its own file 2020-06-10 18:54:51 +00:00
meta-crtc.h crtc: Move out MetaCrtcMode into its own file 2020-06-10 18:54:51 +00:00
meta-cursor-renderer.c cursor-renderer: Disconnect the overlay cursor from the displayed cursor 2020-08-05 11:11:38 +02:00
meta-cursor-renderer.h cursor-renderer: Disconnect the overlay cursor from the displayed cursor 2020-08-05 11:11:38 +02:00
meta-cursor-sprite-xcursor.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-cursor-sprite-xcursor.h cursor-renderer: Fetch instead of pass Xcursor image when realizing 2018-06-15 19:09:52 +00:00
meta-cursor-tracker-private.h backends: Drop unused function 2020-09-23 16:32:02 +02:00
meta-cursor-tracker.c backends: Use graphene_point_t on meta_cursor_tracker_get_pointer() 2020-10-06 21:33:10 +02:00
meta-cursor.c cursor-sprite: Don't NULL check realize_texture() vfunc 2020-08-05 11:11:38 +02:00
meta-cursor.h cursor-sprite: Add API to get dimension 2020-03-26 16:18:28 +00:00
meta-dbus-session-watcher.c dbus-session-watcher: Chain up to parent finalize() 2019-10-14 09:09:01 +02:00
meta-dbus-session-watcher.h Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-display-config-shared.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-dnd-private.h compositor: Move out X11 compositing code into sub type 2019-08-19 08:44:58 +00:00
meta-egl-ext.h EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-egl.c EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-egl.h EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-gles3-table.h backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gles3.c Fix const qualifier usage 2019-01-22 18:31:53 +01:00
meta-gles3.h Fix const qualifier usage 2019-01-22 18:31:53 +01:00
meta-gpu.c output: Move output info to MetaOutputInfo struct 2020-06-10 18:54:50 +00:00
meta-gpu.h backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-idle-monitor-dbus.c Make meta_* logging utilities not require line break 2020-10-08 16:38:41 +02:00
meta-idle-monitor-dbus.h Start molding out a new src/backends/ dir 2014-03-31 22:11:00 -04:00
meta-idle-monitor-private.h backends: Do not use device IDs on idle monitors 2020-01-30 18:11:23 +01:00
meta-idle-monitor.c backends: Drop meta_idle_monitor_get_for_device() 2020-02-12 22:07:55 +00:00
meta-input-device-private.h backends: Add MetaInputDevice derivable class 2020-03-24 18:07:31 +00:00
meta-input-device.c backends: move 'input_device' to HAVE_LIBWACOM scope 2020-05-03 23:35:03 +01:00
meta-input-mapper-private.h backends: Check both input settings and mapper for tablet monitors 2020-03-25 19:09:32 +00:00
meta-input-mapper.c input-mapper: Don't match touchscreens to the absence of a monitor 2020-09-14 17:31:32 +00:00
meta-input-settings-private.h backends: add support for scroll button locking 2020-10-14 16:02:29 +00:00
meta-input-settings.c backends: add support for scroll button locking 2020-10-14 16:02:29 +00:00
meta-keymap-utils.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-keymap-utils.h compositor: use XDG_CONFIG_HOME as initial lookup path for xkb 2020-06-08 11:29:30 +00:00
meta-logical-monitor.c crtc: Move MetaCrtcConfig field to instance private 2020-06-10 18:54:50 +00:00
meta-logical-monitor.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-monitor-config-manager.c monitor-manager: Set switch config when create monitors config 2020-08-13 20:11:15 +00:00
meta-monitor-config-manager.h monitor-manager: Rename *Info structs to *Assignment 2020-06-10 18:54:50 +00:00
meta-monitor-config-migration.c monitor-config-migration: Discard if configured mode is missing 2017-10-04 09:45:02 -04:00
meta-monitor-config-migration.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
meta-monitor-config-store.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-monitor-config-store.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
meta-monitor-manager-dummy.c Make meta_* logging utilities not require line break 2020-10-08 16:38:41 +02:00
meta-monitor-manager-dummy.h crtc: Make implementations inherit MetaCrtc 2020-06-10 18:54:51 +00:00
meta-monitor-manager-private.h backends: Hook ClutterSeat::touch-mode to PanelOrientationManaged 2020-09-05 07:25:02 +00:00
meta-monitor-manager.c monitor-manager: Ignore tablet-mode-switch on initial config of native portrait mode panels 2020-10-18 21:35:10 +00:00
meta-monitor-transform.c monitor-transform: Add API to transform point 2020-03-26 16:18:28 +00:00
meta-monitor-transform.h crtc: Move all_transforms field into instance private 2020-06-10 18:54:50 +00:00
meta-monitor.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-monitor.h crtc: Move logical monitor pointer to MetaMonitor 2020-02-25 18:39:51 +01:00
meta-orientation-manager.c backends: Add method/property to get accelerometer availability 2020-09-05 07:25:02 +00:00
meta-orientation-manager.h backends: Add method/property to get accelerometer availability 2020-09-05 07:25:02 +00:00
meta-output.c output: Make implementations inherit MetaOutput 2020-06-10 18:54:51 +00:00
meta-output.h output: Make implementations inherit MetaOutput 2020-06-10 18:54:51 +00:00
meta-pointer-constraint.c Add some gtk-doc comments. 2019-01-06 21:57:16 +01:00
meta-pointer-constraint.h Add some gtk-doc comments. 2019-01-06 21:57:16 +01:00
meta-profiler.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-profiler.h profile: Add a Sysprof-based profiler 2019-05-31 11:57:07 -03:00
meta-remote-access-controller-private.h remote-access-controller: Allow inhibiting remote access 2020-04-27 14:31:06 +00:00
meta-remote-access-controller.c remote-access-handle: Add 'is-recording' property 2020-07-31 10:41:38 +02:00
meta-remote-desktop-session.c remote-desktop: Check for screencast only when required 2020-06-29 16:41:51 +00:00
meta-remote-desktop-session.h Add remote access controller API 2018-07-20 16:49:49 +02:00
meta-remote-desktop.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-remote-desktop.h remote-access-controller: Allow inhibiting remote access 2020-04-27 14:31:06 +00:00
meta-renderer-view.c renderer-view: Use graphene APIs 2020-10-06 15:34:48 +00:00
meta-renderer-view.h renderer-view: Keep track of what CRTC it is associated with 2020-07-02 19:36:50 +02:00
meta-renderer.c stage-view: Add clutter_stage_view_destroy() 2020-08-13 06:34:04 +00:00
meta-renderer.h clutter: Paint views with individual frame clocks 2020-07-02 19:36:51 +02:00
meta-screen-cast-area-stream-src.c screen-cast/area-src: Clear framebuffer before painting stage 2020-09-30 15:56:07 +00:00
meta-screen-cast-area-stream-src.h screen-cast: Add RecordArea for screen cast arbitrary area 2020-04-23 14:45:53 +00:00
meta-screen-cast-area-stream.c screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-area-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-monitor-stream-src.c stream: Remove cursor if it's invisible 2020-09-01 13:05:29 -03:00
meta-screen-cast-monitor-stream-src.h ScreenCast: Pass PipeWire stream node ID directly 2017-08-29 14:39:04 +08:00
meta-screen-cast-monitor-stream.c screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-monitor-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-session.c remote-access-handle: Add 'is-recording' property 2020-07-31 10:41:38 +02:00
meta-screen-cast-session.h screen-cast-session: Add 'disable-animations' property 2020-02-20 10:40:42 +00:00
meta-screen-cast-stream-src.c cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
meta-screen-cast-stream-src.h screen-cast: Track and always record cursors 2020-08-05 11:11:38 +02:00
meta-screen-cast-stream.c screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-window-stream-src.c stream: Remove cursor if it's invisible 2020-09-01 13:05:29 -03:00
meta-screen-cast-window-stream-src.h screen-cast-session: Add screen-cast window mode 2018-12-14 13:26:16 +01:00
meta-screen-cast-window-stream.c screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-window-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-window.c window-stream-source: Draw into DMA buffer image 2020-02-28 15:52:19 -03:00
meta-screen-cast-window.h window-stream-source: Draw into DMA buffer image 2020-02-28 15:52:19 -03:00
meta-screen-cast.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-screen-cast.h screen-cast: Disable DMA buffer based screen casting for QXL 2020-08-29 10:32:20 +00:00
meta-settings-private.h screen-cast: Add 'dma-buf-screen-sharing' experimental feature 2020-09-14 16:33:16 +00:00
meta-settings.c screen-cast: Add 'dma-buf-screen-sharing' experimental feature 2020-09-14 16:33:16 +00:00
meta-stage-private.h cursor-renderer: Always keep the cursor overlay on the stage 2020-08-05 11:11:38 +02:00
meta-stage.c backends: Do not use stack-allocated ClutterEvents 2020-09-30 18:26:20 +00:00