From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 8FC50B82; Fri, 10 Jul 2026 20:01:50 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 16AF2AD9; Fri, 10 Jul 2026 20:01:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fhigh-a6-smtp.messagingengine.com (fhigh-a6-smtp.messagingengine.com [103.168.172.157]) by atuin.qyliss.net (Postfix) with ESMTPS id B62B7A20 for ; Fri, 10 Jul 2026 20:01:36 +0000 (UTC) Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfhigh.phl.internal (Postfix) with ESMTP id 2392B14000F3; Fri, 10 Jul 2026 16:01:36 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Fri, 10 Jul 2026 16:01:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1783713696; x=1783800096; bh=QCZfg6BJdRjAYQQC7YnnckB3EUe/GSFVnhThPRf8ox4=; b= DCq9bxZjG5t5WcjH6xzi+oZRAlSYsDG6evgJT+LmI2FPxnhQzRUbiG03nMTF9t6L EKZ88hrMhWMdYywF6QwzX5zCMWuUE4WhawHFY97ZQw38aEZvannflYnFL3CQT9+T 5XCp+iS/DCKqjDlW1PQpAvx8iVlDld6VsZWG4TcqaEpITPV8YraZBVP0LZG3XGNl EW74Ke0/Hmf1A/WiR3QU1fjt3ImWEsMWzIxHqoI82e36Vk13ion+dC9JYLmGifxz rniEquFfMXSjEOKgxDMLEb9UkbkmEk9MYOO0tEpFgsJnE0okz8FnlrBzsgIb0vJJ rB3ZkVIHkWWCb0ueUoeOeg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1783713696; x= 1783800096; bh=QCZfg6BJdRjAYQQC7YnnckB3EUe/GSFVnhThPRf8ox4=; b=Y kQ92sF65yMx2oHtUDtvFrkM7qut0g5zTbyh2GEiVCvVmqGNWetP6ghnSrsc7VnkM gJVp//WHgld1+MKJvkoqIG1at40wuqpYYrb490xCBpzI7zdaEOczyaZQYa3Hqahk NOUNq/mOms2v5+7AVAUncryrsvZtdWBDPdUBCS5DqBcIu0rHzxPGDqZyuHOc7V78 1RKU1C3iWTR7ivCwoEnnR4t+9QydLRbQtAr3MBpj4Ua4Am6vd3W1dwfKDoXImEDX Qq6jRxGXVDl7h5KwWmlkyZhf8StzjlU3ogEkXn0eM/xIWeRQHUXfGZODeLMCe+3T WblrYwxdXfWJ65NhgYnaA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGdL1RGWtFXQ7QHnrjOYegZRHU9+2Pzd+UqSwGy6JzaUr474weMyguKfw1PIDn3TR CFrCjllmcSZlMENi3LjecOsxXrKt6J+QJk2/nH1WYwjJmr38b6PKKtSqwp483nOSQ4Y1Ym k38DIRq1fE428t99rCvujC6wBcUuaiatpihN+WfMssmqnm+V1u1a2b9uMB04Oc2ASmIK8R z/xxWuATxnjWt8qQ+Ojq3sJBdJpgQ44DUkrgIUPWx6mUWkHUF5MWfjKmGa07fJLAZ2B3BY C2pAK2KScbayesC/dk3uaPn2eE8CMWakf3srpVAOJYnCdbUzH/54TRIIIypzYLfN/aYYsZ M3re6iVYOflCNeAxFc00KhG2/dj5BrVJ8tQtsd8L54efBZI+iCienCyiU6tdxnWmHku8S0 /VH9wINqevrZXeL7Fk+q5nAQcCXd8wnErV6lwoR2xk8vn09hMsUvsBHYXaw2Xqd6ZTfxPK Ef0wiGyVd41IqV7MqtiBioTTQB0WvTcG9tD5uYPizXE0401lKgXulCY+DCcgnDHiJHIFW7 uJ+tgom83adWPnEMuO41sry+GhC3K3PU+CDrOrs4TeosyMnGzVaPoKhn6XjpSL6qdcpszq R4vvQuyuPtg37H0++9jD937GnsIDbL8d3ZJ1w1qJwa8f9uAiF4IcQkiSE2/Q X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 10 Jul 2026 16:01:35 -0400 (EDT) Received: by fw12.qyliss.net (Postfix, from userid 1000) id 0E7D4C3E83D6; Fri, 10 Jul 2026 22:01:31 +0200 (CEST) From: Alyssa Ross To: devel@spectrum-os.org Subject: [RFC PATCH 6/6] host/rootfs: switch from Weston to cosmic-comp Date: Fri, 10 Jul 2026 21:59:07 +0200 Message-ID: <20260710195907.98981-7-hi@alyssa.is> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260710195907.98981-1-hi@alyssa.is> References: <20260710195907.98981-1-hi@alyssa.is> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-ID-Hash: GYS67ZUWLGYQXBTWTW6DHDLG3MDTGN7C X-Message-ID-Hash: GYS67ZUWLGYQXBTWTW6DHDLG3MDTGN7C X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: colbyt X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Using Weston was always intended to be temporary — it's not designed to be a full-featured desktop compositor, and the choice of Weston in Spectrum was partially made to make it obvious that the compositor would likely be swapped out later. COSMIC is aligned with Spectrum in that it's written in a memory-safe language, and upstream is open to adding customisation points to allow for things we might want to do differently in Spectrum, like have custom window decorations. COSMIC requires the configuration directories for each component to exist, but not the files within them, so we can include only the configuration keys we want to set, and everything else will use the defaults. Signed-off-by: Alyssa Ross --- host/rootfs/Makefile | 4 +- host/rootfs/default.nix | 37 ++++++++-------- host/rootfs/file-list.mk | 43 +++++++++++++++---- .../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 1 - .../s6-linux-init/env/XDG_RUNTIME_DIR.license | 2 - .../run-image/service/root-terminal/run | 2 +- .../dependencies.d/systemd-udevd-coldplug | 0 .../{weston => cosmic-comp}/notification-fd | 0 .../notification-fd.license | 0 .../etc/s6-rc/{weston => cosmic-comp}/run | 26 ++++------- .../etc/s6-rc/{weston => cosmic-comp}/type | 0 .../{weston => cosmic-comp}/type.license | 0 .../dependencies.d/cosmic-comp} | 0 host/rootfs/image/etc/s6-rc/cosmic-panel/run | 12 ++++++ .../etc/s6-rc/{weston => cosmic-panel}/type | 0 .../image/etc/s6-rc/cosmic-panel/type.license | 2 + .../weston => ok-all/contents.d/cosmic-panel} | 0 .../vm-env/contents.d/{weston => cosmic-comp} | 0 .../com.system76.CosmicAppList/v1/favorites | 7 +++ .../com.system76.CosmicPanel.Dock/v1/anchor | 4 ++ .../com.system76.CosmicPanel.Dock/v1/autohide | 9 ++++ .../v1/border_radius | 4 ++ .../v1/exclusive_zone | 4 ++ .../v1/expand_to_edges | 4 ++ .../v1/keyboard_interactivity | 4 ++ .../com.system76.CosmicPanel.Dock/v1/margin | 4 ++ .../com.system76.CosmicPanel.Dock/v1/name | 4 ++ .../com.system76.CosmicPanel.Dock/v1/opacity | 4 ++ .../v1/plugins_center | 6 +++ .../com.system76.CosmicPanel.Dock/v1/size | 4 ++ .../v1/autohide | 4 ++ .../v1/border_radius | 4 ++ .../v1/keyboard_interactivity | 4 ++ .../com.system76.CosmicPanel.Panel/v1/margin | 4 ++ .../com.system76.CosmicPanel.Panel/v1/name | 4 ++ .../com.system76.CosmicPanel.Panel/v1/opacity | 4 ++ .../com.system76.CosmicPanel.Panel/v1/padding | 4 ++ .../v1/plugins_center | 6 +++ .../v1/plugins_wings | 9 ++++ .../com.system76.CosmicPanel.Panel/v1/size | 4 ++ .../com.system76.CosmicPanel/v1/entries | 7 +++ host/rootfs/image/etc/xdg/weston/autolaunch | 7 --- host/rootfs/image/etc/xdg/weston/weston.ini | 15 ------- .../org.spectrum_os.RootTerminal.desktop | 9 ++++ 44 files changed, 199 insertions(+), 73 deletions(-) delete mode 100644 host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR delete mode 100644 host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/dependencies.d/systemd-udevd-coldplug (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/notification-fd (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/notification-fd.license (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/run (77%) copy host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/type (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/type.license (100%) copy host/rootfs/image/etc/s6-rc/{vm-env/contents.d/weston => cosmic-panel/dependencies.d/cosmic-comp} (100%) create mode 100644 host/rootfs/image/etc/s6-rc/cosmic-panel/run rename host/rootfs/image/etc/s6-rc/{weston => cosmic-panel}/type (100%) create mode 100644 host/rootfs/image/etc/s6-rc/cosmic-panel/type.license copy host/rootfs/image/etc/s6-rc/{vm-env/contents.d/weston => ok-all/contents.d/cosmic-panel} (100%) rename host/rootfs/image/etc/s6-rc/vm-env/contents.d/{weston => cosmic-comp} (100%) create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries delete mode 100755 host/rootfs/image/etc/xdg/weston/autolaunch delete mode 100644 host/rootfs/image/etc/xdg/weston/weston.ini create mode 100644 host/rootfs/image/usr/share/applications/org.spectrum_os.RootTerminal.desktop diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile index cddf2835..532c6dd6 100644 --- a/host/rootfs/Makefile +++ b/host/rootfs/Makefile @@ -32,10 +32,12 @@ DIRS = \ etc/s6-linux-init/run-image/service/vmm/instances \ etc/s6-linux-init/run-image/service/vmm/template/data \ etc/s6-linux-init/run-image/service/vmm/template/env \ - etc/s6-linux-init/run-image/user \ etc/s6-linux-init/run-image/vm/by-id \ etc/s6-linux-init/run-image/vm/by-name \ etc/s6-linux-init/run-image/vsock \ + etc/xdg/cosmic/com.system76.CosmicComp/v1 \ + etc/xdg/cosmic/com.system76.CosmicSettings.Shortcuts/v1 \ + etc/xdg/cosmic/com.system76.CosmicSettings.WindowRules/v1 \ home \ media \ proc \ diff --git a/host/rootfs/default.nix b/host/rootfs/default.nix index a3b02d54..e54144be 100644 --- a/host/rootfs/default.nix +++ b/host/rootfs/default.nix @@ -4,18 +4,19 @@ import ../../lib/call-package.nix ( { callSpectrumPackage, config, spectrum-build-tools -, src, pkgsMusl, inkscape, lndir, linuxPackagesFor, linux_latest +, src, pkgsMusl, lndir, linuxPackagesFor, linux_latest }: pkgsMusl.callPackage ( { spectrum-host-tools, spectrum-router , lib, stdenvNoCC, nixos, runCommand, writeClosure, erofs-utils, s6-rc -, btrfs-progs, bubblewrap, busybox, cloud-hypervisor, cosmic-files -, crosvm, cryptsetup, dejavu_fonts, dbus, execline, foot, fuse3 +, btrfs-progs, bubblewrap, busybox, cloud-hypervisor, cosmic-applets +, cosmic-comp, cosmic-files, cosmic-panel, crosvm, cryptsetup +, dejavu_fonts, dbus, execline, fira, foot, fuse3, hicolor-icon-theme , iproute2, inotify-tools, jq, kmod, lvm2, mdevd, mesa, mount-flatpak -, s6, s6-linux-init, shadow, socat, systemd, util-linuxMinimal, virtiofsd -, westonLite, xdg-desktop-portal, xdg-desktop-portal-gtk -, xdg-desktop-portal-spectrum-host +, pop-icon-theme, s6, s6-linux-init, shadow, socat, systemd +, util-linuxMinimal, virtiofsd, xdg-desktop-portal +, xdg-desktop-portal-gtk, xdg-desktop-portal-spectrum-host }: let @@ -25,12 +26,11 @@ let trivial; packages = [ - btrfs-progs bubblewrap cloud-hypervisor cosmic-files crosvm cryptsetup dbus - execline fuse3 inotify-tools iproute2 jq kmod mdevd mount-flatpak s6 - s6-linux-init s6-rc shadow socat spectrum-host-tools spectrum-router - virtiofsd xdg-desktop-portal-spectrum-host - - (foot.override { allowPgo = false; }) + btrfs-progs bubblewrap cloud-hypervisor cosmic-comp cosmic-panel + crosvm cryptsetup dbus execline fuse3 inotify-tools iproute2 jq + kmod mdevd mount-flatpak s6 s6-linux-init s6-rc shadow socat + spectrum-host-tools spectrum-router virtiofsd + xdg-desktop-portal-spectrum-host (busybox.override { # Use a separate file as it is a bit too big. @@ -63,8 +63,11 @@ let # It doesn't get picked up from libsystemd-shared.so's RUNPATH due to # https://inbox.vuxu.org/musl/20251017-dlopen-use-rpath-of-caller-dso-v1-1-46c69eda1473@iscas.ac.cn/ usrPackages = [ - appvm dejavu_fonts firmware kernel.modules kmod.lib lvm2 mesa - netvm systemd westonLite + appvm cosmic-applets cosmic-files dejavu_fonts fira firmware + hicolor-icon-theme kernel.modules kmod.lib lvm2 mesa + pop-icon-theme netvm systemd + + (foot.override { allowPgo = false; }) ]; appvms = { @@ -75,7 +78,6 @@ let }; packagesSysroot = runCommand "packages-sysroot" { - depsBuildBuild = [ inkscape ]; nativeBuildInputs = [ lndir ]; src = builtins.path { name = "os-release"; path = ./os-release.in; }; } '' @@ -88,11 +90,6 @@ let lndir -ignorelinks -silent "$pkg" "$out/usr" done - # Weston doesn't support SVG icons. - inkscape -w 20 -h 20 \ - -o $out/usr/share/icons/hicolor/20x20/apps/com.system76.CosmicFiles.png \ - ${cosmic-files}/share/icons/hicolor/24x24/apps/com.system76.CosmicFiles.svg - ln -st $out/usr/bin \ ${concatMapStringsSep " " (p: "${p}/bin/*") packages} \ ${xdg-desktop-portal}/libexec/xdg-document-portal \ diff --git a/host/rootfs/file-list.mk b/host/rootfs/file-list.mk index 3899d620..22503354 100644 --- a/host/rootfs/file-list.mk +++ b/host/rootfs/file-list.mk @@ -9,7 +9,6 @@ FILES = \ image/etc/login \ image/etc/parse-devname \ image/etc/s6-linux-init/env/WAYLAND_DISPLAY \ - image/etc/s6-linux-init/env/XDG_RUNTIME_DIR \ image/etc/s6-linux-init/run-image/etc/group \ image/etc/s6-linux-init/run-image/etc/passwd \ image/etc/s6-linux-init/run-image/service/getty-tty2/run \ @@ -53,8 +52,29 @@ FILES = \ image/etc/vm-sysupdate.d/50-verity.transfer \ image/etc/vm-sysupdate.d/60-root.transfer \ image/etc/vm-sysupdate.d/70-kernel.transfer \ - image/etc/xdg/weston/autolaunch \ - image/etc/xdg/weston/weston.ini \ + image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings \ + image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size \ + image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries \ image/usr/bin/assign-devices \ image/usr/bin/create-vm-dependencies \ image/usr/bin/mount-userdata \ @@ -69,6 +89,7 @@ FILES = \ image/usr/bin/vm-stop \ image/usr/bin/xdg-open \ image/usr/libexec/net-add \ + image/usr/share/applications/org.spectrum_os.RootTerminal.desktop \ image/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service LINKS = \ @@ -84,6 +105,14 @@ LINKS = \ S6_RC_FILES = \ image/etc/s6-rc/core/type \ image/etc/s6-rc/core/up \ + image/etc/s6-rc/cosmic-comp/dependencies.d/systemd-udevd-coldplug \ + image/etc/s6-rc/cosmic-comp/notification-fd \ + image/etc/s6-rc/cosmic-comp/run \ + image/etc/s6-rc/cosmic-comp/type \ + image/etc/s6-rc/cosmic-panel/dependencies.d/cosmic-comp \ + image/etc/s6-rc/cosmic-panel/run \ + image/etc/s6-rc/cosmic-panel/type \ + image/etc/s6-rc/ok-all/contents.d/cosmic-panel \ image/etc/s6-rc/ok-all/contents.d/sys-vmms \ image/etc/s6-rc/ok-all/contents.d/systemd-udevd-coldplug \ image/etc/s6-rc/ok-all/contents.d/vm-env \ @@ -99,15 +128,11 @@ S6_RC_FILES = \ image/etc/s6-rc/systemd-udevd/notification-fd \ image/etc/s6-rc/systemd-udevd/run \ image/etc/s6-rc/systemd-udevd/type \ + image/etc/s6-rc/vm-env/contents.d/cosmic-comp \ image/etc/s6-rc/vm-env/contents.d/static-nodes \ image/etc/s6-rc/vm-env/contents.d/systemd-udevd-coldplug \ - image/etc/s6-rc/vm-env/contents.d/weston \ image/etc/s6-rc/vm-env/type \ image/etc/s6-rc/vmm-env/contents.d/core \ image/etc/s6-rc/vmm-env/contents.d/static-nodes \ image/etc/s6-rc/vmm-env/contents.d/systemd-udevd-coldplug \ - image/etc/s6-rc/vmm-env/type \ - image/etc/s6-rc/weston/dependencies.d/systemd-udevd-coldplug \ - image/etc/s6-rc/weston/notification-fd \ - image/etc/s6-rc/weston/run \ - image/etc/s6-rc/weston/type + image/etc/s6-rc/vmm-env/type diff --git a/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR b/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR deleted file mode 100644 index 70a66717..00000000 --- a/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR +++ /dev/null @@ -1 +0,0 @@ -/run/user/0 diff --git a/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license b/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license deleted file mode 100644 index 555b5d4f..00000000 --- a/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2024 Alyssa Ross -SPDX-License-Identifier: CC0-1.0 diff --git a/host/rootfs/image/etc/s6-linux-init/run-image/service/root-terminal/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/root-terminal/run index 86b9a1ef..9997d2a5 100755 --- a/host/rootfs/image/etc/s6-linux-init/run-image/service/root-terminal/run +++ b/host/rootfs/image/etc/s6-linux-init/run-image/service/root-terminal/run @@ -14,4 +14,4 @@ exec -c /bin/export WAYLAND_DISPLAY "" s6-sudod cd / -weston-terminal +foot -a org.spectrum_os.RootTerminal -T "Root Terminal" diff --git a/host/rootfs/image/etc/s6-rc/weston/dependencies.d/systemd-udevd-coldplug b/host/rootfs/image/etc/s6-rc/cosmic-comp/dependencies.d/systemd-udevd-coldplug similarity index 100% rename from host/rootfs/image/etc/s6-rc/weston/dependencies.d/systemd-udevd-coldplug rename to host/rootfs/image/etc/s6-rc/cosmic-comp/dependencies.d/systemd-udevd-coldplug diff --git a/host/rootfs/image/etc/s6-rc/weston/notification-fd b/host/rootfs/image/etc/s6-rc/cosmic-comp/notification-fd similarity index 100% rename from host/rootfs/image/etc/s6-rc/weston/notification-fd rename to host/rootfs/image/etc/s6-rc/cosmic-comp/notification-fd diff --git a/host/rootfs/image/etc/s6-rc/weston/notification-fd.license b/host/rootfs/image/etc/s6-rc/cosmic-comp/notification-fd.license similarity index 100% rename from host/rootfs/image/etc/s6-rc/weston/notification-fd.license rename to host/rootfs/image/etc/s6-rc/cosmic-comp/notification-fd.license diff --git a/host/rootfs/image/etc/s6-rc/weston/run b/host/rootfs/image/etc/s6-rc/cosmic-comp/run similarity index 77% rename from host/rootfs/image/etc/s6-rc/weston/run rename to host/rootfs/image/etc/s6-rc/cosmic-comp/run index 8b065ee9..4e2155d4 100644 --- a/host/rootfs/image/etc/s6-rc/weston/run +++ b/host/rootfs/image/etc/s6-rc/cosmic-comp/run @@ -1,6 +1,6 @@ #!/bin/execlineb -WP # SPDX-License-Identifier: EUPL-1.2+ -# SPDX-FileCopyrightText: 2021, 2025 Alyssa Ross +# SPDX-FileCopyrightText: 2021, 2023, 2025-2026 Alyssa Ross importas -Siu WAYLAND_DISPLAY @@ -24,26 +24,17 @@ background { fdclose 4 fdclose 5 -# Workaround for -# https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1911 -if { mkdir -p -m 0700 /run/user/0 } - -backtick USER { id -un } -backtick HOME { - importas -i user USER - homeof $user -} - if { install -do wayland -g wayland -m 0770 /run/wayland } if { chown wayland /dev/tty0 /dev/tty1 } +export XDG_CONFIG_HOME /etc/xdg redirfd -r 0 /dev/tty1 -importas -i home HOME -cd $home if { udevadm settle } +s6-notify-fd-from-socket -33 s6-setuidgid wayland bwrap - # no --unshare-net, breaks udev hotplug + # no --unshare-net, broke Weston's udev hotplug and readiness notification + # uses abstract namespace socket. --unshare-ipc --unshare-uts --unshare-cgroup @@ -84,8 +75,9 @@ bwrap --dev-bind /dev/tty0 /dev/tty0 # Kernel console --dev-bind /dev/console /dev/console - # So that Weston can create its listening socket - --bind /run/user/0 /run/user/0 + # Listening socket --bind /run/wayland /run/wayland + # Workaround for https://github.com/pop-os/cosmic-comp/pull/2547 + --dir /run/systemd/system -- -weston -S $WAYLAND_DISPLAY +cosmic-comp --no-xwayland --socket-path $WAYLAND_DISPLAY diff --git a/host/rootfs/image/etc/s6-rc/weston/type b/host/rootfs/image/etc/s6-rc/cosmic-comp/type similarity index 100% copy from host/rootfs/image/etc/s6-rc/weston/type copy to host/rootfs/image/etc/s6-rc/cosmic-comp/type diff --git a/host/rootfs/image/etc/s6-rc/weston/type.license b/host/rootfs/image/etc/s6-rc/cosmic-comp/type.license similarity index 100% rename from host/rootfs/image/etc/s6-rc/weston/type.license rename to host/rootfs/image/etc/s6-rc/cosmic-comp/type.license diff --git a/host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston b/host/rootfs/image/etc/s6-rc/cosmic-panel/dependencies.d/cosmic-comp similarity index 100% copy from host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston copy to host/rootfs/image/etc/s6-rc/cosmic-panel/dependencies.d/cosmic-comp diff --git a/host/rootfs/image/etc/s6-rc/cosmic-panel/run b/host/rootfs/image/etc/s6-rc/cosmic-panel/run new file mode 100644 index 00000000..37b13f0f --- /dev/null +++ b/host/rootfs/image/etc/s6-rc/cosmic-panel/run @@ -0,0 +1,12 @@ +#!/bin/execlineb -P +# SPDX-License-Identifier: EUPL-1.2+ +# SPDX-FileCopyrightText: 2021, 2023 Alyssa Ross + +# Really cosmic-panel should look here by default, but it doesn't +# properly implement the XDG Base Directories spec. +export XDG_CONFIG_HOME /etc/xdg + +# TODO: this should be fixed in Nixpkgs libcosmicAppHook +export XDG_DATA_DIRS /usr/share + +cosmic-panel diff --git a/host/rootfs/image/etc/s6-rc/weston/type b/host/rootfs/image/etc/s6-rc/cosmic-panel/type similarity index 100% rename from host/rootfs/image/etc/s6-rc/weston/type rename to host/rootfs/image/etc/s6-rc/cosmic-panel/type diff --git a/host/rootfs/image/etc/s6-rc/cosmic-panel/type.license b/host/rootfs/image/etc/s6-rc/cosmic-panel/type.license new file mode 100644 index 00000000..a941ca49 --- /dev/null +++ b/host/rootfs/image/etc/s6-rc/cosmic-panel/type.license @@ -0,0 +1,2 @@ +SPDX-License-Identifier: CC0-1.0 +SPDX-FileCopyrightText: 2023 Alyssa Ross diff --git a/host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston b/host/rootfs/image/etc/s6-rc/ok-all/contents.d/cosmic-panel similarity index 100% copy from host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston copy to host/rootfs/image/etc/s6-rc/ok-all/contents.d/cosmic-panel diff --git a/host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston b/host/rootfs/image/etc/s6-rc/vm-env/contents.d/cosmic-comp similarity index 100% rename from host/rootfs/image/etc/s6-rc/vm-env/contents.d/weston rename to host/rootfs/image/etc/s6-rc/vm-env/contents.d/cosmic-comp diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites new file mode 100644 index 00000000..d590137c --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +[ + "org.spectrum_os.RootTerminal", + "com.system76.CosmicFiles", +] diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor new file mode 100644 index 00000000..9d8289d3 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +Bottom diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide new file mode 100644 index 00000000..a174e885 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide @@ -0,0 +1,9 @@ +// SPDX-FileCopyrightText: 2026 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +Some(( + wait_time: 500, + transition_time: 200, + handle_size: 2, + unhide_delay: 200, +)) diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius new file mode 100644 index 00000000..6c134b61 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +12 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone new file mode 100644 index 00000000..649e8da1 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +false diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges new file mode 100644 index 00000000..649e8da1 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +false diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity new file mode 100644 index 00000000..8c8f42ee --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +OnDemand diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin new file mode 100644 index 00000000..975df65f --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name new file mode 100644 index 00000000..765e2670 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +"Dock" diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity new file mode 100644 index 00000000..6fc91781 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2026 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +1.0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center new file mode 100644 index 00000000..7c9eaffa --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center @@ -0,0 +1,6 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +Some([ + "com.system76.CosmicAppList", +]) diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size new file mode 100644 index 00000000..09edcd5e --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +L diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide new file mode 100644 index 00000000..705322df --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2026 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +None diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius new file mode 100644 index 00000000..975df65f --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity new file mode 100644 index 00000000..8c8f42ee --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +OnDemand diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin new file mode 100644 index 00000000..975df65f --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name new file mode 100644 index 00000000..ddea5ce9 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +"Panel" diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity new file mode 100644 index 00000000..6fc91781 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2026 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +1.0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding new file mode 100644 index 00000000..964ccc50 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2026 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +0 diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center new file mode 100644 index 00000000..a6566936 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center @@ -0,0 +1,6 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +Some([ + "com.system76.CosmicAppletTime", +]) diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings new file mode 100644 index 00000000..2078e056 --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings @@ -0,0 +1,9 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +Some(( + [ + "com.system76.CosmicAppletWorkspaces", + ], + [], +)) diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size new file mode 100644 index 00000000..ada95c5c --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +XS diff --git a/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries new file mode 100644 index 00000000..07b08d8e --- /dev/null +++ b/host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2023 Alyssa Ross +// SPDX-License-Identifier: CC0-1.0 + +[ + "Panel", + "Dock", +] diff --git a/host/rootfs/image/etc/xdg/weston/autolaunch b/host/rootfs/image/etc/xdg/weston/autolaunch deleted file mode 100755 index 196c1377..00000000 --- a/host/rootfs/image/etc/xdg/weston/autolaunch +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/execlineb -WP -# SPDX-License-Identifier: EUPL-1.2+ -# SPDX-FileCopyrightText: 2021 Alyssa Ross - -# Notify readiness -fdmove 1 3 -echo diff --git a/host/rootfs/image/etc/xdg/weston/weston.ini b/host/rootfs/image/etc/xdg/weston/weston.ini deleted file mode 100644 index a4763c6d..00000000 --- a/host/rootfs/image/etc/xdg/weston/weston.ini +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-License-Identifier: CC0-1.0 -# SPDX-FileCopyrightText: 2021, 2024 Alyssa Ross - -[autolaunch] -path=/etc/xdg/weston/autolaunch - -[launcher] -icon=/usr/share/weston/icon_terminal.png -displayname=Root Terminal -path=/bin/root-terminal - -[launcher] -icon=/usr/share/icons/hicolor/20x20/apps/com.system76.CosmicFiles.png -displayname=Files -path=/bin/cosmic-files diff --git a/host/rootfs/image/usr/share/applications/org.spectrum_os.RootTerminal.desktop b/host/rootfs/image/usr/share/applications/org.spectrum_os.RootTerminal.desktop new file mode 100644 index 00000000..ff46caf1 --- /dev/null +++ b/host/rootfs/image/usr/share/applications/org.spectrum_os.RootTerminal.desktop @@ -0,0 +1,9 @@ +# SPDX-FileCopyrightText: 2023 Alyssa Ross +# SPDX-License-Identifier: CC0-1.0 + +[Desktop Entry] +Type=Application +Name=Root Terminal +Icon=foot +Exec=/bin/root-terminal +StartupWMClass=foot -- 2.54.0