53 lines
829 B
Go
53 lines
829 B
Go
package i3
|
|
|
|
import (
|
|
// Standard
|
|
"net"
|
|
)
|
|
|
|
type I3Session struct {
|
|
Socket I3Socket
|
|
filename string
|
|
|
|
// workspace ID → output name
|
|
workspaces map[string]string
|
|
workspacesActive map[string]string
|
|
activeWorkspace string
|
|
}
|
|
|
|
type I3Socket struct {
|
|
filename string
|
|
socket string
|
|
conn net.Conn
|
|
}
|
|
|
|
type I3Output struct {
|
|
Name string
|
|
Active bool
|
|
CurrentWorkspace string `json:"current_workspace"`
|
|
}
|
|
|
|
type I3Workspace struct {
|
|
Id int
|
|
Num int
|
|
Name string
|
|
Visible bool
|
|
Focused bool
|
|
Output string
|
|
}
|
|
|
|
type I3Config struct {
|
|
Config string
|
|
}
|
|
|
|
type I3EventBinding struct {
|
|
Change string
|
|
Binding struct {
|
|
InputCode int `json:"input_code"`
|
|
Symbol string
|
|
Command string
|
|
Mods []string
|
|
EventStateMask []string `json:"event_state_mask"`
|
|
}
|
|
}
|