mutter/src/core
Jonas Ådahl 9a2c8b2592 window: Add suspend state
The 'suspend state' is meant to track whether a window is likely to be
visible any time soon. The hueristics for this are as follows:

 * If a window is hidden, it will enter the 'hidden' state.
 * If a window is visible, and unobscured, it will enter the 'active'
   state.
 * If a window is visible, but obscured by another window, it will enter
   the 'hidden' state.
 * If there is a mapped clone of a window, it will enter the 'active'
   state.
 * If the window has been in the 'hidden' state for 3 seconds, it will
   enter the 'suspended' state.

This will eventually be communicated to Wayland clients so that they can
change their behaviour to e.g. save power.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3019>
2023-08-24 19:57:58 +00:00
..
bell.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
bell.h frame: Remove flashing support 2019-03-12 00:27:07 +00:00
boxes-private.h Remove unused meta_rectangle_edge_to_string 2023-08-12 19:53:46 +00:00
boxes.c Remove unused meta_rectangle_edge_to_string 2023-08-12 19:53:46 +00:00
constraints.c constraint: Use WxH format for size in debug logs 2023-08-12 21:11:15 +00:00
constraints.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
delete.c core/delete: Avoid warnings when there is no close dialog 2023-01-30 13:17:19 +00:00
display-private.h compositor: Handle grab state through ClutterStage::is-grabbed handler 2023-08-16 15:34:46 +00:00
display.c window: Postpone focusing until grab ended if uninteractable 2023-08-16 15:34:46 +00:00
events.c compositor: Handle grab state through ClutterStage::is-grabbed handler 2023-08-16 15:34:46 +00:00
events.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
frame.c core: Destroy the correct opaque region when destroying a frame 2023-08-17 00:00:55 +02:00
frame.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
keybindings-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
keybindings.c core: Use ClutterEvent getter methods 2023-08-08 04:11:11 +02:00
meta-accel-parse.c core: Replace MetaVirtualModifier 2022-12-22 15:13:54 +01:00
meta-accel-parse.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-anonymous-file.c Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-anonymous-file.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-clipboard-manager.c core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-clipboard-manager.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-close-dialog.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-context-main.c context: Fix a small leak in meta_context_main_get_x11_display_policy() 2023-08-16 21:24:28 +02:00
meta-context-main.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-context-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-context.c cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
meta-fraction.c Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-fraction.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-gesture-tracker-private.h core: Pass ClutterStage explicitly to MetaGestureTracker 2023-08-08 04:02:54 +02:00
meta-gesture-tracker.c core: Use ClutterEvent getter methods 2023-08-08 04:11:11 +02:00
meta-inhibit-shortcuts-dialog-default-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-inhibit-shortcuts-dialog-default.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-inhibit-shortcuts-dialog.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-launch-context.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-pad-action-mapper.c core: Use ClutterEvent getter methods 2023-08-08 04:11:11 +02:00
meta-pad-action-mapper.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-private-enums.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-profiler.c profiler: Actually free ThreadInfo when a thread unregisters 2023-06-14 23:54:41 +03:00
meta-profiler.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-selection-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-selection-source-memory.c core: Fix task leak in meta_selection_source_memory_read_async 2020-02-01 14:02:19 +00:00
meta-selection-source-remote.c remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-selection-source-remote.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-selection-source.c Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection.c core/selection: Set display on creation 2022-12-17 16:47:46 +01:00
meta-service-channel.c Introduce the 'service channel' D-Bus service 2023-02-13 15:34:24 +00:00
meta-service-channel.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-sound-player.c sound player: Don't unref undefined fields 2022-11-23 10:37:19 +01:00
meta-workspace-manager-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-workspace-manager.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
mutter.c mutter: Raise the NOFILE limit if a Wayland compositor 2022-02-07 16:11:47 +01:00
place.c compositor: Mirror window placement in RTL environment 2023-06-22 13:59:24 +00:00
place.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
prefs-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
prefs.c cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
restart-helper.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
restart.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
stack-tracker.c mutter: Cleanup gi-docgen annotations 2023-05-22 15:47:37 +00:00
stack-tracker.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
stack.c Remove unused meta_stack_get_bottom 2023-08-12 19:53:46 +00:00
stack.h Remove unused meta_stack_get_bottom 2023-08-12 19:53:46 +00:00
startup-notification-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
startup-notification.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
util-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
util.c backends/eis: Hook eis into the debug system 2023-07-14 22:23:45 +00:00
window-private.h window: Add suspend state 2023-08-24 19:57:58 +00:00
window.c window: Add suspend state 2023-08-24 19:57:58 +00:00
workspace-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
workspace.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00