65 lines
2.3 KiB
Go
65 lines
2.3 KiB
Go
package hypr
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strings"
|
|
)
|
|
|
|
type Event struct {
|
|
Type EventType `json:"type"`
|
|
Data []string `json:"data"`
|
|
}
|
|
|
|
func parseEvent(str string) Event {
|
|
data := strings.Split(str, ">>")
|
|
return Event{
|
|
Type: EventType(data[0]),
|
|
Data: strings.Split(data[1], ","),
|
|
}
|
|
}
|
|
|
|
func (e Event) String() string {
|
|
data, _ := json.MarshalIndent(e, "", "\t")
|
|
return string(data)
|
|
}
|
|
|
|
type EventType = string
|
|
|
|
const (
|
|
EventTypeTick EventType = "tick"
|
|
EventTypeActiveWindow EventType = "activeWindow"
|
|
EventTypeActiveWindowV2 EventType = "activeWindowV2"
|
|
EventTypeKeyboardFocus EventType = "keyboardFocus"
|
|
EventTypeMoveWorkspace EventType = "moveWorkspace"
|
|
EventTypeFocusedMon EventType = "focusedMon"
|
|
EventTypeMoveWindow EventType = "moveWindow"
|
|
EventTypeOpenLayer EventType = "openLayer"
|
|
EventTypeCloseLayer EventType = "closeLayer"
|
|
EventTypeOpenWindow EventType = "openWindow"
|
|
EventTypeCloseWindow EventType = "closeWindow"
|
|
EventTypeUrgent EventType = "urgent"
|
|
EventTypeMinimize EventType = "minimize"
|
|
EventTypeMonitorAdded EventType = "monitorAdded"
|
|
EventTypeMonitorRemoved EventType = "monitorRemoved"
|
|
EventTypeCreateWorkspace EventType = "createWorkspace"
|
|
EventTypeDestroyWorkspace EventType = "destroyWorkspace"
|
|
EventTypeFullscreen EventType = "fullscreen"
|
|
EventTypeChangeFloatingMode EventType = "changeFloatingMode"
|
|
EventTypeWorkspace EventType = "workspace"
|
|
EventTypeSubmap EventType = "submap"
|
|
EventTypeMouseMove EventType = "mouseMove"
|
|
EventTypeMouseButton EventType = "mouseButton"
|
|
EventTypeMouseAxis EventType = "mouseAxis"
|
|
EventTypeTouchDown EventType = "touchDown"
|
|
EventTypeTouchUp EventType = "touchUp"
|
|
EventTypeTouchMove EventType = "touchMove"
|
|
EventTypeActiveLayout EventType = "activeLayout"
|
|
EventTypePreRender EventType = "preRender"
|
|
EventTypeScreencast EventType = "screencast"
|
|
EventTypeRender EventType = "render"
|
|
EventTypeWindowtitle EventType = "windowtitle"
|
|
EventTypeConfigReloaded EventType = "configReloaded"
|
|
EventTypePreConfigReload EventType = "preConfigReload"
|
|
EventTypeKeyPress EventType = "keyPress"
|
|
)
|