From ed58eec61bc5862dba1e3b301cde0213c772b859 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sun, 26 Oct 2014 21:14:54 +0100 Subject: [PATCH] Add systemd user session --- packaging/plasma-phone-components.spec | 23 +++++++++++++++++++++++ packaging/plasma-phone-components.yaml | 4 ++++ services/plasma-phone-compositor.service | 19 +++++++++++++++++++ services/plasma-phone-kded5.service | 18 ++++++++++++++++++ services/plasma-phone-shell.service | 19 +++++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 services/plasma-phone-compositor.service create mode 100644 services/plasma-phone-kded5.service create mode 100644 services/plasma-phone-shell.service diff --git a/packaging/plasma-phone-components.spec b/packaging/plasma-phone-components.spec index 5f6b8847..b20f0316 100644 --- a/packaging/plasma-phone-components.spec +++ b/packaging/plasma-phone-components.spec @@ -21,6 +21,7 @@ Requires: greenisland Requires: plasma-workspace Requires: breeze-icon-theme Requires: oxygen-fonts +Requires: frameworkintegration BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Xml) @@ -62,6 +63,25 @@ rm -rf %{buildroot} # << install pre # >> install post + +# File with environment variables, used by systemd units +mkdir -p %{buildroot}%{_sharedstatedir}/environment/plasma-phone/plasma-phone.conf <> files # << files diff --git a/packaging/plasma-phone-components.yaml b/packaging/plasma-phone-components.yaml index 1f243cd0..7b7c8687 100644 --- a/packaging/plasma-phone-components.yaml +++ b/packaging/plasma-phone-components.yaml @@ -17,6 +17,7 @@ Requires: - plasma-workspace - breeze-icon-theme - oxygen-fonts + - frameworkintegration PkgBR: - extra-cmake-modules @@ -41,3 +42,6 @@ Files: - "%{_kf5_sharedir}/plasma/*" - "%{_kf5_sharedir}/wallpapers/*" - "%{_kf5_servicesdir}/*.desktop" + - "%{_sharedstatedir}/environment/plasma-phone/*" + - "%{_libdir}/systemd/user/*" + - "%{_libdir}/systemd/user/user-session.target.wants/*" diff --git a/services/plasma-phone-compositor.service b/services/plasma-phone-compositor.service new file mode 100644 index 00000000..ab1f73ef --- /dev/null +++ b/services/plasma-phone-compositor.service @@ -0,0 +1,19 @@ +# +# Copyright (C) 2014 Pier Luigi Fiorini +# +# Starts Green Island with the phone compositor plugin. +# + +[Unit] +Description=Green Island +Requires=dbus.socket pre-user-session.target +After=pre-user-session.target + +[Service] +Type=notify +EnvironmentFile=-/var/lib/environment/compositor/*.conf +ExecStart=/usr/bin/greenisland $LIPSTICK_OPTIONS -p org.kde.satellite.compositor.phone +Restart=always + +[Install] +WantedBy=user-session.target diff --git a/services/plasma-phone-kded5.service b/services/plasma-phone-kded5.service new file mode 100644 index 00000000..8a3ae490 --- /dev/null +++ b/services/plasma-phone-kded5.service @@ -0,0 +1,18 @@ +# +# Copyright (C) 2014 Pier Luigi Fiorini +# +# Starts kded5 needed by the phone UI. +# + +[Unit] +Description=KDED5 +Requires=dbus.socket + +[Service] +Type=notify +EnvironmentFile=-/var/lib/environment/plasma-phone/*.conf +ExecStart=/usr/bin/kded5 +Restart=always + +[Install] +WantedBy=user-session.target diff --git a/services/plasma-phone-shell.service b/services/plasma-phone-shell.service new file mode 100644 index 00000000..6214142d --- /dev/null +++ b/services/plasma-phone-shell.service @@ -0,0 +1,19 @@ +# +# Copyright (C) 2014 Pier Luigi Fiorini +# +# Starts Green Island with the phone compositor plugin. +# + +[Unit] +Description=Plasma Phone UI +Requires=dbus.socket plasma-phone-compositor.service +After=plasma-phone-kded5.service + +[Service] +Type=notify +EnvironmentFile=-/var/lib/environment/plasma-phone/*.conf +ExecStart=/usr/bin/plasmashell -n -p org.kde.satellite.phone +Restart=always + +[Install] +WantedBy=user-session.target