Support wayland session by launching kwin as wayland server.
Signed-off-by: tangjie02 <tangjie02@kylinsec.com.cn>
This commit is contained in:
parent
86bfddb401
commit
ae5f366ecb
124
0001-feature-wayland-Support-wayland-session-by-launching.patch
Normal file
124
0001-feature-wayland-Support-wayland-session-by-launching.patch
Normal file
@ -0,0 +1,124 @@
|
||||
From 199320d7beec9ea0b80c3e7f331f3d269d68f493 Mon Sep 17 00:00:00 2001
|
||||
From: tangjie02 <tangjie02@kylinsec.com.cn>
|
||||
Date: Tue, 7 Feb 2023 20:23:51 +0800
|
||||
Subject: [PATCH] feature(wayland): Support wayland session by launching kwin
|
||||
as wayland server.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
- 使用kwin来支持wayland会话
|
||||
|
||||
Signed-off-by: tangjie02 <tangjie02@kylinsec.com.cn>
|
||||
---
|
||||
data/CMakeLists.txt | 32 +++++++++++++++--------------
|
||||
data/kiran-session-kwayland.in | 9 ++++++++
|
||||
data/kiran-session-wayland.in | 3 +++
|
||||
data/kiran-wayland.desktop.in | 4 ++--
|
||||
data/sessions/kiran-wayland.session | 2 +-
|
||||
5 files changed, 32 insertions(+), 18 deletions(-)
|
||||
create mode 100644 data/kiran-session-kwayland.in
|
||||
create mode 100644 data/kiran-session-wayland.in
|
||||
|
||||
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
|
||||
index 8df02d5..83aed59 100644
|
||||
--- a/data/CMakeLists.txt
|
||||
+++ b/data/CMakeLists.txt
|
||||
@@ -1,27 +1,29 @@
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
|
||||
-# gschema.xml
|
||||
-file(GLOB SCHEMA_IN_FILES ./*.gschema.xml.in)
|
||||
-
|
||||
-foreach(SCHEMA_IN_FILE IN LISTS SCHEMA_IN_FILES)
|
||||
- string(REGEX REPLACE ".+/(.+)\\..*" "\\1" SCHEMA_FILE ${SCHEMA_IN_FILE})
|
||||
- configure_file(${SCHEMA_IN_FILE} ${PROJECT_BINARY_DIR}/data/${SCHEMA_FILE})
|
||||
+# xxx.in -> xxx
|
||||
+file(GLOB XXX_IN_FILES ./*.in)
|
||||
|
||||
- install(FILES ${PROJECT_BINARY_DIR}/data/${SCHEMA_FILE}
|
||||
- DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/glib-2.0/schemas/)
|
||||
+foreach(XXX_IN_FILE IN LISTS XXX_IN_FILES)
|
||||
+ string(REGEX REPLACE ".+/(.+)\\..*" "\\1" XXX_FILE ${XXX_IN_FILE})
|
||||
+ configure_file(${XXX_IN_FILE} ${PROJECT_BINARY_DIR}/data/${XXX_FILE} @ONLY)
|
||||
endforeach()
|
||||
|
||||
+# wayland executable file
|
||||
+install(PROGRAMS ${PROJECT_BINARY_DIR}/data/kiran-session-wayland
|
||||
+ ${PROJECT_BINARY_DIR}/data/kiran-session-kwayland
|
||||
+ DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}/)
|
||||
+
|
||||
+# gschema.xml
|
||||
+install(
|
||||
+ FILES
|
||||
+ ${PROJECT_BINARY_DIR}/data/com.kylinsec.kiran.session-manager.gschema.xml
|
||||
+ DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/glib-2.0/schemas/)
|
||||
+
|
||||
# conf
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/data/90-lightdm-kiran-greeter.conf
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/lightdm/lightdm.conf.d)
|
||||
|
||||
-# desktop.in
|
||||
-file(GLOB DESKTOP_IN_FILES ./*.desktop.in)
|
||||
-foreach(DESKTOP_IN_FILE IN LISTS DESKTOP_IN_FILES)
|
||||
- string(REGEX REPLACE ".+/(.+)\\..*" "\\1" DESKTOP_FILE ${DESKTOP_IN_FILE})
|
||||
- configure_file(${DESKTOP_IN_FILE} ${PROJECT_BINARY_DIR}/data/${DESKTOP_FILE})
|
||||
-endforeach()
|
||||
-
|
||||
+# desktop
|
||||
install(FILES ${PROJECT_BINARY_DIR}/data/kiran.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/xsessions)
|
||||
install(FILES ${PROJECT_BINARY_DIR}/data/kiran-wayland.desktop
|
||||
diff --git a/data/kiran-session-kwayland.in b/data/kiran-session-kwayland.in
|
||||
new file mode 100644
|
||||
index 0000000..91c2cf8
|
||||
--- /dev/null
|
||||
+++ b/data/kiran-session-kwayland.in
|
||||
@@ -0,0 +1,9 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+drs=
|
||||
+
|
||||
+if [ -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
|
||||
+ drs=dbus-run-session
|
||||
+fi
|
||||
+
|
||||
+exec ${drs} kwin_wayland --xwayland --drm --no-lockscreen --exit-with-session=@CMAKE_INSTALL_FULL_BINDIR@/kiran-session-wayland
|
||||
\ No newline at end of file
|
||||
diff --git a/data/kiran-session-wayland.in b/data/kiran-session-wayland.in
|
||||
new file mode 100644
|
||||
index 0000000..4bd1de9
|
||||
--- /dev/null
|
||||
+++ b/data/kiran-session-wayland.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+exec @CMAKE_INSTALL_FULL_BINDIR@/kiran-session-manager --session-type=kiran-wayland
|
||||
\ No newline at end of file
|
||||
diff --git a/data/kiran-wayland.desktop.in b/data/kiran-wayland.desktop.in
|
||||
index d98cd10..34c4781 100644
|
||||
--- a/data/kiran-wayland.desktop.in
|
||||
+++ b/data/kiran-wayland.desktop.in
|
||||
@@ -2,8 +2,8 @@
|
||||
Name=KIRAN
|
||||
Comment=This session logs you into KIRAN
|
||||
Comment[zh_CN]=此会话将您登录到 KIRAN
|
||||
-Exec=@CMAKE_INSTALL_FULL_BINDIR@/kiran-session-manager --session-type=kiran-wayland
|
||||
-TryExec=@CMAKE_INSTALL_FULL_BINDIR@/kiran-session-manager
|
||||
+Exec=@CMAKE_INSTALL_FULL_BINDIR@/kiran-session-kwayland
|
||||
+TryExec=@CMAKE_INSTALL_FULL_BINDIR@/kiran-session-kwayland
|
||||
Type=Application
|
||||
DesktopNames=KIRAN
|
||||
Keywords=KIRAN;session;
|
||||
diff --git a/data/sessions/kiran-wayland.session b/data/sessions/kiran-wayland.session
|
||||
index 5292a1f..65bc4a6 100644
|
||||
--- a/data/sessions/kiran-wayland.session
|
||||
+++ b/data/sessions/kiran-wayland.session
|
||||
@@ -1,3 +1,3 @@
|
||||
[Kiran Session]
|
||||
Name=Kiran Session
|
||||
-RequiredComponents=kiran-session-idlemonitor;kiran-session-daemon;mate-settings-daemon;mutter;kiran-panel;caja
|
||||
+RequiredComponents=kiran-session-idlemonitor;kiran-session-daemon;mate-settings-daemon;kiran-panel;caja
|
||||
--
|
||||
2.36.1
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
Name: kiran-session-manager
|
||||
Version: 2.4.0
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: Session manager for KIRAN desktop environment
|
||||
|
||||
License: MulanPSL-2.0
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
|
||||
Patch1001: 0001-feature-wayland-Support-wayland-session-by-launching.patch
|
||||
|
||||
BuildRequires: cmake >= 3.2
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: gcc-c++
|
||||
@ -62,10 +64,15 @@ make %{?_smp_mflags}
|
||||
%{_bindir}/kiran-session-manager
|
||||
%{_bindir}/kiran-session-idlemonitor
|
||||
%{_bindir}/kiran-session-window
|
||||
%{_bindir}/kiran-session-kwayland
|
||||
%{_bindir}/kiran-session-wayland
|
||||
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Feb 07 2023 tangjie02 <tangjie02@kylinsec.com.cn> - 2.4.0-2
|
||||
- Support wayland session by launching kwin as wayland server.
|
||||
|
||||
* Fri Nov 04 2022 tangjie02 <tangjie02@kylinsec.com.cn> - 2.4.0-1
|
||||
- KYOS-F: Init commit for v2.4
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user