Move exec/comment to right column

This commit is contained in:
Trevor Slocum 2019-07-12 08:44:22 -07:00
parent 574520f15d
commit 27011bee5b
2 changed files with 57 additions and 22 deletions

View File

@ -27,6 +27,7 @@ var (
gui *gocui.Gui
input, comment, ex, list *gocui.View
clickedList bool
closedGUI bool
done = make(chan bool)
)
@ -109,18 +110,7 @@ func main() {
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("comment", -1, 0, maxX, 2); err != nil {
if err != gocui.ErrUnknownView {
return err
}
comment = v
v.Frame = false
fmt.Fprint(v, "Comm: Test")
}
if v, err := g.SetView("ex", -1, 1, maxX, 3); err != nil {
if v, err := g.SetView("ex", maxX/2, 0, maxX, 2); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@ -128,10 +118,19 @@ func layout(g *gocui.Gui) error {
ex = v
v.Frame = false
fmt.Fprint(v, "Exec: Test")
v.Wrap = false
}
if v, err := g.SetView("list", -1, 2, maxX, maxY); err != nil {
if v, err := g.SetView("comment", maxX/2, 1, maxX, 3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
comment = v
v.Frame = false
v.Wrap = false
}
if v, err := g.SetView("list", -1, 0, maxX/2, maxY); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@ -139,13 +138,14 @@ func layout(g *gocui.Gui) error {
list = v
v.Frame = false
v.Wrap = false
v.Highlight = true
v.SelBgColor = gocui.ColorGreen
v.SelFgColor = gocui.ColorBlack
updateEntries("")
}
if v, err := g.SetView("main", -1, -1, 40, 1); err != nil {
if v, err := g.SetView("main", -1, -1, maxX/2, 1); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@ -153,6 +153,7 @@ func layout(g *gocui.Gui) error {
input = v
v.Frame = false
v.Wrap = false
v.Editable = true
v.Wrap = true
v.Editor = gocui.EditorFunc(searchEditor)
@ -179,6 +180,18 @@ func keybindings() error {
return err
}
if err := gui.SetKeybinding("list", gocui.MouseLeft, gocui.ModNone, listClickFromMouse); err != nil {
return err
}
if err := gui.SetKeybinding("list", gocui.MouseRelease, gocui.ModNone, listSelectFromMouse); err != nil {
return err
}
if err := gui.SetKeybinding("", gocui.MouseRelease, gocui.ModNone, listDeselectFromMouse); err != nil {
return err
}
if err := gui.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil {
return err
}
@ -223,10 +236,30 @@ func updateEntryInfo() {
exLine = "/bin/bash"
}
comment.Clear()
fmt.Fprint(comment, "Comm: "+comLine)
ex.Clear()
fmt.Fprint(ex, "Exec: "+exLine)
fmt.Fprint(ex, exLine)
comment.Clear()
fmt.Fprint(comment, comLine)
}
func listClickFromMouse(g *gocui.Gui, v *gocui.View) error {
clickedList = true
return nil
}
func listSelectFromMouse(g *gocui.Gui, v *gocui.View) error {
if !clickedList {
return nil
}
return listSelect()
}
func listDeselectFromMouse(g *gocui.Gui, v *gocui.View) error {
clickedList = false
return nil
}
func listSelectFromKey(g *gocui.Gui, v *gocui.View) error {

View File

@ -98,7 +98,11 @@ func ExpandFieldCodes(ex string) string {
}
func scanDirectory(path string, f os.FileInfo, err error) error {
if f.IsDir() || !strings.HasSuffix(strings.ToLower(path), ".desktop") {
if err != nil {
return err
}
if f == nil || f.IsDir() || !strings.HasSuffix(strings.ToLower(path), ".desktop") {
return nil
}
@ -145,8 +149,6 @@ func scanDirectory(path string, f os.FileInfo, err error) error {
entry.Terminal = true
} else if scannedBytesLen >= 14 && bytes.EqualFold(scannedBytes, entryNoDisplay) {
return nil // NoDisplay=true
} else if len(bytes.TrimSpace(scannedBytes)) > 0 {
//log.Printf("invalid row %s", scannedBytes)
}
}
if err := scanner.Err(); err != nil {