fix(demon): don't abort on no selection

This commit is contained in:
yory8 2019-04-18 16:15:35 +02:00
parent 68d2543d24
commit 12255a8341

View file

@ -4,6 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"log"
"os/exec" "os/exec"
"time" "time"
) )
@ -46,12 +47,18 @@ func filter(history []string, text string) []string {
func listen(history []string, histfile string, persist bool, max int) error { func listen(history []string, histfile string, persist bool, max int) error {
for { for {
t, err := exec.Command("wl-paste", []string{"-n", "-t", "text"}...).Output() t, err := exec.Command("wl-paste", []string{"-n", "-t", "text"}...).CombinedOutput()
if err != nil { if err != nil {
return fmt.Errorf("error running wl-paste (demon.52): %s", err) // wl-paste exits 1 if there's no selection (e.g., when running it at OS startup)
if string(t) != "No selection" {
log.Printf("Error running wl-paste (demon.52): %s", t)
}
time.Sleep(1 * time.Second)
continue
} }
text := string(t) text := string(t)
if text == "" { if text == "" {
// there's nothing to select, so we sleep. // there's nothing to select, so we sleep.
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)