fix: lazysecrets starts from fzf's become, on a non-blocking terminal
CI / Checks (pull_request) Successful in 38s
PR title / Conventional title (pull_request) Successful in 1s

This commit is contained in:
keb committed 2026-10-14 21:08:26 +02:00
1 parent 3e6db064ab
commit 009747ae6f
3 files changed
+26

No files matched your search

+1
View File
@@ -436,6 +436,7 @@ Flags:
Styles: &theme,
DefaultFg: defaultFg,
})
blockingStdin()
p = tea.NewProgram(m)
final, err := p.Run()
if fm, ok := final.(app.Model); ok {
+5
View File
@@ -0,0 +1,5 @@
//go:build !unix
package main
func blockingStdin() {}
+20
View File
@@ -0,0 +1,20 @@
//go:build unix
package main
import (
"os"
"syscall"
"golang.org/x/term"
)
// blockingStdin makes a terminal on stdin blocking again. fzf's become
// hands on its /dev/tty non-blocking; Go can't poll /dev/tty on macOS,
// so it reads it directly, and the TUI's first read would fail with
// EAGAIN ("resource temporarily unavailable").
func blockingStdin() {
if fd := int(os.Stdin.Fd()); term.IsTerminal(fd) {
_ = syscall.SetNonblock(fd, false)
}
}