Install gnome-wayland session
This commit is contained in:
parent
3b3c4bb20e
commit
d49d9e0e07
140
0001-data-Install-GNOME-on-Wayland-session-for-X11-prefer.patch
Normal file
140
0001-data-Install-GNOME-on-Wayland-session-for-X11-prefer.patch
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
From 2f84d8ada4d468ef368c662276472f02c50bdd94 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
|
||||||
|
Date: Mon, 20 Sep 2021 18:04:46 +0200
|
||||||
|
Subject: [PATCH] data: Install GNOME on Wayland session for X11 preferred
|
||||||
|
setups
|
||||||
|
|
||||||
|
gdm supports now setups where X11 is the preferred session, but wayland
|
||||||
|
can be used on demand.
|
||||||
|
|
||||||
|
However we're currently not proposing GNOME on Wayland session because
|
||||||
|
the preferred X11 GNOME session will be picked instead.
|
||||||
|
|
||||||
|
To avoid this, install (again) the gnome-wayland session, so that it
|
||||||
|
will be selectable when gdm is running under X11, but it also supports
|
||||||
|
wayland. Given its name, it will be filtered out in the case gdm is
|
||||||
|
running instead under wayland.
|
||||||
|
---
|
||||||
|
data/gnome-wayland.desktop.in.in | 3 ++-
|
||||||
|
data/meson.build | 20 +++++++++++++-------
|
||||||
|
2 files changed, 15 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/data/gnome-wayland.desktop.in.in b/data/gnome-wayland.desktop.in.in
|
||||||
|
index 516c211e..b48eecd6 100644
|
||||||
|
--- a/data/gnome-wayland.desktop.in.in
|
||||||
|
+++ b/data/gnome-wayland.desktop.in.in
|
||||||
|
@@ -1,7 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
-Name=GNOME
|
||||||
|
+Name=GNOME on Wayland
|
||||||
|
Comment=This session logs you into GNOME
|
||||||
|
Exec=@bindir@/gnome-session
|
||||||
|
TryExec=@bindir@/gnome-session
|
||||||
|
Type=Application
|
||||||
|
DesktopNames=GNOME
|
||||||
|
+X-GDM-SessionRegisters=true
|
||||||
|
diff --git a/data/meson.build b/data/meson.build
|
||||||
|
index e02b80d3..d3134ade 100644
|
||||||
|
--- a/data/meson.build
|
||||||
|
+++ b/data/meson.build
|
||||||
|
@@ -1,84 +1,90 @@
|
||||||
|
desktop_plain = 'gnome'
|
||||||
|
|
||||||
|
desktops = [
|
||||||
|
desktop_plain,
|
||||||
|
- 'gnome-xorg'
|
||||||
|
+ 'gnome-xorg',
|
||||||
|
+ 'gnome-wayland',
|
||||||
|
]
|
||||||
|
|
||||||
|
shell_component = {
|
||||||
|
desktop_plain: 'org.gnome.Shell',
|
||||||
|
}
|
||||||
|
|
||||||
|
required_components = {
|
||||||
|
desktop_plain: [
|
||||||
|
'org.gnome.SettingsDaemon.A11ySettings',
|
||||||
|
'org.gnome.SettingsDaemon.Color',
|
||||||
|
'org.gnome.SettingsDaemon.Datetime',
|
||||||
|
'org.gnome.SettingsDaemon.Housekeeping',
|
||||||
|
'org.gnome.SettingsDaemon.Keyboard',
|
||||||
|
'org.gnome.SettingsDaemon.MediaKeys',
|
||||||
|
'org.gnome.SettingsDaemon.Power',
|
||||||
|
'org.gnome.SettingsDaemon.PrintNotifications',
|
||||||
|
'org.gnome.SettingsDaemon.Rfkill',
|
||||||
|
'org.gnome.SettingsDaemon.ScreensaverProxy',
|
||||||
|
'org.gnome.SettingsDaemon.Sharing',
|
||||||
|
'org.gnome.SettingsDaemon.Smartcard',
|
||||||
|
'org.gnome.SettingsDaemon.Sound',
|
||||||
|
'org.gnome.SettingsDaemon.UsbProtection',
|
||||||
|
'org.gnome.SettingsDaemon.Wacom',
|
||||||
|
'org.gnome.SettingsDaemon.XSettings',
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
if enable_session_selector
|
||||||
|
desktops += 'gnome-custom-session'
|
||||||
|
endif
|
||||||
|
|
||||||
|
foreach name: desktops
|
||||||
|
desktop_conf = configuration_data()
|
||||||
|
desktop_conf.set('bindir', session_bindir)
|
||||||
|
|
||||||
|
desktop = name + '.desktop'
|
||||||
|
|
||||||
|
desktop_in = configure_file(
|
||||||
|
input: desktop + '.in.in',
|
||||||
|
output: desktop + '.in',
|
||||||
|
configuration: desktop_conf
|
||||||
|
)
|
||||||
|
|
||||||
|
- install_dir = join_paths(session_datadir, 'xsessions')
|
||||||
|
- # FIXME: The same target can not be copied into two directories.
|
||||||
|
- # There is a workaround in meson_post_install.py until proper solution arises:
|
||||||
|
- # https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
|
||||||
|
- if name == desktop_plain
|
||||||
|
- #install_dir: [
|
||||||
|
+ if name.endswith('-xorg')
|
||||||
|
+ install_dir = session_datadir / 'xsessions'
|
||||||
|
+ elif name.endswith('-wayland')
|
||||||
|
+ install_dir = session_datadir / 'wayland-sessions'
|
||||||
|
+ else
|
||||||
|
+ # FIXME: The same target can not be copied into two directories.
|
||||||
|
+ # There is a workaround in meson_post_install.py until proper
|
||||||
|
+ # solution arises:
|
||||||
|
+ # https://github.com/mesonbuild/meson/issues/2416
|
||||||
|
+ install_dir = session_datadir / 'xsessions'
|
||||||
|
+ #install_dir = [
|
||||||
|
# join_paths(session_datadir, 'xsessions'),
|
||||||
|
# join_paths(session_datadir, 'wayland-sessions')
|
||||||
|
#]
|
||||||
|
endif
|
||||||
|
|
||||||
|
desktop_target = i18n.merge_file(
|
||||||
|
desktop,
|
||||||
|
type: 'desktop',
|
||||||
|
input: desktop_in,
|
||||||
|
output: desktop,
|
||||||
|
po_dir: po_dir,
|
||||||
|
install: true,
|
||||||
|
install_dir: install_dir
|
||||||
|
)
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
sessions = [
|
||||||
|
'gnome',
|
||||||
|
'gnome-dummy'
|
||||||
|
]
|
||||||
|
|
||||||
|
foreach session: sessions
|
||||||
|
session_file = session + '.session'
|
||||||
|
desktop_conf = configuration_data()
|
||||||
|
desktop_conf.set('libexecdir', session_libexecdir)
|
||||||
|
desktop_conf.set('required_components', ';'.join(
|
||||||
|
[shell_component.get(session, '')] + required_components.get(session, [])))
|
||||||
|
|
||||||
|
desktop = session_file + '.desktop'
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Name: gnome-session
|
Name: gnome-session
|
||||||
Version: 40.1.1
|
Version: 40.1.1
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: GNOME session manager
|
Summary: GNOME session manager
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -63,6 +63,9 @@ Requires: gsettings-desktop-schemas >= 0.1.7
|
|||||||
|
|
||||||
Requires: dbus
|
Requires: dbus
|
||||||
|
|
||||||
|
Patch0: 0001-data-Install-GNOME-on-Wayland-session-for-X11-prefer.patch
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
gnome-session manages a GNOME desktop or GDM login session. It starts up
|
gnome-session manages a GNOME desktop or GDM login session. It starts up
|
||||||
the other core GNOME components and handles logout and saving the session.
|
the other core GNOME components and handles logout and saving the session.
|
||||||
@ -129,6 +132,9 @@ Desktop file to add GNOME on wayland to display manager session menu.
|
|||||||
%{_userunitdir}/gnome-launched-.scope.d/
|
%{_userunitdir}/gnome-launched-.scope.d/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 12 2021 Ray Strode <rstrode@redhat.com> - 40.1.1-3
|
||||||
|
- Install gnome-wayland session
|
||||||
|
|
||||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 40.1.1-2
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 40.1.1-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user