summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
committerNippy <nippy@rp1.hu>2026-05-09 13:33:09 +0200
commita2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch)
tree1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker
parent34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff)
downloadRaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz
RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/handlers.go51
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/manager.go48
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/server/apppicker/models.go8
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"`
-}