pragma Singleton // From https://github.com/caelestia-dots/shell (GPLv3) import Quickshell Singleton { id: root function getBluetoothDeviceMaterialSymbol(systemIconName: string): string { if (systemIconName.includes("headset") || systemIconName.includes("headphones")) return "headphones"; if (systemIconName.includes("audio")) return "speaker"; if (systemIconName.includes("phone")) return "smartphone"; if (systemIconName.includes("mouse")) return "mouse"; if (systemIconName.includes("keyboard")) return "keyboard"; return "bluetooth"; } readonly property var weatherIconMap: ({ "113": "clear_day", "116": "partly_cloudy_day", "119": "cloud", "122": "cloud", "143": "foggy", "176": "rainy", "179": "rainy", "182": "rainy", "185": "rainy", "200": "thunderstorm", "227": "cloudy_snowing", "230": "snowing_heavy", "248": "foggy", "260": "foggy", "263": "rainy", "266": "rainy", "281": "rainy", "284": "rainy", "293": "rainy", "296": "rainy", "299": "rainy", "302": "weather_hail", "305": "rainy", "308": "weather_hail", "311": "rainy", "314": "rainy", "317": "rainy", "320": "cloudy_snowing", "323": "cloudy_snowing", "326": "cloudy_snowing", "329": "snowing_heavy", "332": "snowing_heavy", "335": "snowing", "338": "snowing_heavy", "350": "rainy", "353": "rainy", "356": "rainy", "359": "weather_hail", "362": "rainy", "365": "rainy", "368": "cloudy_snowing", "371": "snowing", "374": "rainy", "377": "rainy", "386": "thunderstorm", "389": "thunderstorm", "392": "thunderstorm", "395": "snowing" }) function getWeatherIcon(code) { const key = String(code) if (weatherIconMap.hasOwnProperty(key)) { return weatherIconMap[key] } } }