monitor-manager: Notify privacy screen changes on hotkey press

When privacy screen is changed and this happens on explicit user request
(that is not a setting change) we should notify about this via an OSD.

To perform this, we keep track of the reason that lead to a privacy
screen change, and when we record it we try to notify the user about.

When the hardware has not an explicit hotkey signal but we record a
change we must still fallback to this case.
15 jobs for !1952 with eprivacy-support in 18 minutes and 21 seconds (queued for 6 seconds)
detached
Status Name Job ID Coverage
  Review
passed check-commit-log #1556586

00:01:30

passed check-merge-request #1556587

00:00:42

 
  Prepare
passed build-fedora-container@aarch64 #1556589
aarch64

00:00:26

passed build-fedora-container@x86_64 #1556588

00:01:08

 
  Code Review
failed check-code-style #1556590
allowed to fail

00:01:05

 
  Build
passed build-mutter@aarch64 #1556592
aarch64

00:07:59

passed build-mutter@x86_64 #1556591

00:03:23

passed build-without-native-backend-and-wayland@x86_64 #1556594

00:01:44

passed build-without-opengl-and-glx@x86_64 #1556593

00:02:36

 
  Test
passed can-build-gnome-shell@x86_64 #1556597

00:03:00

failed test-mutter@aarch64 #1556596
aarch64

00:08:21

failed test-mutter@x86_64 #1556595

00:06:59

 
  Analyze
skipped test-mutter-coverage@aarch64 #1556599
aarch64
skipped test-mutter-coverage@x86_64 #1556598
manual test-mutter-coverity #1556600
allowed to fail manual
 
Name Stage Failure
failed
check-code-style Code Review
   display->last_user_time = timestamp;


Issue the following command in your local tree to apply the suggested changes (needs uncrustify installed):

$ git rebase origin/main --exec "./check-style.py -r"

Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
test-mutter@x86_64 Test
Uploading artifacts for failed job
Uploading artifacts...
build: found 2708 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=1556595 responseStatus=201 Created token=3cLwmgYE
Uploading artifacts...
WARNING: build/meson-logs/testlog-catchsegv.junit.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
test-mutter@aarch64 Test
Uploading artifacts for failed job
Uploading artifacts...
build: found 2653 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=1556596 responseStatus=201 Created token=GM22z4A4
Uploading artifacts...
WARNING: build/meson-logs/testlog-catchsegv.junit.xml: no matching files
ERROR: No files to upload
Cleaning up file based variables
ERROR: Job failed: exit code 1