Compare commits
2 Commits
3a9a7dbe99
...
27fdec1361
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27fdec1361 | ||
|
|
76827a71cc |
46
popups.go
46
popups.go
@@ -388,6 +388,48 @@ func showFileCompletionPopup(filter string) {
|
|||||||
app.SetFocus(widget)
|
app.SetFocus(widget)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func updateWidgetColors(theme tview.Theme) {
|
||||||
|
bgColor := theme.PrimitiveBackgroundColor
|
||||||
|
fgColor := theme.PrimaryTextColor
|
||||||
|
borderColor := theme.BorderColor
|
||||||
|
titleColor := theme.TitleColor
|
||||||
|
|
||||||
|
textView.SetBackgroundColor(bgColor)
|
||||||
|
textView.SetTextColor(fgColor)
|
||||||
|
textView.SetBorderColor(borderColor)
|
||||||
|
textView.SetTitleColor(titleColor)
|
||||||
|
|
||||||
|
textArea.SetBackgroundColor(bgColor)
|
||||||
|
textArea.SetBorderColor(borderColor)
|
||||||
|
textArea.SetTitleColor(titleColor)
|
||||||
|
textArea.SetTextStyle(tcell.StyleDefault.Background(bgColor).Foreground(fgColor))
|
||||||
|
textArea.SetPlaceholderStyle(tcell.StyleDefault.Background(bgColor).Foreground(fgColor))
|
||||||
|
// Force textarea refresh by restoring text (SetTextStyle doesn't trigger redraw)
|
||||||
|
textArea.SetText(textArea.GetText(), true)
|
||||||
|
|
||||||
|
editArea.SetBackgroundColor(bgColor)
|
||||||
|
editArea.SetBorderColor(borderColor)
|
||||||
|
editArea.SetTitleColor(titleColor)
|
||||||
|
editArea.SetTextStyle(tcell.StyleDefault.Background(bgColor).Foreground(fgColor))
|
||||||
|
editArea.SetPlaceholderStyle(tcell.StyleDefault.Background(bgColor).Foreground(fgColor))
|
||||||
|
// Force textarea refresh by restoring text (SetTextStyle doesn't trigger redraw)
|
||||||
|
editArea.SetText(editArea.GetText(), true)
|
||||||
|
|
||||||
|
statusLineWidget.SetBackgroundColor(bgColor)
|
||||||
|
statusLineWidget.SetTextColor(fgColor)
|
||||||
|
statusLineWidget.SetBorderColor(borderColor)
|
||||||
|
statusLineWidget.SetTitleColor(titleColor)
|
||||||
|
|
||||||
|
helpView.SetBackgroundColor(bgColor)
|
||||||
|
helpView.SetTextColor(fgColor)
|
||||||
|
helpView.SetBorderColor(borderColor)
|
||||||
|
helpView.SetTitleColor(titleColor)
|
||||||
|
|
||||||
|
searchField.SetBackgroundColor(bgColor)
|
||||||
|
searchField.SetBorderColor(borderColor)
|
||||||
|
searchField.SetTitleColor(titleColor)
|
||||||
|
}
|
||||||
|
|
||||||
// showColorschemeSelectionPopup creates a modal popup to select a colorscheme
|
// showColorschemeSelectionPopup creates a modal popup to select a colorscheme
|
||||||
func showColorschemeSelectionPopup() {
|
func showColorschemeSelectionPopup() {
|
||||||
// Get the list of available colorschemes
|
// Get the list of available colorschemes
|
||||||
@@ -431,10 +473,10 @@ func showColorschemeSelectionPopup() {
|
|||||||
schemeListWidget.SetSelectedFunc(func(index int, mainText string, secondaryText string, shortcut rune) {
|
schemeListWidget.SetSelectedFunc(func(index int, mainText string, secondaryText string, shortcut rune) {
|
||||||
// Update the colorscheme
|
// Update the colorscheme
|
||||||
if theme, ok := colorschemes[mainText]; ok {
|
if theme, ok := colorschemes[mainText]; ok {
|
||||||
// Refresh the UI to apply the new theme
|
tview.Styles = theme
|
||||||
go func() {
|
go func() {
|
||||||
app.QueueUpdateDraw(func() {
|
app.QueueUpdateDraw(func() {
|
||||||
tview.Styles = theme
|
updateWidgetColors(theme)
|
||||||
})
|
})
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|||||||
6
tui.go
6
tui.go
@@ -135,7 +135,7 @@ Press <Enter> or 'x' to return
|
|||||||
ContrastSecondaryTextColor: tcell.ColorLime,
|
ContrastSecondaryTextColor: tcell.ColorLime,
|
||||||
},
|
},
|
||||||
"gruvbox": tview.Theme{
|
"gruvbox": tview.Theme{
|
||||||
PrimitiveBackgroundColor: tcell.ColorBlack, // Matches #1e1e2e
|
PrimitiveBackgroundColor: tcell.NewHexColor(0x282828), // Background: #282828 (dark gray)
|
||||||
ContrastBackgroundColor: tcell.ColorDarkGoldenrod, // Selected option: warm yellow (#b57614)
|
ContrastBackgroundColor: tcell.ColorDarkGoldenrod, // Selected option: warm yellow (#b57614)
|
||||||
MoreContrastBackgroundColor: tcell.ColorDarkSlateGray, // Non-selected options: dark grayish-blue (#32302f)
|
MoreContrastBackgroundColor: tcell.ColorDarkSlateGray, // Non-selected options: dark grayish-blue (#32302f)
|
||||||
BorderColor: tcell.ColorLightGray, // Light gray (#a89984)
|
BorderColor: tcell.ColorLightGray, // Light gray (#a89984)
|
||||||
@@ -148,7 +148,7 @@ Press <Enter> or 'x' to return
|
|||||||
ContrastSecondaryTextColor: tcell.ColorLightGreen, // Light green (#b8bb26)
|
ContrastSecondaryTextColor: tcell.ColorLightGreen, // Light green (#b8bb26)
|
||||||
},
|
},
|
||||||
"solarized": tview.Theme{
|
"solarized": tview.Theme{
|
||||||
PrimitiveBackgroundColor: tcell.NewHexColor(0x1e1e2e), // #1e1e2e for main dropdown box
|
PrimitiveBackgroundColor: tcell.NewHexColor(0x002b36), // Background: #002b36 (base03)
|
||||||
ContrastBackgroundColor: tcell.ColorDarkCyan, // Selected option: cyan (#2aa198)
|
ContrastBackgroundColor: tcell.ColorDarkCyan, // Selected option: cyan (#2aa198)
|
||||||
MoreContrastBackgroundColor: tcell.ColorDarkSlateGray, // Non-selected options: dark blue (#073642)
|
MoreContrastBackgroundColor: tcell.ColorDarkSlateGray, // Non-selected options: dark blue (#073642)
|
||||||
BorderColor: tcell.ColorLightBlue, // Light blue (#839496)
|
BorderColor: tcell.ColorLightBlue, // Light blue (#839496)
|
||||||
@@ -161,7 +161,7 @@ Press <Enter> or 'x' to return
|
|||||||
ContrastSecondaryTextColor: tcell.ColorLightCyan, // Light cyan (#93a1a1)
|
ContrastSecondaryTextColor: tcell.ColorLightCyan, // Light cyan (#93a1a1)
|
||||||
},
|
},
|
||||||
"dracula": tview.Theme{
|
"dracula": tview.Theme{
|
||||||
PrimitiveBackgroundColor: tcell.NewHexColor(0x1e1e2e), // #1e1e2e for main dropdown box
|
PrimitiveBackgroundColor: tcell.NewHexColor(0x282a36), // Background: #282a36
|
||||||
ContrastBackgroundColor: tcell.ColorDarkMagenta, // Selected option: magenta (#bd93f9)
|
ContrastBackgroundColor: tcell.ColorDarkMagenta, // Selected option: magenta (#bd93f9)
|
||||||
MoreContrastBackgroundColor: tcell.ColorDarkGray, // Non-selected options: dark gray (#44475a)
|
MoreContrastBackgroundColor: tcell.ColorDarkGray, // Non-selected options: dark gray (#44475a)
|
||||||
BorderColor: tcell.ColorLightGray, // Light gray (#f8f8f2)
|
BorderColor: tcell.ColorLightGray, // Light gray (#f8f8f2)
|
||||||
|
|||||||
Reference in New Issue
Block a user