From 7a704e08fd34a82757407fa0b56a59126c767f3d Mon Sep 17 00:00:00 2001 From: milarin Date: Fri, 5 Jan 2024 18:20:29 +0100 Subject: [PATCH] rewrite --- .gitignore | 2 +- model_event.go | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 model_event.go diff --git a/.gitignore b/.gitignore index de95680..a48d947 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -hypr_test.go +*_test.go diff --git a/model_event.go b/model_event.go new file mode 100644 index 0000000..e68b79b --- /dev/null +++ b/model_event.go @@ -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" +)