initial commit
This commit is contained in:
		
							
								
								
									
										198
									
								
								model_event.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										198
									
								
								model_event.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,198 @@ | ||||
| package niri | ||||
|  | ||||
| import "encoding/json" | ||||
|  | ||||
| type Event interface { | ||||
| 	private() | ||||
| } | ||||
|  | ||||
| type eventContainer struct { | ||||
| 	EventWorkspacesChanged            *EventWorkspacesChanged            `json:"WorkspacesChanged"` | ||||
| 	EventWorkspaceUrgencyChanged      *EventWorkspaceUrgencyChanged      `json:"WorkspaceUrgencyChanged"` | ||||
| 	EventWorkspaceActivated           *EventWorkspaceActivated           `json:"WorkspaceActivated"` | ||||
| 	EventWorkspaceActiveWindowChanged *EventWorkspaceActiveWindowChanged `json:"WorkspaceActiveWindowChanged"` | ||||
| 	EventWindowsChanged               *EventWindowsChanged               `json:"WindowsChanged"` | ||||
| 	EventWindowOpenedOrChanged        *EventWindowOpenedOrChanged        `json:"WindowOpenedOrChanged"` | ||||
| 	EventWindowClosed                 *EventWindowClosed                 `json:"WindowClosed"` | ||||
| 	EventWindowFocusChanged           *EventWindowFocusChanged           `json:"WindowFocusChanged"` | ||||
| 	EventWindowUrgencyChanged         *EventWindowUrgencyChanged         `json:"WindowUrgencyChanged"` | ||||
| 	EventKeyboardLayoutsChanged       *EventKeyboardLayoutsChanged       `json:"KeyboardLayoutsChanged"` | ||||
| 	EventKeyboardLayoutSwitched       *EventKeyboardLayoutSwitched       `json:"KeyboardLayoutSwitched"` | ||||
| 	EventOverviewOpenedOrClosed       *EventOverviewOpenedOrClosed       `json:"OverviewOpenedOrClosed"` | ||||
| } | ||||
|  | ||||
| func (c *eventContainer) event() Event { | ||||
| 	if c.EventWorkspacesChanged != nil { | ||||
| 		return c.EventWorkspacesChanged | ||||
| 	} else if c.EventWorkspaceUrgencyChanged != nil { | ||||
| 		return c.EventWorkspaceUrgencyChanged | ||||
| 	} else if c.EventWorkspaceActivated != nil { | ||||
| 		return c.EventWorkspaceActivated | ||||
| 	} else if c.EventWorkspaceActiveWindowChanged != nil { | ||||
| 		return c.EventWorkspaceActiveWindowChanged | ||||
| 	} else if c.EventWindowsChanged != nil { | ||||
| 		return c.EventWindowsChanged | ||||
| 	} else if c.EventWindowOpenedOrChanged != nil { | ||||
| 		return c.EventWindowOpenedOrChanged | ||||
| 	} else if c.EventWindowClosed != nil { | ||||
| 		return c.EventWindowClosed | ||||
| 	} else if c.EventWindowFocusChanged != nil { | ||||
| 		return c.EventWindowFocusChanged | ||||
| 	} else if c.EventWindowUrgencyChanged != nil { | ||||
| 		return c.EventWindowUrgencyChanged | ||||
| 	} else if c.EventKeyboardLayoutsChanged != nil { | ||||
| 		return c.EventKeyboardLayoutsChanged | ||||
| 	} else if c.EventKeyboardLayoutSwitched != nil { | ||||
| 		return c.EventKeyboardLayoutSwitched | ||||
| 	} else if c.EventOverviewOpenedOrClosed != nil { | ||||
| 		return c.EventOverviewOpenedOrClosed | ||||
| 	} | ||||
|  | ||||
| 	return &EventInvalid{} | ||||
| } | ||||
|  | ||||
| type EventInvalid struct { | ||||
| } | ||||
|  | ||||
| func (m *EventInvalid) private() {} | ||||
|  | ||||
| func (m *EventInvalid) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWorkspacesChanged struct { | ||||
| 	Workspaces []Workspace `json:"workspaces"` | ||||
| } | ||||
|  | ||||
| func (m *EventWorkspacesChanged) private() {} | ||||
|  | ||||
| func (m *EventWorkspacesChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWorkspaceUrgencyChanged struct { | ||||
| 	ID     WorkspaceID `json:"id"` | ||||
| 	Urgent bool        `json:"urgent"` | ||||
| } | ||||
|  | ||||
| func (m *EventWorkspaceUrgencyChanged) private() {} | ||||
|  | ||||
| func (m *EventWorkspaceUrgencyChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWorkspaceActivated struct { | ||||
| 	ID      WorkspaceID `json:"id"` | ||||
| 	Focused bool        `json:"focused"` | ||||
| } | ||||
|  | ||||
| func (m *EventWorkspaceActivated) private() {} | ||||
|  | ||||
| func (m *EventWorkspaceActivated) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWorkspaceActiveWindowChanged struct { | ||||
| 	WorkspaceID    WorkspaceID      `json:"workspace_id"` | ||||
| 	ActiveWindowID Option[WindowID] `json:"active_window_id"` | ||||
| } | ||||
|  | ||||
| func (m *EventWorkspaceActiveWindowChanged) private() {} | ||||
|  | ||||
| func (m *EventWorkspaceActiveWindowChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWindowsChanged struct { | ||||
| 	Windows []Window `json:"windows"` | ||||
| } | ||||
|  | ||||
| func (m *EventWindowsChanged) private() {} | ||||
|  | ||||
| func (m *EventWindowsChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWindowOpenedOrChanged struct { | ||||
| 	Window Window `json:"window"` | ||||
| } | ||||
|  | ||||
| func (m *EventWindowOpenedOrChanged) private() {} | ||||
|  | ||||
| func (m *EventWindowOpenedOrChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWindowClosed struct { | ||||
| 	ID WindowID `json:"id"` | ||||
| } | ||||
|  | ||||
| func (m *EventWindowClosed) private() {} | ||||
|  | ||||
| func (m *EventWindowClosed) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWindowFocusChanged struct { | ||||
| 	ID Option[WindowID] `json:"id"` | ||||
| } | ||||
|  | ||||
| func (m *EventWindowFocusChanged) private() {} | ||||
|  | ||||
| func (m *EventWindowFocusChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventWindowUrgencyChanged struct { | ||||
| 	ID     WindowID `json:"id"` | ||||
| 	Urgent bool     `json:"urgent"` | ||||
| } | ||||
|  | ||||
| func (m *EventWindowUrgencyChanged) private() {} | ||||
|  | ||||
| func (m *EventWindowUrgencyChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventKeyboardLayoutsChanged struct { | ||||
| 	KeyboardLayouts KeyboardLayouts `json:"keyboard_layouts"` | ||||
| } | ||||
|  | ||||
| func (m *EventKeyboardLayoutsChanged) private() {} | ||||
|  | ||||
| func (m *EventKeyboardLayoutsChanged) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventKeyboardLayoutSwitched struct { | ||||
| 	Index int `json:"idx"` | ||||
| } | ||||
|  | ||||
| func (m *EventKeyboardLayoutSwitched) private() {} | ||||
|  | ||||
| func (m *EventKeyboardLayoutSwitched) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
|  | ||||
| type EventOverviewOpenedOrClosed struct { | ||||
| 	IsOpen bool `json:"is_open"` | ||||
| } | ||||
|  | ||||
| func (m *EventOverviewOpenedOrClosed) private() {} | ||||
|  | ||||
| func (m *EventOverviewOpenedOrClosed) String() string { | ||||
| 	data, _ := json.Marshal(m) | ||||
| 	return string(data) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user