diff --git a/src/main/kotlin/app/termora/DynamicIcon.kt b/src/main/kotlin/app/termora/DynamicIcon.kt index 2ef2cb7..3b9efcf 100644 --- a/src/main/kotlin/app/termora/DynamicIcon.kt +++ b/src/main/kotlin/app/termora/DynamicIcon.kt @@ -2,9 +2,10 @@ package app.termora import com.formdev.flatlaf.extras.FlatSVGIcon -open class DynamicIcon(name: String, private val darkName: String) : FlatSVGIcon(name) { +open class DynamicIcon(name: String, private val darkName: String, val allowColorFilter: Boolean = true) : + FlatSVGIcon(name) { constructor(name: String) : this(name, name) - val dark by lazy { DynamicIcon(darkName, name) } + val dark by lazy { DynamicIcon(darkName, name, allowColorFilter) } } diff --git a/src/main/kotlin/app/termora/Icons.kt b/src/main/kotlin/app/termora/Icons.kt index 50ec042..1dfc370 100644 --- a/src/main/kotlin/app/termora/Icons.kt +++ b/src/main/kotlin/app/termora/Icons.kt @@ -40,7 +40,12 @@ object Icons { val error by lazy { DynamicIcon("icons/error.svg", "icons/error_dark.svg") } val cwmUsers by lazy { DynamicIcon("icons/cwmUsers.svg", "icons/cwmUsers_dark.svg") } val cwmPermissions by lazy { DynamicIcon("icons/cwmPermissions.svg", "icons/cwmPermissions_dark.svg") } - val warningIntroduction by lazy { DynamicIcon("icons/warningIntroduction.svg", "icons/warningIntroduction_dark.svg") } + val warningIntroduction by lazy { + DynamicIcon( + "icons/warningIntroduction.svg", + "icons/warningIntroduction_dark.svg" + ) + } val networkPolicy by lazy { DynamicIcon("icons/networkPolicy.svg", "icons/networkPolicy_dark.svg") } val clusterRole by lazy { DynamicIcon("icons/clusterRole.svg", "icons/clusterRole_dark.svg") } val daemonSets by lazy { DynamicIcon("icons/daemonSets.svg", "icons/daemonSets_dark.svg") } @@ -91,7 +96,7 @@ object Icons { val digitalocean by lazy { DynamicIcon("icons/digitalocean.svg", "icons/digitalocean_dark.svg") } val terminalUnread by lazy { DynamicIcon("icons/terminalUnread.svg", "icons/terminalUnread_dark.svg") } val dbPrimitive by lazy { DynamicIcon("icons/dbPrimitive.svg", "icons/dbPrimitive_dark.svg") } - val linux by lazy { DynamicIcon("icons/linux.svg", "icons/linux_dark.svg") } + val linux by lazy { DynamicIcon("icons/linux.svg", "icons/linux_dark.svg", false) } val debian by lazy { DynamicIcon("icons/debian.svg") } val fedora by lazy { DynamicIcon("icons/fedora.svg") } val almalinux by lazy { DynamicIcon("icons/almalinux.svg") } diff --git a/src/main/kotlin/app/termora/plugin/internal/wsl/WSLHostOptionsPane.kt b/src/main/kotlin/app/termora/plugin/internal/wsl/WSLHostOptionsPane.kt index 5ed37e8..2cb5be8 100644 --- a/src/main/kotlin/app/termora/plugin/internal/wsl/WSLHostOptionsPane.kt +++ b/src/main/kotlin/app/termora/plugin/internal/wsl/WSLHostOptionsPane.kt @@ -29,12 +29,14 @@ internal open class WSLHostOptionsPane : OptionsPane() { open fun getHost(): Host { val name = generalOption.nameTextField.text val protocol = WSLProtocolProvider.PROTOCOL - val host = (generalOption.hostComboBox.selectedItem as WSLDistribution).distributionName + val wsl = generalOption.hostComboBox.selectedItem as WSLDistribution + val host = wsl.distributionName val options = Options.Companion.Default.copy( encoding = terminalOption.charsetComboBox.selectedItem as String, env = terminalOption.environmentTextArea.text, startupCommand = terminalOption.startupCommandTextField.text, + extras = mutableMapOf("wsl-guid" to wsl.guid, "wsl-flavor" to wsl.flavor) ) return Host( diff --git a/src/main/kotlin/app/termora/tree/SimpleTreeCellRenderer.kt b/src/main/kotlin/app/termora/tree/SimpleTreeCellRenderer.kt index 4b7eca8..a8191a3 100644 --- a/src/main/kotlin/app/termora/tree/SimpleTreeCellRenderer.kt +++ b/src/main/kotlin/app/termora/tree/SimpleTreeCellRenderer.kt @@ -85,11 +85,11 @@ open class SimpleTreeCellRenderer : DefaultTreeCellRenderer() { if (c is DefaultTreeCellRenderer) { if (g.color == c.textSelectionColor) { val icon = this.icon - if (icon is DynamicIcon && FlatLaf.isLafDark().not()) { + if (icon is DynamicIcon && icon.allowColorFilter && FlatLaf.isLafDark().not()) { val oldColorFilter = icon.colorFilter -// icon.colorFilter = colorFilter + icon.colorFilter = colorFilter icon.paintIcon(c, g, x, y) -// icon.colorFilter = oldColorFilter + icon.colorFilter = oldColorFilter return } }