From 1ba6eda9221f9ca3d2768b27eca3cb982f8fff29 Mon Sep 17 00:00:00 2001 From: Zygmunt Krynicki Date: Tue, 2 Jun 2026 19:07:17 +0200 Subject: [PATCH] feat(snap): add openshell.term desktop app Add a desktop launcher for the OpenShell TUI so users can launch "openshell term" from their desktop environment application menu. The change adds three files: - snap/local/term.desktop: desktop entry file for the application launcher - snap/local/icon.png: application icon (copied from snap store data) - snapcraft.yaml: new "term" app entry that runs "openshell term" with home, network, ssh-keys, and system-observe plugs, plus install rules to stage the desktop file and icon under meta/gui/ The desktop file references the icon via ${SNAP} which is resolved at runtime to the snap installation directory. The term app reuses the same connection plugs as the main openshell app. Signed-off-by: Zygmunt Krynicki --- snap/local/icon.png | Bin 0 -> 16598 bytes snap/local/term.desktop | 9 +++++++++ snapcraft.yaml | 12 ++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 snap/local/icon.png create mode 100644 snap/local/term.desktop diff --git a/snap/local/icon.png b/snap/local/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4d81406875752f52a6ac2efee51293f2d3be0ef4 GIT binary patch literal 16598 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 literal 0 HcmV?d00001 diff --git a/snap/local/term.desktop b/snap/local/term.desktop new file mode 100644 index 000000000..af5b6fa67 --- /dev/null +++ b/snap/local/term.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=OpenShell +Comment=OpenShell terminal UI for managing sandboxes and gateways +Exec=openshell.term +Icon=${SNAP}/meta/gui/icon.png +Terminal=true +Type=Application +Categories=Development; +StartupNotify=true diff --git a/snapcraft.yaml b/snapcraft.yaml index 136f1a78c..a53995605 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -35,6 +35,14 @@ apps: - network - ssh-keys - system-observe + term: + command: bin/openshell term + desktop: meta/gui/term.desktop + plugs: + - home + - network + - ssh-keys + - system-observe gateway: command: bin/openshell-gateway-wrapper daemon: simple @@ -84,6 +92,10 @@ parts: "$CRAFT_PART_INSTALL/bin/openshell-sandbox" install -D -m 0755 "$CRAFT_PROJECT_DIR/deploy/snap/bin/openshell-gateway-wrapper" \ "$CRAFT_PART_INSTALL/bin/openshell-gateway-wrapper" + install -D -m 0644 "$CRAFT_PROJECT_DIR/snap/local/term.desktop" \ + "$CRAFT_PART_INSTALL/meta/gui/term.desktop" + install -D -m 0644 "$CRAFT_PROJECT_DIR/snap/local/icon.png" \ + "$CRAFT_PART_INSTALL/meta/gui/icon.png" install -D -m 0644 "$CRAFT_PROJECT_DIR/LICENSE" \ "$CRAFT_PART_INSTALL/usr/share/doc/openshell/LICENSE" install -D -m 0644 "$CRAFT_PROJECT_DIR/README.md" \