Introduce Event Services (#1653)

* Allow to enable/disable suspend & lock event handling

* Fix Windows

* Refactor event handling incl.CEC

* Revert "Auxiliary commit to revert individual files from 0d9a8b8a3a4a09609a339f54c7d8a9384c561282"

This reverts commit 80737d926ad151a07b2493dd1685ed502975cb2e.

* Support Events for Grabbers generically

* Have CECEvent to actions configurable, further clean-ups

* Remove handleEvent from V4L2grabber, as grabber will be stopped on suspend

* Validate that one CEC Event can only trigger one action

* MacOS lock/unlock added

* fast windows fix

* Corrections

* Fix CodeQL findings

* add macos lock/unlock handler

* Migration of CEC-config and have default actions

* Correct target_link_libraries

* Include Foundation

* macOS include AppKit

* Support Scheduled Events, cleanups.

* Fix destructing

* Fix coredump during free

* Consider additional error sceanrio

* Fix missing code

* install desktop icons

* correct bash logic

---------

Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
This commit is contained in:
LordGrey
2023-11-27 09:06:43 +01:00
committed by GitHub
parent 2e0cc9cfa8
commit a1f0821f33
53 changed files with 2306 additions and 829 deletions

View File

@@ -103,11 +103,23 @@ ln -fs $BINSP/scripts/updateHyperionUser.sh $BINTP/updateHyperionUser 2>/dev/nul
# install desktop icons (only on initial installation and not upgrade)
if [ "$IS_UPGRADE" = false ]; then
if hash desktop-file-install 2>/dev/null; then
if [ ! -z "${DISPLAY}" ] || [ ! -z "${WAYLAND_DISPLAY}" ] || [ ! -z "${XDG_CURRENT_DESKTOP}" ]; then
echo "---> Install Hyperion desktop icons"
cp -R /usr/share/hyperion/icons /usr/share/icons/hicolor 2>/dev/null
cp /usr/share/hyperion/desktop/hyperion.metainfo.xml /usr/share/metainfo/hyperion.metainfo.xml 2>/dev/null
desktop-file-install /usr/share/hyperion/desktop/hyperion.desktop 2>/dev/null
cp /usr/share/hyperion/desktop/hyperion.metainfo.xml /usr/share/metainfo 2>/dev/null
if hash desktop-file-install 2>/dev/null; then
desktop-file-install /usr/share/hyperion/desktop/hyperion.desktop 2>/dev/null
else
# On some systems this directory doesn't exist by default
mkdir -p /usr/share/applications
cp /usr/share/hyperion/desktop/hyperion.desktop /usr/share/applications
# Update application icons
if hash update-desktop-database 2>/dev/null; then
update-desktop-database -q /usr/share/applications
update-desktop-database -q /usr/share/icons/
fi
fi
fi
fi