Repository navigation
Conversation
ryovm and the lockscreen built the terminal command as `--class NAME`, kitty's flag form. Ghostty wants `--class=NAME`; given the bare flag it reads `--class` as a value-less option and then parses the name as a stray config field, so it opened its "Configuration Errors" window on every connect. kitty accepts both forms, so one form covers the terminals Ryoku can be pointed at today. Note: Fixed: opening a remote in ryovm no longer raises the terminal's config error window
Collaborator
|
Thanks for this, the flag form is exactly right and it's merged into what just landed on unstable-dev. We went a bit further on the same line: Ghostty also validates the class as a GTK application id (needs a dot), so the names are now dev.ryoku.* ids and the ryoport window rule matches them, and ryossh's terminal switch gained the missing Ghostty branch. Both of the items your PR listed as not fixed are covered, so closing here rather than merging into main directly; it ships with the next release of main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Opening a remote in ryovm raises the terminal's own config error window when the
configured terminal is Ghostty.
Versions
What appears
Ghostty's "Configuration Errors" window:
Why
ryovm and the lockscreen build the command as
"${TERMINAL:-kitty}" --class NAME -e ....--class NAMEwith a space iskitty's flag form. Ghostty wants
--class=NAME: given the bare flag it reportsclass: value required, then parses the name as another config field and reportsinvalid field. Those two lines are the window.Verification
Window class read back with
hyprctl clients, Hyprland 0.56.2, ghostty 1.3.1,kitty 0.44:
kitty accepts both forms, so one form covers both terminals.
Also validated on the real flow: connecting to a host in ryovm spawns
ghostty --class=ryoport-ssh -e ...with no error window, where the same actionraised one before the change.
What this does not fix
Two things left alone, both of which look like your call:
ryoku/apps/ryovm/remote/ryossh.go:936already has a per-terminal switch(kitty, foot, alacritty, wezterm). Ghostty is not in it, so that path falls
through to
defaultand sets no class at all. The QML sites changed here donot go through that helper; they build the command string themselves.
Ghostty validates
classas a GTK app id, and those cannot contain hyphens,so
ryoport-ssh,ryovm-sshandryoku-passkeyare ignored even with theright flag form. The window keeps
com.mitchellh.ghostty, which means thefloat-ryoport-sshstyle rules inryoku/hyprland/modules/window_rules.luacannot match on Ghostty. Fixing that needs different class names plus
matching rules.
Checked with
qmllinton the four files, andbin/ryoku-dev-verify-delivery,bin/ryoku-dev-verify-wm-isolationandbin/ryoku-dev-scan-slop.