From afd4f8baa916dc35298444f7af3d088f2bab1e87 Mon Sep 17 00:00:00 2001 From: hstyi Date: Tue, 15 Jul 2025 10:12:59 +0800 Subject: [PATCH] fix: alt modifier echo problem --- plugins/serial/build.gradle.kts | 2 +- .../kotlin/app/termora/plugins/serial/SerialHostOptionsPane.kt | 3 +++ .../app/termora/plugin/internal/local/LocalHostOptionsPane.kt | 3 +++ .../app/termora/plugin/internal/ssh/SSHHostOptionsPane.kt | 3 +++ .../termora/plugin/internal/telnet/TelnetHostOptionsPane.kt | 3 +++ 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/serial/build.gradle.kts b/plugins/serial/build.gradle.kts index 2d7e6a8..2241604 100644 --- a/plugins/serial/build.gradle.kts +++ b/plugins/serial/build.gradle.kts @@ -4,7 +4,7 @@ plugins { -project.version = "0.0.2" +project.version = "0.0.3" dependencies { diff --git a/plugins/serial/src/main/kotlin/app/termora/plugins/serial/SerialHostOptionsPane.kt b/plugins/serial/src/main/kotlin/app/termora/plugins/serial/SerialHostOptionsPane.kt index 9c35a62..9be4985 100644 --- a/plugins/serial/src/main/kotlin/app/termora/plugins/serial/SerialHostOptionsPane.kt +++ b/plugins/serial/src/main/kotlin/app/termora/plugins/serial/SerialHostOptionsPane.kt @@ -85,6 +85,9 @@ class SerialHostOptionsPane : OptionsPane() { serialCommOption.stopBitsComboBox.selectedItem = serialComm.stopBits serialCommOption.flowControlComboBox.selectedItem = serialComm.flowControl + val altModifier = host.options.extras["altModifier"] ?: AltKeyModifier.EightBit.name + terminalOption.altModifierComboBox.selectedItem = runCatching { AltKeyModifier.valueOf(altModifier) } + .getOrNull() ?: AltKeyModifier.EightBit } fun validateFields(): Boolean { diff --git a/src/main/kotlin/app/termora/plugin/internal/local/LocalHostOptionsPane.kt b/src/main/kotlin/app/termora/plugin/internal/local/LocalHostOptionsPane.kt index a2427a2..b3cfc01 100644 --- a/src/main/kotlin/app/termora/plugin/internal/local/LocalHostOptionsPane.kt +++ b/src/main/kotlin/app/termora/plugin/internal/local/LocalHostOptionsPane.kt @@ -63,6 +63,9 @@ internal open class LocalHostOptionsPane : OptionsPane() { terminalOption.environmentTextArea.text = host.options.env terminalOption.startupCommandTextField.text = host.options.startupCommand + val altModifier = host.options.extras["altModifier"] ?: AltKeyModifier.EightBit.name + terminalOption.altModifierComboBox.selectedItem = runCatching { AltKeyModifier.valueOf(altModifier) } + .getOrNull() ?: AltKeyModifier.EightBit } fun validateFields(): Boolean { diff --git a/src/main/kotlin/app/termora/plugin/internal/ssh/SSHHostOptionsPane.kt b/src/main/kotlin/app/termora/plugin/internal/ssh/SSHHostOptionsPane.kt index e7c111d..3e26c55 100644 --- a/src/main/kotlin/app/termora/plugin/internal/ssh/SSHHostOptionsPane.kt +++ b/src/main/kotlin/app/termora/plugin/internal/ssh/SSHHostOptionsPane.kt @@ -153,6 +153,9 @@ internal class SSHHostOptionsPane(private val accountOwner: AccountOwner) : Opti terminalOption.startupCommandTextField.text = host.options.startupCommand terminalOption.heartbeatIntervalTextField.value = host.options.heartbeatInterval terminalOption.loginScripts.addAll(host.options.loginScripts) + val altModifier = host.options.extras["altModifier"] ?: AltKeyModifier.EightBit.name + terminalOption.altModifierComboBox.selectedItem = runCatching { AltKeyModifier.valueOf(altModifier) } + .getOrNull() ?: AltKeyModifier.EightBit tunnelingOption.tunnelings.addAll(host.tunnelings) tunnelingOption.x11ForwardingCheckBox.isSelected = host.options.enableX11Forwarding diff --git a/src/main/kotlin/app/termora/plugin/internal/telnet/TelnetHostOptionsPane.kt b/src/main/kotlin/app/termora/plugin/internal/telnet/TelnetHostOptionsPane.kt index a5a351a..62fd9c3 100644 --- a/src/main/kotlin/app/termora/plugin/internal/telnet/TelnetHostOptionsPane.kt +++ b/src/main/kotlin/app/termora/plugin/internal/telnet/TelnetHostOptionsPane.kt @@ -105,6 +105,9 @@ class TelnetHostOptionsPane(private val accountOwner: AccountOwner) : OptionsPan Backspace.valueOf(host.options.extras["backspace"] ?: Backspace.Delete.name) terminalOption.characterAtATimeTextField.selectedItem = host.options.extras["character-at-a-time"]?.toBooleanStrictOrNull() ?: false + val altModifier = host.options.extras["altModifier"] ?: AltKeyModifier.EightBit.name + terminalOption.altModifierComboBox.selectedItem = runCatching { AltKeyModifier.valueOf(altModifier) } + .getOrNull() ?: AltKeyModifier.EightBit terminalOption.loginScripts.clear() terminalOption.loginScripts.addAll(host.options.loginScripts)