hypr/dispatch.go

25 lines
535 B
Go

package hypr
import (
"fmt"
"io"
"strings"
)
func (c *Client) Dispatch(cmd string) (io.ReadCloser, error) {
return readSocketRaw(c.SocketPath(), strings.NewReader(fmt.Sprintf("dispatch %s", cmd)))
}
func (c *Client) DispatchExpectOK(cmd string) error {
str, err := readSocketString(c.SocketPath(), strings.NewReader(fmt.Sprintf("dispatch %s", cmd)))
if err != nil {
return err
}
if strings.ToLower(strings.TrimSpace(str)) != "ok" {
return fmt.Errorf("dispatcher '%s' returned an error: %s", cmd, str)
}
return nil
}