remove need to use meta-key

This commit is contained in:
2025-05-03 21:40:47 -04:00
parent 0468bab57f
commit cbeda42949

29
main.go
View File

@@ -27,7 +27,6 @@ var icon []byte
//go:generate go run ./filetypes/cmd/gen.go
var validFileTypes = filetypes.Valid
var metaActive bool
var fileList *tk.ToplevelWidget
var lb *tk.ListboxWidget
@@ -146,7 +145,7 @@ func main() {
menubar := tk.Menu()
fileMenu := menubar.Menu()
fileMenu.AddCommand(tk.Lbl("Open File"), tk.Accelerator("Meta+O"), tk.Command(newFileInDirectory(img)))
fileMenu.AddCommand(tk.Lbl("Open File"), tk.Accelerator("O"), tk.Command(newFileInDirectory(img)))
fileMenu.AddCommand(tk.Lbl("Open Directory"), tk.Command(newDirectory(img)))
fileMenu.AddSeparator()
checkbox := fileMenu.AddCheckbutton(tk.Lbl("Show Filelist"))
@@ -193,27 +192,19 @@ func main() {
}
}))
// TODO: if someone presses the Meta key again after the openfile dialog box closes,
// it triggers a _release_ event instead of a press event. The second time afterward, it works correctly.
tk.Bind(tk.App, "<KeyPress>", tk.Command(func(e *tk.Event) {
curr := slices.Index(directoryState.images, directoryState.currentFile)
switch e.Keysym {
case ".":
log.Printf("state: %+v", directoryState)
case "Meta_L", "Meta_R":
metaActive = true
case "o":
if metaActive {
newFileInDirectory(img)()
}
newFileInDirectory(img)()
case "a":
if metaActive {
if fileList == nil {
constructFileList()
} else {
// list closed by Meta-a
destroyFileList(true)
}
if fileList == nil {
constructFileList()
} else {
// list closed by 'a'
destroyFileList(true)
}
case "Up":
if curr > 0 {
@@ -233,12 +224,6 @@ func main() {
}
}
}))
tk.Bind(tk.App, "<KeyRelease>", tk.Command(func(e *tk.Event) {
switch e.Keysym {
case "Meta_L", "Meta_R":
metaActive = false
}
}))
// todo: resize image based on scroll events
// tk.Bind(tk.App, "<TouchpadScroll>", tk.Command(func(e *tk.Event) {
// log.Printf("%v, %v", int16(e.Delta>>16), int16(e.Delta&0xFFFF))