From 6ef5dccb4717127d9cf6e2f0be432c23624b324e Mon Sep 17 00:00:00 2001 From: Michael Webster Date: Thu, 9 Nov 2023 10:22:47 -0500 Subject: [PATCH] session: Use a separate desktop file for Wayland sessions. The start requirements and phase are different. --- cinnamon-wayland.session.in | 6 ++++++ data/cinnamon-wayland.desktop.in.in | 16 ++++++++++++++++ data/cinnamon.desktop.in.in | 2 +- data/meson.build | 1 + .../wayland_sessions/cinnamon-wayland.desktop.in | 2 +- files/usr/bin/cinnamon-session-cinnamon | 6 +++++- meson.build | 2 +- 7 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 cinnamon-wayland.session.in create mode 100644 data/cinnamon-wayland.desktop.in.in diff --git a/cinnamon-wayland.session.in b/cinnamon-wayland.session.in new file mode 100644 index 0000000000..bb8269f6eb --- /dev/null +++ b/cinnamon-wayland.session.in @@ -0,0 +1,6 @@ +[Cinnamon Session] +Name=Cinnamon +RequiredComponents=cinnamon-wayland;nemo-autostart;@REQUIRED@ +DesktopName=X-Cinnamon + + diff --git a/data/cinnamon-wayland.desktop.in.in b/data/cinnamon-wayland.desktop.in.in new file mode 100644 index 0000000000..79a3ee5662 --- /dev/null +++ b/data/cinnamon-wayland.desktop.in.in @@ -0,0 +1,16 @@ +[Desktop Entry] +Type=Application +_Name=Cinnamon (Wayland session) +_Comment=Window management and application launching +Exec=cinnamon --replace +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=cinnamon +X-GNOME-Bugzilla-Component=general +X-GNOME-Bugzilla-Version=@VERSION@ +Categories=GNOME;GTK;System;Core; +OnlyShowIn=X-Cinnamon; +NoDisplay=true +X-GNOME-Autostart-Phase=DisplayServer +X-GNOME-Provides=panel;windowmanager; +X-GNOME-Autostart-Notify=true +X-GNOME-AutoRestart=false diff --git a/data/cinnamon.desktop.in.in b/data/cinnamon.desktop.in.in index 632183919d..56c057e578 100644 --- a/data/cinnamon.desktop.in.in +++ b/data/cinnamon.desktop.in.in @@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@ Categories=GNOME;GTK;System;Core; OnlyShowIn=X-Cinnamon; NoDisplay=true -X-GNOME-Autostart-Phase=DisplayServer +X-GNOME-Autostart-Phase=WindowManager X-GNOME-Provides=panel;windowmanager; X-GNOME-Autostart-Notify=true X-GNOME-AutoRestart=false diff --git a/data/meson.build b/data/meson.build index 42c571f865..161552bc10 100644 --- a/data/meson.build +++ b/data/meson.build @@ -18,6 +18,7 @@ desktop_conf.set('VERSION', meson.project_version()) desktop_files = [ 'cinnamon.desktop', + 'cinnamon-wayland.desktop', 'cinnamon2d.desktop', ] diff --git a/data/wayland_sessions/cinnamon-wayland.desktop.in b/data/wayland_sessions/cinnamon-wayland.desktop.in index 04407d63ad..b73c10a99a 100644 --- a/data/wayland_sessions/cinnamon-wayland.desktop.in +++ b/data/wayland_sessions/cinnamon-wayland.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] Name=Cinnamon on Wayland Comment=This session logs you into Cinnamon -Exec=cinnamon-session-cinnamon +Exec=cinnamon-session-cinnamon --wayland TryExec=@bindir@/cinnamon Icon= Type=Application diff --git a/files/usr/bin/cinnamon-session-cinnamon b/files/usr/bin/cinnamon-session-cinnamon index f78384a2ae..acc047dcb5 100755 --- a/files/usr/bin/cinnamon-session-cinnamon +++ b/files/usr/bin/cinnamon-session-cinnamon @@ -1,3 +1,7 @@ #!/bin/sh -exec cinnamon-session --session cinnamon "$@" +if [ "$1" = "--wayland" ]; then + exec cinnamon-session --session cinnamon-wayland +else + exec cinnamon-session --session cinnamon "$@" +fi \ No newline at end of file diff --git a/meson.build b/meson.build index ae760100d8..9231632fbb 100644 --- a/meson.build +++ b/meson.build @@ -158,7 +158,7 @@ else session_conf.set('REQUIRED', '') endif -foreach file : ['cinnamon.session', 'cinnamon2d.session'] +foreach file : ['cinnamon.session', 'cinnamon2d.session', 'cinnamon-wayland.session'] configure_file( input: file + '.in', output: file,