hypr/model_window.go

43 lines
1.5 KiB
Go

package hypr
import "encoding/json"
type Window struct {
Address string `json:"address"`
Mapped bool `json:"mapped"`
Hidden bool `json:"hidden"`
At [2]int `json:"at"`
Size [2]int `json:"size"`
Workspace WorkspaceIdent `json:"workspace"`
Floating bool `json:"floating"`
MonitorID int `json:"monitor"`
Class string `json:"class"`
Title string `json:"title"`
InitialClass string `json:"initialClass"`
InitialTitle string `json:"initialTitle"`
PID int `json:"pid"`
Xwayland bool `json:"xwayland"`
Pinned bool `json:"pinned"`
Fullscreen FullscreenState `json:"fullscreen"`
FullscreenClient FullscreenState `json:"fullscreenClient"`
FakeFullscreen bool `json:"fakeFullscreen"`
Grouped []interface{} `json:"grouped"` // TODO
Swallowing string `json:"swallowing"`
FocusHistoryID int `json:"focusHistoryID"`
}
func (w Window) String() string {
data, _ := json.MarshalIndent(w, "", "\t")
return string(data)
}
type FullscreenState int
const (
FullscreenCurrent FullscreenState = -1
FullscreenNone FullscreenState = 0
FullscreenMaximize FullscreenState = 1
FullscreenFullscreen FullscreenState = 2
FullscreenMaximizeFullscreen FullscreenState = 3
)