Skip to content

feat(hermes-ssh-chat): add Hermes SSH terminal plugin#931

Open
FelipeMayerDev wants to merge 6 commits into
noctalia-dev:mainfrom
FelipeMayerDev:feat/hermes-ssh-chat
Open

feat(hermes-ssh-chat): add Hermes SSH terminal plugin#931
FelipeMayerDev wants to merge 6 commits into
noctalia-dev:mainfrom
FelipeMayerDev:feat/hermes-ssh-chat

Conversation

@FelipeMayerDev

Copy link
Copy Markdown

Adds the Hermes SSH terminal plugin with bar widget, panel, settings, SSH bridge helper, Hermes icon, preview image, and localized strings.\n\nIncludes: persistent session state, auto-connect setting, panel reconnect behavior, and Lobe Hub Hermes icon asset.

@github-actions

Copy link
Copy Markdown
Contributor

Automatic Code Quality Review


File: hermes-ssh-chat/BarWidget.qml

  • (H) Missing required property pluginApi. For example:
property var pluginApi: null

File: hermes-ssh-chat/Panel.qml

  • (H) Missing required property pluginApi. For example:
property var pluginApi: null
  • (H) Missing required property geometryPlaceholder. For example:
readonly property var geometryPlaceholder: panelContainer
  • (H) Missing required property allowAttach. For example:
readonly property bool allowAttach: true

@github-actions

Copy link
Copy Markdown
Contributor

Automatic Code Quality Review


File: hermes-ssh-chat/Panel.qml

  • (H) Missing required property pluginApi. For example:
property var pluginApi: null
  • (H) Missing required property geometryPlaceholder. For example:
readonly property var geometryPlaceholder: panelContainer
  • (H) Missing required property allowAttach. For example:
readonly property bool allowAttach: true

@spiros132 spiros132 marked this pull request as draft June 15, 2026 15:14
@FelipeMayerDev FelipeMayerDev marked this pull request as ready for review June 15, 2026 23:40
Forward Quickshell.clipboardText to the PTY on Ctrl+V so users can
paste into the Hermes terminal. Bridge already accepts raw text, so
content (\r\n, tabs, spaces) is preserved unchanged.
Add a Main.qml entry point exposing IPC commands (toggle/open/close) so a
compositor keybind can show/hide the panel, plus a Hyprland GlobalShortcut
whose name is configurable in plugin settings. Document the bind for Niri,
Hyprland, and Mango. Focus is delivered to the terminal on open via the
existing Panel visibility handler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Automatic Code Quality Review


File: hermes-ssh-chat/Main.qml

  • (H) Line 41: Use translations instead of hardcoded text. Instead of: "Example Label". To: pluginApi?.tr("panel.example-label")
+    description: "Toggle the Hermes SSH terminal panel"

Replaces hardcoded string on Main.qml:41 with pluginApi?.tr() to satisfy
the code-quality CI check. Fallback string keeps compositor label when
pluginApi is not yet set. Adds shortcut.description key to en/pt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Automatic Code Quality Review


File: hermes-ssh-chat/Main.qml

  • (L) Line 41: When it comes to translations there is no need for fallback values. From: pluginApi?.tr("example") || "value". To: pluginApi?.tr("example")
+    description: pluginApi?.tr("shortcut.description") ?? "Toggle the Hermes SSH terminal panel"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant