@ -141,6 +141,7 @@ func ConfigGui(config *koanf.Koanf) {
menu . AddItem ( "Intervals" , "" , '2' , nil )
menu . AddItem ( "WiFi" , "" , '3' , nil )
menu . AddItem ( "HDMI On/Off" , "" , '5' , nil )
menu . AddItem ( "Advanced" , "" , '6' , nil )
// Setup base var for main column so the menu setup is easier to manage
main := tview . NewFlex ( ) .
@ -224,6 +225,13 @@ func ConfigGui(config *koanf.Koanf) {
app . SetFocus ( menu )
} )
// Advanced config form
advancedForm := tview . NewForm ( )
advancedForm . AddButton ( "Go Back" , func ( ) {
main . Clear ( )
app . SetFocus ( menu )
} )
// Setup menu selection handler
menu . SetSelectedFunc ( func ( index int , title string , desc string , shortcut rune ) {
if title == "Select Albums" {
@ -252,6 +260,13 @@ func ConfigGui(config *koanf.Koanf) {
main . AddItem ( tview . NewTextView ( ) . SetText ( "These values are date+time combos\n\nPlease see https://www.freedesktop.org/software/systemd/man/systemd.time.html for details\n\nONLY adjust the times (24h format) if unsure of what to change" ) , 0 , 1 , false )
app . SetFocus ( hdmiForm )
}
if title == "Advanced" {
main . SetTitle ( "Advanced Configuration" )
main . Clear ( )
main . AddItem ( tview . NewTextView ( ) . SetText ( "For advanced configuration edit /etc/default/pf.toml via the command line. There are a few config values that are DANGEROUS to adjust and not exposed through this ui." ) , 0 , 1 , false )
main . AddItem ( advancedForm , 0 , 1 , false )
app . SetFocus ( advancedForm )
}
} )
// Side bar fields
@ -410,10 +425,12 @@ func ConfigGui(config *koanf.Koanf) {
intervalField , intervalButton := intervalsForm . GetFocusedItemIndex ( )
wifiField , wifiButton := wifiConfigForm . GetFocusedItemIndex ( )
hdmiField , hdmiButton := hdmiForm . GetFocusedItemIndex ( )
advancedField , advancedButton := advancedForm . GetFocusedItemIndex ( )
if wifiField != - 1 || wifiButton != - 1 ||
albumField != - 1 || albumButton != - 1 ||
intervalField != - 1 || intervalButton != - 1 ||
hdmiField != - 1 || hdmiButton != - 1 {
hdmiField != - 1 || hdmiButton != - 1 ||
advancedField != - 1 || advancedButton != - 1 {
switch event . Key ( ) {
case tcell . KeyUp :
return tcell . NewEventKey ( tcell . KeyBacktab , 0 , event . Modifiers ( ) )
@ -464,6 +481,6 @@ func ConfigGui(config *koanf.Koanf) {
// Show UI and panic if there are any errors
if err := app . SetRoot ( pages , true ) . SetFocus ( primitivesThatCanFocus [ currentFocus ] ) . EnableMouse ( false ) . Run ( ) ; err != nil {
log . Fatalf ( "Failed to run UI : " , err )
log . Fatalf ( "Failed to run UI : %s " , err )
}
}