hypr/model_event.go
2024-02-09 20:34:41 +01:00

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"
)