This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/pkg/login-app/cmd/dialog-settings.go

43 lines
957 B
Go

package main
import (
"os/exec"
"github.com/rivo/tview"
)
var LastKeymap = 0
func goToSettings(app *tview.Application) {
var form *tview.Form
form = tview.NewForm().
AddDropDown("Keymap", []string{"QWERTY us", "AZERTY fr", "BÉPO", "Colemak us"}, LastKeymap, nil).
AddButton(" Save config ", func() {
if kbmap, _ := form.GetFormItemByLabel("Keymap").(*tview.DropDown).GetCurrentOption(); LastKeymap != kbmap {
file := "/usr/share/keymaps/xkb/"
switch kbmap {
case 1:
file += "fr.map.gz"
case 2:
file += "fr-bepo.map.gz"
case 3:
file += "us-colemak.map.gz"
default:
file += "us.map.gz"
}
exec.Command("/usr/bin/loadkeys", file).Run()
LastKeymap = kbmap
}
askLogin(app)
})
form.GetFormItemByLabel("Keymap").(*tview.DropDown).SetFieldWidth(25)
form.SetBorder(true).SetTitle(" SRS Adlin - Settings ")
app.SetRoot(modal(form, 25, 7), true)
app.SetFocus(form)
return
}