1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-08 22:48:28 -04:00

core: migrate to dankgo shared go modules, embed quickshell in DMS

binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to
explicitly override embedded configuration
This commit is contained in:
bbedward
2026-07-18 14:51:09 -04:00
parent 2114ece0df
commit 0cdb065739
114 changed files with 1009 additions and 3024 deletions
+15 -17
View File
@@ -1,15 +1,13 @@
package loginctl
import (
"encoding/json"
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/params"
"github.com/AvengeMedia/dankgo/ipc/params"
)
func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
func HandleRequest(conn *models.Conn, req models.Request, manager *Manager) {
switch req.Method {
case "loginctl.getState":
handleGetState(conn, req, manager)
@@ -38,11 +36,11 @@ func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
}
}
func handleGetState(conn net.Conn, req models.Request, manager *Manager) {
func handleGetState(conn *models.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, manager.GetState())
}
func handleLock(conn net.Conn, req models.Request, manager *Manager) {
func handleLock(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Lock(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -50,7 +48,7 @@ func handleLock(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "locked"})
}
func handleUnlock(conn net.Conn, req models.Request, manager *Manager) {
func handleUnlock(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Unlock(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -58,7 +56,7 @@ func handleUnlock(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "unlocked"})
}
func handleActivate(conn net.Conn, req models.Request, manager *Manager) {
func handleActivate(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Activate(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -66,7 +64,7 @@ func handleActivate(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "activated"})
}
func handleSetIdleHint(conn net.Conn, req models.Request, manager *Manager) {
func handleSetIdleHint(conn *models.Conn, req models.Request, manager *Manager) {
idle, err := params.Bool(req.Params, "idle")
if err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -80,7 +78,7 @@ func handleSetIdleHint(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "idle hint set"})
}
func handleSetLockedHint(conn net.Conn, req models.Request, manager *Manager) {
func handleSetLockedHint(conn *models.Conn, req models.Request, manager *Manager) {
locked, err := params.Bool(req.Params, "locked")
if err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -94,7 +92,7 @@ func handleSetLockedHint(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "locked hint set"})
}
func handleSetLockBeforeSuspend(conn net.Conn, req models.Request, manager *Manager) {
func handleSetLockBeforeSuspend(conn *models.Conn, req models.Request, manager *Manager) {
enabled, err := params.Bool(req.Params, "enabled")
if err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -105,7 +103,7 @@ func handleSetLockBeforeSuspend(conn net.Conn, req models.Request, manager *Mana
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "lock before suspend set"})
}
func handleSetSleepInhibitorEnabled(conn net.Conn, req models.Request, manager *Manager) {
func handleSetSleepInhibitorEnabled(conn *models.Conn, req models.Request, manager *Manager) {
enabled, err := params.Bool(req.Params, "enabled")
if err != nil {
models.RespondError(conn, req.ID, err.Error())
@@ -116,7 +114,7 @@ func handleSetSleepInhibitorEnabled(conn net.Conn, req models.Request, manager *
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "sleep inhibitor setting updated"})
}
func handleLockerReady(conn net.Conn, req models.Request, manager *Manager) {
func handleLockerReady(conn *models.Conn, req models.Request, manager *Manager) {
manager.lockTimerMu.Lock()
if manager.lockTimer != nil {
manager.lockTimer.Stop()
@@ -133,7 +131,7 @@ func handleLockerReady(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "ok"})
}
func handleTerminate(conn net.Conn, req models.Request, manager *Manager) {
func handleTerminate(conn *models.Conn, req models.Request, manager *Manager) {
if err := manager.Terminate(); err != nil {
models.RespondError(conn, req.ID, err.Error())
return
@@ -141,7 +139,7 @@ func handleTerminate(conn net.Conn, req models.Request, manager *Manager) {
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "terminated"})
}
func handleSubscribe(conn net.Conn, req models.Request, manager *Manager) {
func handleSubscribe(conn *models.Conn, req models.Request, manager *Manager) {
clientID := fmt.Sprintf("client-%p", conn)
stateChan := manager.Subscribe(clientID)
defer manager.Unsubscribe(clientID)
@@ -151,7 +149,7 @@ func handleSubscribe(conn net.Conn, req models.Request, manager *Manager) {
Type: EventStateChanged,
Data: initialState,
}
if err := json.NewEncoder(conn).Encode(models.Response[SessionEvent]{
if err := conn.WriteResponse(models.Response[SessionEvent]{
ID: req.ID,
Result: &event,
}); err != nil {
@@ -163,7 +161,7 @@ func handleSubscribe(conn net.Conn, req models.Request, manager *Manager) {
Type: EventStateChanged,
Data: state,
}
if err := json.NewEncoder(conn).Encode(models.Response[SessionEvent]{
if err := conn.WriteResponse(models.Response[SessionEvent]{
Result: &event,
}); err != nil {
return