Gitnuro/src/main/kotlin/com/jetpackduba/gitnuro/terminal/LinuxTerminalProvider.kt
2023-03-21 01:37:05 +01:00

27 lines
1.1 KiB
Kotlin

package com.jetpackduba.gitnuro.terminal
import com.jetpackduba.gitnuro.extensions.runCommand
import com.jetpackduba.gitnuro.extensions.runCommandInPath
import javax.inject.Inject
class LinuxTerminalProvider @Inject constructor() : ITerminalProvider {
override fun getTerminalEmulators(): List<TerminalEmulator> {
return listOf(
TerminalEmulator("Gnome Terminal", "gnome-terminal"),
TerminalEmulator("KDE Terminal", "kde-terminal"),
TerminalEmulator("XFCE Terminal", "xfce4-terminal"),
TerminalEmulator("Mate Terminal", "mate-terminal"),
TerminalEmulator("LXQT Terminal", "qterminal"),
)
}
override fun isTerminalInstalled(terminalEmulator: TerminalEmulator): Boolean {
val checkTerminalInstalled = runCommand("which ${terminalEmulator.path} 2>/dev/null")
return !checkTerminalInstalled.isNullOrEmpty()
}
override fun startTerminal(terminalEmulator: TerminalEmulator, repositoryPath: String) {
runCommandInPath(terminalEmulator.path, repositoryPath)
}
}