42 lines
1.5 KiB
Go
42 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"`
|
|
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
|
|
)
|