remove need to use meta-key
This commit is contained in:
29
main.go
29
main.go
@@ -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))
|
||||
|
Reference in New Issue
Block a user