From 1ff63190b297023c511ec3c6c28c014fd97bd127 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 17 Feb 2021 20:25:36 +0100 Subject: [PATCH] login-app: warning if not booted UEFI --- pkg/login-app/cmd/dialog-uefi.go | 21 +++++++++++++++++++++ pkg/login-app/cmd/main.go | 24 +++++++----------------- 2 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 pkg/login-app/cmd/dialog-uefi.go diff --git a/pkg/login-app/cmd/dialog-uefi.go b/pkg/login-app/cmd/dialog-uefi.go new file mode 100644 index 0000000..3ec4528 --- /dev/null +++ b/pkg/login-app/cmd/dialog-uefi.go @@ -0,0 +1,21 @@ +package main + +import ( + "github.com/rivo/tview" +) + +func CreateUEFIDialog(app *tview.Application, next func()) { + modal := tview.NewModal(). + SetText("Not UEFI boot\nYou should reboot, enter UEFI Setup (F2) and disable Legacy boot"). + AddButtons([]string{"Reboot", "Ignore"}). + SetDoneFunc(func(buttonIndex int, buttonLabel string) { + if buttonLabel == "Reboot" { + app.Stop() + } else if buttonLabel == "Ignore" { + next() + } + }) + + app.SetRoot(modal, true) + app.SetFocus(modal) +} diff --git a/pkg/login-app/cmd/main.go b/pkg/login-app/cmd/main.go index 29503a9..6aa0351 100644 --- a/pkg/login-app/cmd/main.go +++ b/pkg/login-app/cmd/main.go @@ -39,22 +39,6 @@ func askLogin(app *tview.Application) { } }() }) - /*lgd.beforeClose = func() { - // Display next dialoag - ckd := CreateCheckDialog(" SRS AdLin - Login ", lgd.Username, lgd.Password) - - ckd.beforeClose = func(ev ui.Event) { - if ev.Err == nil { - logged = true - CreateRebootDialog(" SRS AdLin - Login", lgd.Username) - } else { - errd := CreateErrMsgDialog(" SRS AdLin - Login ", ev.Err) - errd.beforeClose = func() { - askLogin() - } - } - } - }*/ } func main() { @@ -70,7 +54,13 @@ func main() { return event }) - askLogin(app) + if _, err := os.Stat("/sys/firmware/efi"); err != nil { + CreateUEFIDialog(app, func() { + askLogin(app) + }) + } else { + askLogin(app) + } if err := app.Run(); err != nil { panic(err)