From 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 Mon Sep 17 00:00:00 2001 From: AlexanderCurl Date: Sat, 18 Apr 2026 17:46:06 +0100 Subject: Replaced file structures for themes in the correct format --- .../DankMaterialShell/core/internal/utils/group.go | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/utils/group.go (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/utils/group.go') diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/utils/group.go b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/utils/group.go new file mode 100644 index 0000000..1a0a950 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/core/internal/utils/group.go @@ -0,0 +1,37 @@ +package utils + +import ( + "os" + "strings" +) + +func HasGroup(groupName string) bool { + return HasGroupIn(groupName, "/etc/group") +} + +func HasGroupIn(groupName, path string) bool { + data, err := os.ReadFile(path) + if err != nil { + return false + } + return HasGroupData(groupName, string(data)) +} + +func HasGroupData(groupName, data string) bool { + prefix := groupName + ":" + for line := range strings.SplitSeq(data, "\n") { + if strings.HasPrefix(line, prefix) { + return true + } + } + return false +} + +func FindGroupData(data string, candidates ...string) (string, bool) { + for _, candidate := range candidates { + if HasGroupData(candidate, data) { + return candidate, true + } + } + return "", false +} -- cgit v1.3