This commit is contained in:
milarin 2024-01-05 18:20:29 +01:00 committed by Milarin
parent 8edaa9d713
commit 7a704e08fd
2 changed files with 65 additions and 1 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
hypr_test.go
*_test.go

64
model_event.go Normal file
View File

@ -0,0 +1,64 @@
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"
)