summaryrefslogtreecommitdiffstats
path: root/main.go
diff options
context:
space:
mode:
authorCaleb Bassi <calebjbassi@gmail.com>2019-01-07 20:10:09 -0800
committerCaleb Bassi <calebjbassi@gmail.com>2019-01-07 20:10:09 -0800
commit49f89cf7e950e588967356b4d230bb3143ac5065 (patch)
treee2f6f099680038f98ffd80b0654924146f45c341 /main.go
parent488fe860d0ad8b93c8885a5b602836acacb3ecc4 (diff)
Fix event handling when help menu is visible (Close #90)
Diffstat (limited to 'main.go')
-rw-r--r--main.go130
1 files changed, 65 insertions, 65 deletions
diff --git a/main.go b/main.go
index 1a6abb0..c826e47 100644
--- a/main.go
+++ b/main.go
@@ -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
- }
}
}
}