func textUp(g *gocui.Gui, v *gocui.View) error { if v, err := g.View(vText); err == nil { ox, oy := v.Origin() oy = oy - 10 v.SetOrigin(ox, oy) } return nil }
func cursorHome(g *gocui.Gui, v *gocui.View) error { ox, _ := v.Origin() cx, _ := v.Cursor() v.SetCursor(cx, 0) v.SetOrigin(ox, 0) updateTracksView(g, v) return nil }
func scrollView(v *gocui.View, dy int) error { if v != nil { v.Autoscroll = false ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+dy); err != nil { return err } } return nil }
func moveRight(g *gocui.Gui, v *gocui.View) error { if v != nil { cx, cy := v.Cursor() if err := v.SetCursor(cx+1, cy); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox+1, oy); err != nil { return err } } } return nil }
func cursorLeft(g *gocui.Gui, v *gocui.View) error { if v != nil { ox, oy := v.Origin() cx, cy := v.Cursor() if err := v.SetCursor(cx-1, cy); err != nil && ox > 0 { if err := v.SetOrigin(ox-1, oy); err != nil { return err } } } return nil }
func cursorDown(g *gocui.Gui, v *gocui.View) error { if v != nil { cx, cy := v.Cursor() if err := v.SetCursor(cx, cy+1); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+1); err != nil { return err } } } return nil }
func cursorUp(g *gocui.Gui, v *gocui.View) error { if v != nil { ox, oy := v.Origin() cx, cy := v.Cursor() if err := v.SetCursor(cx, cy-1); err != nil && oy > 0 { if err := v.SetOrigin(ox, oy-1); err != nil { return err } } } return nil }
func cursorUp(g *gocui.Gui, v *gocui.View) error { if v != nil { ox, oy := v.Origin() cx, cy := v.Cursor() if err := v.SetCursor(cx, cy-1); err != nil && 0 < oy { if err := v.SetOrigin(ox, oy-1); err != nil { return err } } } onMovingCursorRedrawView(g, v) return nil }
func (runner *appRunner) cursorUp(g *gocui.Gui, v *gocui.View) error { if v != nil { ox, oy := v.Origin() cx, cy := v.Cursor() if err := v.SetCursor(cx, cy-1); err != nil && oy > 0 { if err := v.SetOrigin(ox, oy-1); err != nil { return err } } runner.layout(g) } return nil }
func cursorPageUp(g *gocui.Gui, v *gocui.View) error { jump := pageUpDownJumpCount(v) if v != nil { cx, _ := v.Cursor() ox, oy := v.Origin() if err := v.SetOrigin(ox, oy-jump); err != nil { v.SetOrigin(ox, 0) v.SetCursor(cx, 0) } onMovingCursorRedrawView(g, v) } return nil }
func moveDown(g *gocui.Gui, v *gocui.View) error { fmt.Println("yo") if v != nil { fmt.Println("hey") cx, cy := v.Cursor() if err := v.SetCursor(cx, cy+1); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+1); err != nil { return err } } } return nil }
func cursorUp(g *gocui.Gui, v *gocui.View) error { offset := getOffsetFromTypedNumbers() ox, oy := v.Origin() cx, cy := v.Cursor() if err := v.SetCursor(cx, cy-offset); err != nil && oy > 0 { if err := v.SetOrigin(ox, oy-offset); err != nil { return err } } if v == gui.playlistsView { gui.updateTracksView() } return nil }
func cursorDown(g *gocui.Gui, v *gocui.View) error { offset := getOffsetFromTypedNumbers() if cx, cy := v.Cursor(); canGoToNewPosition(cy + offset) { if err := v.SetCursor(cx, cy+offset); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+offset); err != nil { return err } } if v == gui.playlistsView { gui.updateTracksView() } } return nil }
func send(g *gocui.Gui, v *gocui.View) error { v.SetOrigin(0, 0) message, err := v.Line(0) if err != nil { // We pressed enter and there's no text. Do nothing return nil } v.Clear() message = strings.Replace(message, string(0x00), "", -1) // Remove trailing 0x00 if strings.TrimSpace(message) == "" { return nil } contacts := g.View("contacts") _, cy := contacts.Cursor() contact, err := contacts.Line(cy) if err != nil { return err } if message[0] == '/' { spl := strings.Split(message[1:], " ") if len(spl) == 0 { return nil } switch spl[0] { case "q": fallthrough case "quit": return gocui.ErrorQuit default: display(g, contact, fmt.Sprintf("! Unknown command: %#v", message)) } } else { contacts := g.View("contacts") _, cy := contacts.Cursor() contact, err := contacts.Line(cy) if err != nil { return err } if contact != "Home" { displayTimestamped(g, contact, message) sendMessage(contact, message) } } return nil }
func cursorPgup(g *gocui.Gui, v *gocui.View) error { ox, oy := v.Origin() cx, cy := v.Cursor() _, pageSizeY := v.Size() pageSizeY-- if newOriginY := oy - pageSizeY; newOriginY > 0 { v.SetOrigin(ox, newOriginY) v.SetCursor(cx, cy) } else { v.SetOrigin(ox, 0) v.SetCursor(cx, cy) } updateTracksView(g, v) return nil }
// TODO(strip newlines only at cursor position) func inputEnter(g *gocui.Gui, v *gocui.View, getChannelIdChan chan<- ChannelIdRequest, sendMsgChan chan<- PutRtmMsg) error { text := strings.Replace(strings.TrimRight(v.Buffer(), " \n\t"), "\n", "", -1) log.Println("Entered Text: X" + text + "X") channelName, err := getSelectedChannelName(g) if err != nil { return err } channelId := GetChannelId(channelName, getChannelIdChan) sendMsgChan <- PutRtmMsg{channelId, text} v.Clear() v.SetCursor(0, 0) v.SetOrigin(0, 0) return nil }
func cursorEnd(g *gocui.Gui, v *gocui.View) error { if newIndex := getCurrentViewSize(v); newIndex > -1 { ox, _ := v.Origin() cx, _ := v.Cursor() _, sizeY := v.Size() sizeY-- if newIndex > sizeY { v.SetOrigin(ox, newIndex-sizeY) v.SetCursor(cx, sizeY) } else { v.SetCursor(cx, newIndex) } updateTracksView(g, v) } return nil }
func goTo(g *gocui.Gui, v *gocui.View, position int) error { if canGoToAbsolutNewPosition(v, position) { position-- ox, _ := v.Origin() cx, _ := v.Cursor() v.SetCursor(cx, 0) v.SetOrigin(ox, 0) if err := v.SetCursor(cx, position); err != nil { if err := v.SetOrigin(ox, position); err != nil { return err } } if v == gui.playlistsView && gui.tracksView != nil { gui.updateTracksView() } } return nil }
func cursorDown(g *gocui.Gui, v *gocui.View) error { var err error if v != nil { cx, cy := v.Cursor() if current_name, err = v.Line(cy + 1); err != nil { current_name = "" } if l, err := v.Line(cy + 2); err != nil && l == "" { } else { if err := v.SetCursor(cx, cy+1); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+1); err != nil { return err } } updateProjInfo(g, v) } } return nil }
func cursorDown(g *gocui.Gui, v *gocui.View) error { if v != nil { cx, cy := v.Cursor() ox, oy := v.Origin() // ok, := movable(v, oy+cy+1) // _, maxY := v.Size() ok, _ := movable(v, oy+cy+1) // log.Info(cy, oy, maxY, yLimit) if !ok { return nil } if err := v.SetCursor(cx, cy+1); err != nil { if err := v.SetOrigin(ox, oy+1); err != nil { return err } } onMovingCursorRedrawView(g, v) } return nil }
func cursorPgdn(g *gocui.Gui, v *gocui.View) error { if maxSize := getCurrentViewSize(v); maxSize > -1 { ox, oy := v.Origin() cx, cy := v.Cursor() _, pageSizeY := v.Size() pageSizeY-- newOriginY := oy + pageSizeY if hasMorePages(newOriginY, cy, maxSize) { v.SetOrigin(ox, newOriginY) v.SetCursor(cx, cy) } else if isNotInLastPage(oy, pageSizeY, maxSize) { v.SetOrigin(ox, maxSize-pageSizeY) v.SetCursor(cx, pageSizeY) } updateTracksView(g, v) } return nil }
func cursorPageDown(g *gocui.Gui, v *gocui.View) error { jump := pageUpDownJumpCount(v) if v != nil { cx, cy := v.Cursor() ox, oy := v.Origin() ok, yLimit := movable(v, oy+cy+jump) _, maxY := v.Size() if !ok { if yLimit < maxY { v.SetCursor(cx, yLimit) } else { v.SetCursor(cx, maxY-1) v.SetOrigin(ox, yLimit-maxY+1) } } else if yLimit < oy+jump+maxY { if yLimit < maxY { v.SetCursor(cx, yLimit) } else { v.SetOrigin(ox, yLimit-maxY+1) v.SetCursor(cx, maxY-1) } } else { v.SetCursor(cx, cy) v.SetOrigin(ox, oy+jump) } onMovingCursorRedrawView(g, v) } return nil }
func cursorDown(g *gocui.Gui, v *gocui.View) error { if v == nil { return nil } cx, cy := v.Cursor() nextLine, err := v.Line(cy + 1) if err != nil { return err } if nextLine == "" { return nil } if err := v.SetCursor(cx, cy+1); err != nil { ox, oy := v.Origin() if err := v.SetOrigin(ox, oy+1); err != nil { return err } } return nil }