Move exec/comment to right column
parent
574520f15d
commit
27011bee5b
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue