diff options
author | Caleb Bassi <calebjbassi@gmail.com> | 2019-01-07 20:10:09 -0800 |
---|---|---|
committer | Caleb Bassi <calebjbassi@gmail.com> | 2019-01-07 20:10:09 -0800 |
commit | 49f89cf7e950e588967356b4d230bb3143ac5065 (patch) | |
tree | e2f6f099680038f98ffd80b0654924146f45c341 /main.go | |
parent | 488fe860d0ad8b93c8885a5b602836acacb3ecc4 (diff) |
Fix event handling when help menu is visible (Close #90)
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 130 |
1 files changed, 65 insertions, 65 deletions
@@ -323,91 +323,91 @@ func eventLoop() { return case "?": helpVisible = !helpVisible - if helpVisible { + case "<Resize>": + payload := e.Payload.(ui.Resize) + grid.SetRect(0, 0, payload.Width, payload.Height) + help.Resize(payload.Width, payload.Height) + ui.Clear() + } + + if helpVisible { + switch e.ID { + case "?": ui.Clear() ui.Render(help) - } else { + case "<Escape>": + helpVisible = false ui.Render(grid) + case "<Resize>": + ui.Render(help) } - case "h": - if !helpVisible { + } else { + switch e.ID { + case "?": + ui.Render(grid) + case "h": zoom += zoomInterval cpu.Zoom = zoom mem.Zoom = zoom ui.Render(cpu, mem) - } - case "l": - if !helpVisible { + case "l": if zoom > zoomInterval { zoom -= zoomInterval cpu.Zoom = zoom mem.Zoom = zoom ui.Render(cpu, mem) } - } - case "<Escape>": - if helpVisible { - helpVisible = false + case "<Resize>": ui.Render(grid) - } - case "<Resize>": - payload := e.Payload.(ui.Resize) - grid.SetRect(0, 0, payload.Width, payload.Height) - help.Resize(payload.Width, payload.Height) - ui.Clear() - if helpVisible { - ui.Render(help) - } else { - ui.Render(grid) - } - - case "<MouseLeft>": - payload := e.Payload.(ui.Mouse) - proc.Click(payload.X, payload.Y) - ui.Render(proc) - case "k", "<Up>", "<MouseWheelUp>": - proc.Up() - ui.Render(proc) - case "j", "<Down>", "<MouseWheelDown>": - proc.Down() - ui.Render(proc) - case "g", "<Home>": - if previousKey == "g" { - proc.Top() + case "<MouseLeft>": + payload := e.Payload.(ui.Mouse) + proc.Click(payload.X, payload.Y) + ui.Render(proc) + case "k", "<Up>", "<MouseWheelUp>": + proc.Up() + ui.Render(proc) + case "j", "<Down>", "<MouseWheelDown>": + proc.Down() + ui.Render(proc) + case "g", "<Home>": + if previousKey == "g" { + proc.Top() + ui.Render(proc) + } + case "G", "<End>": + proc.Bottom() + ui.Render(proc) + case "<C-d>": + proc.HalfPageDown() + ui.Render(proc) + case "<C-u>": + proc.HalfPageUp() + ui.Render(proc) + case "<C-f>": + proc.PageDown() + ui.Render(proc) + case "<C-b>": + proc.PageUp() + ui.Render(proc) + case "d": + if previousKey == "d" { + proc.Kill() + } + case "<Tab>": + proc.Tab() + ui.Render(proc) + case "m", "c", "p": + proc.ChangeSort(e) ui.Render(proc) } - case "G", "<End>": - proc.Bottom() - ui.Render(proc) - case "<C-d>": - proc.HalfPageDown() - ui.Render(proc) - case "<C-u>": - proc.HalfPageUp() - ui.Render(proc) - case "<C-f>": - proc.PageDown() - ui.Render(proc) - case "<C-b>": - proc.PageUp() - ui.Render(proc) - case "d": - if previousKey == "d" { - proc.Kill() + + if previousKey == e.ID { + previousKey = "" + } else { + previousKey = e.ID } - case "<Tab>": - proc.Tab() - ui.Render(proc) - case "m", "c", "p": - proc.ChangeSort(e) - ui.Render(proc) } - if previousKey == e.ID { - previousKey = "" - } else { - previousKey = e.ID - } } } } |