diff --git a/cmd/mop.go b/cmd/mop.go
index 50e55eb..07b9b61 100644
--- a/cmd/mop.go
+++ b/cmd/mop.go
@@ -36,6 +36,7 @@ func mainLoop(screen *mop.Screen, profile *mop.Profile) {
quotesQueue := time.NewTicker(5 * time.Second)
marketQueue := time.NewTicker(12 * time.Second)
showingHelp := false
+ paused := false
go func() {
for {
@@ -54,7 +55,7 @@ loop:
switch event.Type {
case termbox.EventKey:
if lineEditor == nil && columnEditor == nil && !showingHelp {
- if event.Key == termbox.KeyEsc || event.Ch == 'q' {
+ if event.Key == termbox.KeyEsc || event.Ch == 'q' || event.Ch == 'Q' {
break loop
} else if event.Ch == '+' || event.Ch == '-' {
lineEditor = new(mop.LineEditor).Initialize(screen, quotes)
@@ -65,6 +66,13 @@ loop:
if profile.Regroup() == nil {
screen.Draw(quotes)
}
+ } else if event.Ch == 'p' || event.Ch == 'P' {
+ paused = !paused
+ if paused {
+ screen.Draw("\n Paused ")
+ } else {
+ screen.Draw("\n ")
+ }
} else if event.Ch == '?' || event.Ch == 'h' || event.Ch == 'H' {
showingHelp = true
screen.Clear().Draw(help)
@@ -91,17 +99,17 @@ loop:
}
case <-timestampQueue.C:
- if !showingHelp {
+ if !showingHelp && !paused {
screen.Draw(time.Now())
}
case <-quotesQueue.C:
- if !showingHelp {
+ if !showingHelp && !paused {
screen.Draw(quotes)
}
case <-marketQueue.C:
- if !showingHelp {
+ if !showingHelp && !paused {
screen.Draw(market)
}
}