Releases: AndyHazz/squissh
v1.7.0
New Features
- Non-standard SSH port support — hosts with a custom
Portin SSH config now use TCP port probing (nc) instead of ICMP ping for status detection, fixing reachability checks for devices that block ping (e.g. Kindle) - SFTP port support — file browser button now includes the correct port in the SFTP URL for non-standard ports
# NoSFTPdirective — hide the file browser button for hosts that don't support SFTP (e.g. routers, embedded devices)- Detached terminal sessions — SSH terminals now survive plasmashell restarts
Documentation
- Updated README and in-app help with
# NoSFTPdirective and non-standard port notes
v1.6.1
Bug Fixes
- Fix unreachable hosts briefly flickering when opening the widget with "hide unreachable" enabled
- Cache last known host statuses across sessions for instant display on open
- Remove intermediate "checking" state that caused online hosts to momentarily disappear during refresh
SquiSSH v1.6.0
What's New
Inline Quick Commands
- New Show quick commands option in Appearance settings
- Displays command buttons as lozenge-style chips below each host
- Commands wrap to multiple lines based on widget width
- Hover highlights the border; tooltip shows the raw command for named commands
- When enabled, commands are removed from the three-dot overflow menu
Show/Hide Last Connected Time
- New Show last connected time config option in Appearance settings
- Time now displays inline with the user@host subtitle (e.g.
user@host.lan · 5 mins ago)
Layout Improvements
- Balanced spacing around status indicator dot
- Status dot and icon properly vertically centered
- Command chips align with icon whether status indicator is shown or hidden
Bug Fixes
- Fix context menu toggle — clicking the three-dot button while menu is open now closes it
- Fix stale highlight on first host after closing a context menu
- Fix hide-unreachable filtering out all hosts when status monitoring is disabled
- Fix hide-unreachable filtering hosts with "unknown" or "checking" status
SquiSSH v1.5.0
What's New
Named Commands
Commands can now have display names using bracket syntax in your SSH config:
# Command [Deploy App] deploy.sh --prod
# Command [View Logs] tail -f /var/log/*.log
# Command check-logs
Named commands show the friendly name in the context menu; unnamed commands show the raw command as before.
The config editor now shows two fields per command — an optional Name and the Command.
Compound Command Execution Fix
Commands using shell operators (&&, |, ;, etc.) now work correctly. Previously, a command like cd / && my-tool would fail with "Requested executable not found". Commands are now executed through the user's login shell ($SHELL -lic) so the full PATH and shell features are available.
Security Hardening
- Host aliases and hostnames are now shell-escaped to prevent command injection from crafted SSH config files
- Hostname validation on ping commands prevents injection via malicious
HostNamevalues - Config file path is properly quoted
Install
kpackagetool6 -t Plasma/Applet -i squissh-1.5.0.plasmoid
# or upgrade:
kpackagetool6 -t Plasma/Applet -u squissh-1.5.0.plasmoidv1.4.1 — Localhost Fix & Terminal Icon
Fixes
- Localhost terminal launch — clicking a localhost entry now correctly opens a bare terminal window instead of failing with a dangling
-eflag - Terminal icon detection — host entries without a custom icon now show your configured terminal's icon (e.g. Ghostty) instead of the generic
network-servericon - Rename cleanup — remaining QuickSSH → SquiSSH references in install script, comments, and tests
🤖 Generated with Claude Code
v1.4.0 — SquiSSH: Renamed, Squishy Icon & Settings Overhaul
Quick SSH has been renamed to SquiSSH! New name, new look, same great widget.
Rename
- Project renamed from Quick SSH → SquiSSH
- New squishy terminal icon with inward-bowing edges
- Theme-aware README icon for GitHub dark/light mode
- Custom icon on the KDE About page
- Plugin ID changed to
com.github.andyhazz.squissh— you'll need to re-add the widget to your panel after upgrading
New Features
Local Host Support
- Hosts with
HostName localhost,127.0.0.1, or::1are now treated as local — clicking opens a terminal directly without SSH - Custom commands run locally for local hosts
- SFTP and "Setup Passwordless Login" options are hidden for local hosts
- Tooltip shows "Open terminal" instead of the SSH command
Custom Panel Icon
- Uses the new
squissh.svgicon withisMask: truefor proper theme-aware coloring - Added hover highlight effect on the panel icon
Terminal Icon Auto-Detection
- Hosts without a custom icon now show your terminal emulator's icon instead of the generic
network-servericon - Built-in icon names (
squissh,terminal) resolve correctly
Config Persistence
- Settings now survive widget updates via an external prefs file (
~/.config/squissh-prefs.json)
Settings UX Improvements
- Reordered General settings: Connection → Appearance → Status Monitoring (most commonly adjusted settings closer to the top)
- Fixed poll interval to enable whenever status monitoring is on, not just when notifications are enabled
- Added helper text for badge, poll interval, and commands settings
- Renamed "QuickSSH Options" → "Display & Wake-on-LAN" in the host editor
- Renamed help tab and reorganized notes into scannable subsections (Icons, Local Hosts, Other Notes)
- Improved settings tab icons (
configure,view-list-tree,help-contents) - Fixed host tree indentation to use proper
leftPaddinginstead of space characters - Added content margins to Help page
Install
# Fresh install
kpackagetool6 -t Plasma/Applet -i squissh-1.4.0.plasmoid
# Upgrade from Quick SSH (new plugin ID — install fresh, then remove old widget)
kpackagetool6 -t Plasma/Applet -i squissh-1.4.0.plasmoid
kpackagetool6 -t Plasma/Applet -r com.github.andyhazz.quicksshv1.3.0 — SSH Config Editor & Host Reordering
What's New
SSH Config Editor (new Hosts tab)
- Full visual editor for
~/.ssh/config— add, edit, and delete hosts without touching the file manually - Round-trip parser/serializer that preserves wildcard blocks (
Host *),Matchblocks, andIncludedirectives untouched - Edit all standard SSH directives: Host, HostName, User, Port, IdentityFile
- Additional SSH options — add arbitrary key/value directives (ProxyJump, ForwardAgent, etc.)
- Custom commands per host
- Group management — assign hosts to groups via editable combo box; new groups created on the fly
- QuickSSH metadata (icon, MAC address) editable inline
- Config written to disk on Apply with automatic
.bakbackup; Cancel discards changes
Host & Group Reordering
- Move up/down buttons in the toolbar to reorder hosts within a group
- Selectable group headers — click a group header to select it, then use the same buttons to reorder entire groups
- Buttons auto-disable at boundaries (first item can't move up, last can't move down)
- Order matters in SSH config (first matching Host block wins), so this gives users direct control
Other
- Expanded test suite (184 tests across 6 modules)
Install
kpackagetool6 -t Plasma/Applet -i quickssh-1.3.0.plasmoid
# or to upgrade:
kpackagetool6 -t Plasma/Applet -u quickssh-1.3.0.plasmoidv1.2.0
What's New
- Overflow menu on each host row — all actions (SFTP, pin/unpin, Wake-on-LAN, custom commands, passwordless login) are now accessible from a single menu button that appears on hover, replacing the hidden right-click context menu
- Sort order setting — choose between SSH config order, recently accessed, or alphabetical sorting (Settings → Appearance → Sort order)
- Pin indicator — pinned hosts show a subtle pin icon when not hovered
- Config persistence fix — settings now survive widget updates from the KDE Store (uses standalone config file instead of per-applet-ID storage)
Fixes
- "Recent" group no longer appears when grouping is disabled or when sorting by recent
- Placeholder text now says "No SSH hosts available" instead of "No SSH hosts configured" (covers offline/disconnected cases)
- "Run Command" submenu no longer appears when no commands are configured
- Interactive remote commands (e.g. htop) now work correctly via
ssh -t - Context menus close when the widget popup is dismissed
- SFTP folder icon properly sized
v1.1.0
Performance improvements
- Instant popup loading — parsed SSH hosts are cached in KConfig, so the host list appears immediately on open
- Non-blocking status checks — ping connections are staggered across event loop ticks instead of fired synchronously
- Batched status updates — ping results are debounced into a single model refresh instead of one per host
- Smart refresh cooldown — config re-reads and pings are skipped if done within the last 30 seconds
- Lazy-loaded context menus — right-click menus are only created when needed, not on every delegate
- Eager initialization — status checks run at widget load time, not first popup open
- Preloaded popup — FullRepresentation component tree is created at startup
Install
kpackagetool6 -t Plasma/Applet -i quickssh-1.1.0.plasmoidOr upgrade an existing install:
kpackagetool6 -t Plasma/Applet -u quickssh-1.1.0.plasmoidv1.0.0
Quick SSH v1.0.0
A KDE Plasma 6 system tray widget for quick SSH connections from your ~/.ssh/config.
Features
- Parses
~/.ssh/configautomatically - One-click SSH connections in your preferred terminal
- Host grouping with
#GroupStart/#GroupEndcomments - Custom icons per host with
#Icondirective - Connection history with "Recent" group
- Wake-on-LAN via
#MACdirective - Per-host custom commands via
#Commanddirective - Pin favorite hosts to the top
- Live online/offline status via ping
- Search/filter hosts, or connect to arbitrary hostnames
- SFTP file manager access
- mDNS/Avahi network host discovery
- Status change notifications
Install
Download quickssh-1.0.0.plasmoid and run:
kpackagetool6 -t Plasma/Applet -i quickssh-1.0.0.plasmoid