package system import ( "os" "path/filepath" "strings" ) func IsHyprland() bool { // Primary signals xdg := os.Getenv("XDG_RUNTIME_DIR") his := os.Getenv("HYPRLAND_INSTANCE_SIGNATURE") if xdg != "" && his != "" { sock := filepath.Join(xdg, "hypr", his, ".socket.sock") if st, err := os.Stat(sock); err == nil && !st.IsDir() { return true } } // Fallback: desktop hint hint := strings.ToLower(os.Getenv("XDG_CURRENT_DESKTOP")) return strings.Contains(hint, "hypr") }