Skip to content

Commit b01d72d

Browse files
feat. load colors from colors.properties
1 parent d4472c5 commit b01d72d

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

core/main/src/main/java/com/rk/terminal/ui/screens/terminal/TerminalScreen.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ import com.rk.components.compose.preferences.base.PreferenceGroup
103103
import com.rk.libcommons.application
104104
import com.rk.libcommons.child
105105
import com.rk.libcommons.dpToPx
106+
import com.rk.libcommons.localDir
106107
import com.rk.libcommons.pendingCommand
107108
import com.rk.resources.strings
108109
import com.rk.settings.Settings
@@ -116,14 +117,17 @@ import com.rk.terminal.ui.screens.terminal.virtualkeys.VirtualKeysInfo
116117
import com.rk.terminal.ui.screens.terminal.virtualkeys.VirtualKeysListener
117118
import com.rk.terminal.ui.screens.terminal.virtualkeys.VirtualKeysView
118119
import com.rk.terminal.ui.theme.KarbonTheme
120+
import com.termux.terminal.TerminalColors
119121
import com.termux.view.TerminalView
120122
import kotlinx.coroutines.Dispatchers
121123
import kotlinx.coroutines.delay
122124
import kotlinx.coroutines.isActive
123125
import kotlinx.coroutines.launch
124126
import kotlinx.coroutines.withContext
125127
import java.io.File
128+
import java.io.FileInputStream
126129
import java.lang.ref.WeakReference
130+
import java.util.Properties
127131

128132
var terminalView = WeakReference<TerminalView?>(null)
129133
var virtualKeysView = WeakReference<VirtualKeysView?>(null)
@@ -216,6 +220,7 @@ fun TerminalScreen(
216220
terminalView.get()?.apply {
217221
onScreenUpdated()
218222

223+
219224
mEmulator?.mColors?.mCurrentColors?.apply {
220225
set(256, getViewColor())
221226
set(258, getViewColor())
@@ -506,6 +511,15 @@ fun TerminalScreen(
506511
set(256, color)
507512
set(258, color)
508513
}
514+
515+
val colorsFile = localDir().child("colors.properties")
516+
if (colorsFile.exists() && colorsFile.isFile){
517+
val props = Properties()
518+
FileInputStream(colorsFile).use { input ->
519+
props.load(input)
520+
}
521+
TerminalColors.COLOR_SCHEME.updateWith(props)
522+
}
509523
}
510524
}
511525
},

0 commit comments

Comments
 (0)