From 2bd27ae9e08d6848ab14cde0a8bf81827df7a98b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 11 Aug 2021 15:03:38 -0400 Subject: [PATCH 4/6] kiosk-script: Give xsession and wayland-session file the same name In order for fallback logic to work properly, the two session names need to be the same. This commit fixes that. --- .../gnome-kiosk-script.desktop.in} | 2 +- .../gnome-kiosk-script-wayland.desktop.in | 9 --------- meson.build | 12 ++---------- meson/postinstall.py | 5 ++--- 4 files changed, 5 insertions(+), 23 deletions(-) rename kiosk-script/{xsessions/gnome-kiosk-script-xorg.desktop.in => sessions/gnome-kiosk-script.desktop.in} (84%) delete mode 100644 kiosk-script/wayland-sessions/gnome-kiosk-script-wayland.desktop.in diff --git a/kiosk-script/xsessions/gnome-kiosk-script-xorg.desktop.in b/kiosk-script/sessions/gnome-kiosk-script.desktop.in similarity index 84% rename from kiosk-script/xsessions/gnome-kiosk-script-xorg.desktop.in rename to kiosk-script/sessions/gnome-kiosk-script.desktop.in index 11dc0cf..36f810f 100644 --- a/kiosk-script/xsessions/gnome-kiosk-script-xorg.desktop.in +++ b/kiosk-script/sessions/gnome-kiosk-script.desktop.in @@ -1,9 +1,9 @@ [Desktop Entry] -Name=Kiosk Script Session (X11 Display Server) +Name=Kiosk Script Session Comment=This session logs you into the sessoin started by ~/.local/bin/gnome-kiosk-script Exec=gnome-session --session gnome-kiosk-script TryExec=gnome-session Type=Application DesktopNames=GNOME-Kiosk;GNOME; X-GDM-SessionRegisters=true diff --git a/kiosk-script/wayland-sessions/gnome-kiosk-script-wayland.desktop.in b/kiosk-script/wayland-sessions/gnome-kiosk-script-wayland.desktop.in deleted file mode 100644 index 05e8dea..0000000 --- a/kiosk-script/wayland-sessions/gnome-kiosk-script-wayland.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Kiosk Script Session (Wayland Display Server) -Comment=This session logs you into the sessoin started by ~/.local/bin/gnome-kiosk-script -Exec=gnome-session --session gnome-kiosk-script -TryExec=gnome-session -Type=Application -DesktopNames=GNOME-Kiosk;GNOME; -X-GDM-SessionRegisters=true - diff --git a/meson.build b/meson.build index 1f5a756..0faf9fe 100644 --- a/meson.build +++ b/meson.build @@ -181,75 +181,67 @@ desktop_file = configure_file( input: 'kiosk-script/desktop/org.gnome.Kiosk.Script.desktop.in.in', output: 'org.gnome.Kiosk.Script.desktop.in', configuration: desktop_config_data ) i18n.merge_file('desktop', input: desktop_file, output: 'org.gnome.Kiosk.Script.desktop', po_dir: po_dir, install: true, install_dir: desktop_data_dir, type: 'desktop' ) configure_file( input: 'kiosk-script/systemd/org.gnome.Kiosk.Script.service.in', output: '@BASENAME@', configuration: systemd_service_config_data, install_dir: systemd_user_unit_dir ) kiosk_script_systemd_target_dir = join_paths(systemd_user_unit_dir, 'gnome-session@gnome-kiosk-script.target.d') install_data('kiosk-script/systemd/session.conf', install_dir: kiosk_script_systemd_target_dir ) install_data('kiosk-script/gnome-session/gnome-kiosk-script.session', install_dir: session_dir, ) -i18n.merge_file('desktop', - input: 'kiosk-script/xsessions/gnome-kiosk-script-xorg.desktop.in', - output: '@BASENAME@', - po_dir: po_dir, - install: true, - install_dir: xsessions_dir, - type: 'desktop' -) i18n.merge_file('desktop', - input: 'kiosk-script/wayland-sessions/gnome-kiosk-script-wayland.desktop.in', + input: 'kiosk-script/sessions/gnome-kiosk-script.desktop.in', output: '@BASENAME@', po_dir: po_dir, install: true, - install_dir: wayland_sessions_dir, + install_dir: xsessions_dir, type: 'desktop' ) session_config_data = configuration_data() session_config_data.set('required_components', 'org.gnome.Kiosk;org.gnome.Kiosk.SearchApp;') session_file = configure_file( input: 'search-app/org.gnome.Kiosk.SearchApp.session.desktop.in.in', output: 'org.gnome.Kiosk.SearchApp.session.desktop.in', configuration: session_config_data ) subdir('input-selector') i18n.merge_file('desktop', input: session_file, output: 'org.gnome.Kiosk.SearchApp.session', po_dir: po_dir, install: true, install_dir: session_dir, type: 'desktop' ) i18n.merge_file('desktop', input: 'search-app/org.gnome.Kiosk.SearchApp.Session.desktop.in', output: 'org.gnome.Kiosk.SearchApp.Session.desktop', po_dir: po_dir, install: true, install_dir: xsessions_dir, type: 'desktop' diff --git a/meson/postinstall.py b/meson/postinstall.py index ace3927..430ae6c 100755 --- a/meson/postinstall.py +++ b/meson/postinstall.py @@ -1,44 +1,43 @@ #!/usr/bin/env python3 import os import shutil import subprocess import sys destdir = os.environ.get('DESTDIR', '/') prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local') datadir = os.path.join(destdir + prefix, 'share') xsessions_dir = os.path.join(datadir, 'xsessions') wayland_sessions_dir = os.path.join(datadir, 'wayland-sessions') if not os.path.exists(wayland_sessions_dir): os.makedirs(wayland_sessions_dir) source_file = os.path.join(xsessions_dir, 'org.gnome.Kiosk.SearchApp.Session.desktop') destination_file = os.path.join(wayland_sessions_dir, 'org.gnome.Kiosk.SearchApp.Session.desktop') shutil.copyfile(source_file, destination_file) -source_file = os.path.join(xsessions_dir, 'gnome-kiosk-script-xorg.desktop') -destination_file = os.path.join(xsessions_dir, 'gnome-kiosk-script.desktop') -source_file = os.path.join(wayland_sessions_dir, 'gnome-kiosk-script-wayland.desktop') +source_file = os.path.join(xsessions_dir, 'gnome-kiosk-script.desktop') destination_file = os.path.join(wayland_sessions_dir, 'gnome-kiosk-script.desktop') +shutil.copyfile(source_file, destination_file) # Packaging tools define DESTDIR and this isn't needed for them if 'DESTDIR' not in os.environ: print('Updating icon cache...') icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor') if not os.path.exists(icon_cache_dir): os.makedirs(icon_cache_dir) subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir]) print('Updating desktop database...') desktop_database_dir = os.path.join(datadir, 'applications') if not os.path.exists(desktop_database_dir): os.makedirs(desktop_database_dir) subprocess.call(['update-desktop-database', '-q', desktop_database_dir]) print('Compiling GSettings schemas...') schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas') if not os.path.exists(schemas_dir): os.makedirs(schemas_dir) subprocess.call(['glib-compile-schemas', schemas_dir]) -- 2.31.1