more progess

This commit is contained in:
Jesse Duffield 2019-05-18 13:50:27 +10:00
parent 736e168adc
commit d3eea00139
3 changed files with 24 additions and 7 deletions

View file

@ -72,13 +72,24 @@ func (gui *Gui) handleContainerSelect(g *gocui.Gui, v *gocui.View, alreadySelect
gui.State.MainWriterID++ gui.State.MainWriterID++
writerID := gui.State.MainWriterID writerID := gui.State.MainWriterID
mainView.Clear() mainView.Clear()
mainView.SetOrigin(0, 0) mainView.SetOrigin(0, 0)
mainView.SetCursor(0, 0) mainView.SetCursor(0, 0)
if err := gui.renderLogs(mainView, container, writerID); err != nil {
return err
}
return nil
}
func (gui *Gui) renderLogs(mainView *gocui.View, container *commands.Container, writerID int) error {
mainView.Autoscroll = true mainView.Autoscroll = true
var cmd *exec.Cmd var cmd *exec.Cmd
cmd = gui.OSCommand.RunCustomCommand("docker logs --since=60m --timestamps " + container.ID) cmd = gui.OSCommand.RunCustomCommand("docker logs --since=60m --timestamps --follow " + container.ID)
cmd.Stdout = mainView cmd.Stdout = mainView
cmd.Start() cmd.Start()

View file

@ -143,11 +143,13 @@ func (gui *Gui) scrollDownMain(g *gocui.Gui, v *gocui.View) error {
_, sy := mainView.Size() _, sy := mainView.Size()
y += sy y += sy
} }
if y < len(mainView.BufferLines()) { // for some reason we can't work out whether we've hit the bottomq
return mainView.SetOrigin(ox, oy+gui.Config.GetUserConfig().GetInt("gui.scrollHeight")) // there is a large discrepancy in the origin's y value and the length of BufferLines
} return mainView.SetOrigin(ox, oy+gui.Config.GetUserConfig().GetInt("gui.scrollHeight"))
}
mainView.Autoscroll = true func (gui *Gui) autoScrollMain(g *gocui.Gui, v *gocui.View) error {
gui.getMainView().Autoscroll = true
return nil return nil
} }
@ -251,11 +253,10 @@ func (gui *Gui) layout(g *gocui.Gui) error {
} }
usableSpace := height - 4 usableSpace := height - 4
extraSpace := usableSpace - (usableSpace/3)*3
vHeights := map[string]int{ vHeights := map[string]int{
"status": 3, "status": 3,
"containers": (usableSpace) + extraSpace, "containers": usableSpace,
"options": 1, "options": 1,
} }

View file

@ -94,6 +94,11 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
Key: gocui.KeyCtrlD, Key: gocui.KeyCtrlD,
Modifier: gocui.ModNone, Modifier: gocui.ModNone,
Handler: gui.scrollDownMain, Handler: gui.scrollDownMain,
}, {
ViewName: "",
Key: gocui.KeyEnd,
Modifier: gocui.ModNone,
Handler: gui.autoScrollMain,
}, { }, {
ViewName: "", ViewName: "",
Key: 'x', Key: 'x',