Add flags --no-mouse and --no-details

pull/9/head
Trevor Slocum 2019-07-13 11:03:19 -07:00
parent 27011bee5b
commit 0103b3e242
1 changed files with 38 additions and 18 deletions

View File

@ -22,6 +22,10 @@ import (
)
var (
configPath string
disableMouseSupport bool
hideAppDetails bool
desktopEntries []*dmenu.DesktopEntry
filteredEntries []*dmenu.DesktopEntry
@ -34,6 +38,9 @@ var (
func init() {
log.SetFlags(0)
flag.BoolVar(&disableMouseSupport, "no-mouse", false, "disable mouse support")
flag.BoolVar(&hideAppDetails, "no-details", false, "hide application details")
}
func main() {
@ -44,6 +51,10 @@ func main() {
log.Fatal("failed to start gmenu: only interactive terminals are supported")
}
run()
}
func run() {
var dataDirs []string
dataDirsSetting := strings.Split(os.Getenv("XDG_DATA_DIRS"), ":")
@ -82,7 +93,7 @@ func main() {
gui.InputEsc = true
gui.Cursor = true
gui.Mouse = true
gui.Mouse = !disableMouseSupport
gui.SetManagerFunc(layout)
if err := keybindings(); err != nil {
@ -110,27 +121,32 @@ func main() {
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("ex", maxX/2, 0, maxX, 2); err != nil {
if err != gocui.ErrUnknownView {
return err
listWidth := maxX
if !hideAppDetails {
listWidth = maxX / 2
if v, err := g.SetView("ex", maxX/2, 0, maxX, 2); err != nil {
if err != gocui.ErrUnknownView {
return err
}
ex = v
v.Frame = false
v.Wrap = false
}
if v, err := g.SetView("comment", maxX/2, 1, maxX, 3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
ex = v
comment = v
v.Frame = false
v.Wrap = false
}
if v, err := g.SetView("comment", maxX/2, 1, maxX, 3); err != nil {
if err != gocui.ErrUnknownView {
return err
v.Frame = false
v.Wrap = false
}
comment = v
v.Frame = false
v.Wrap = false
}
if v, err := g.SetView("list", -1, 0, maxX/2, maxY); err != nil {
if v, err := g.SetView("list", -1, 0, listWidth, maxY); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@ -145,7 +161,7 @@ func layout(g *gocui.Gui) error {
updateEntries("")
}
if v, err := g.SetView("main", -1, -1, maxX/2, 1); err != nil {
if v, err := g.SetView("main", -1, -1, maxX, 1); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@ -218,6 +234,10 @@ func listNext(g *gocui.Gui, v *gocui.View) error {
}
func updateEntryInfo() {
if hideAppDetails {
return
}
for {
if list != nil && comment != nil && ex != nil {
break