diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
| commit | a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch) | |
| tree | 1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker | |
| parent | 34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff) | |
| download | RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker')
3 files changed, 0 insertions, 107 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/handlers.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/handlers.go deleted file mode 100644 index 007ab3e..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/handlers.go +++ /dev/null @@ -1,51 +0,0 @@ -package apppicker - -import ( - "net" - - "github.com/AvengeMedia/DankMaterialShell/core/internal/log" - "github.com/AvengeMedia/DankMaterialShell/core/internal/server/models" -) - -func HandleRequest(conn net.Conn, req models.Request, manager *Manager) { - switch req.Method { - case "apppicker.open", "browser.open": - handleOpen(conn, req, manager) - default: - models.RespondError(conn, req.ID, "unknown method") - } -} - -func handleOpen(conn net.Conn, req models.Request, manager *Manager) { - log.Infof("AppPicker: Received %s request with params: %+v", req.Method, req.Params) - - target, ok := models.Get[string](req, "target") - if !ok { - target, ok = models.Get[string](req, "url") - if !ok { - log.Warnf("AppPicker: Invalid target parameter in request") - models.RespondError(conn, req.ID, "invalid target parameter") - return - } - } - - event := OpenEvent{ - Target: target, - RequestType: models.GetOr(req, "requestType", "url"), - MimeType: models.GetOr(req, "mimeType", ""), - } - - if categories, ok := models.Get[[]any](req, "categories"); ok { - event.Categories = make([]string, 0, len(categories)) - for _, cat := range categories { - if catStr, ok := cat.(string); ok { - event.Categories = append(event.Categories, catStr) - } - } - } - - log.Infof("AppPicker: Broadcasting event: %+v", event) - manager.RequestOpen(event) - models.Respond(conn, req.ID, "ok") - log.Infof("AppPicker: Request handled successfully") -} diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/manager.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/manager.go deleted file mode 100644 index bde0846..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/manager.go +++ /dev/null @@ -1,48 +0,0 @@ -package apppicker - -import ( - "sync" - - "github.com/AvengeMedia/DankMaterialShell/core/pkg/syncmap" -) - -type Manager struct { - subscribers syncmap.Map[string, chan OpenEvent] - closeOnce sync.Once -} - -func NewManager() *Manager { - return &Manager{} -} - -func (m *Manager) Subscribe(id string) chan OpenEvent { - ch := make(chan OpenEvent, 16) - m.subscribers.Store(id, ch) - return ch -} - -func (m *Manager) Unsubscribe(id string) { - if val, ok := m.subscribers.LoadAndDelete(id); ok { - close(val) - } -} - -func (m *Manager) RequestOpen(event OpenEvent) { - m.subscribers.Range(func(key string, ch chan OpenEvent) bool { - select { - case ch <- event: - default: - } - return true - }) -} - -func (m *Manager) Close() { - m.closeOnce.Do(func() { - m.subscribers.Range(func(key string, ch chan OpenEvent) bool { - close(ch) - m.subscribers.Delete(key) - return true - }) - }) -} diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/models.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/models.go deleted file mode 100644 index 8861461..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/models.go +++ /dev/null @@ -1,8 +0,0 @@ -package apppicker - -type OpenEvent struct { - Target string `json:"target"` - MimeType string `json:"mimeType,omitempty"` - Categories []string `json:"categories,omitempty"` - RequestType string `json:"requestType"` -} |