feat(lockscreen): allow to enable/disable of weather

Closes #3153
This commit is contained in:
purian23 committed 2026-08-30 21:45:02 -04:00
1 parent 9522049881
commit 7372b79c2d
8 files changed
+67 -7

No files matched your search

+2
View File
@@ -546,6 +546,7 @@ Singleton {
property bool greeterAutoLogin: false
property bool greeterEnableFprint: false
property bool greeterEnableU2f: false
property bool greeterShowWeather: true
property string greeterWallpaperPath: ""
property string greeterLockDateFormat: ""
property string greeterFontFamily: ""
@@ -921,6 +922,7 @@ Singleton {
property bool lockScreenShowProfileImage: true
property bool lockScreenShowPasswordField: true
property bool lockScreenShowMediaPlayer: true
property bool lockScreenShowWeather: true
property bool lockScreenPowerOffMonitorsOnLock: false
property bool lockAtStartup: false
@@ -271,6 +271,7 @@ var SPEC = {
greeterAutoLogin: { def: false, onChange: "scheduleGreeterAutoLoginSync" },
greeterEnableFprint: { def: false, onChange: "markGreeterSyncPending" },
greeterEnableU2f: { def: false, onChange: "markGreeterSyncPending" },
greeterShowWeather: { def: true, onChange: "markGreeterSyncPending" },
greeterWallpaperPath: { def: "", onChange: "markGreeterSyncPending" },
greeterLockDateFormat: { def: "", onChange: "markGreeterSyncPending" },
greeterFontFamily: { def: "", onChange: "markGreeterSyncPending" },
@@ -485,6 +486,7 @@ var SPEC = {
lockScreenShowProfileImage: { def: true },
lockScreenShowPasswordField: { def: true },
lockScreenShowMediaPlayer: { def: true },
lockScreenShowWeather: { def: true },
lockScreenPowerOffMonitorsOnLock: { def: false },
lockAtStartup: { def: false },
enableFprint: { def: false },
@@ -53,6 +53,7 @@ Singleton {
property string weatherCoordinates: "40.7128,-74.0060"
property bool useAutoLocation: false
property bool weatherEnabled: true
property bool greeterShowWeather: true
property string iconTheme: "System Default"
property bool useOSLogo: false
property string osLogoColorOverride: ""
@@ -126,6 +127,7 @@ Singleton {
weatherCoordinates = settings.weatherCoordinates !== undefined ? settings.weatherCoordinates : "40.7128,-74.0060";
useAutoLocation = settings.useAutoLocation !== undefined ? settings.useAutoLocation : false;
weatherEnabled = settings.weatherEnabled !== undefined ? settings.weatherEnabled : true;
greeterShowWeather = settings.greeterShowWeather !== undefined ? settings.greeterShowWeather : true;
iconTheme = settings.iconTheme !== undefined ? settings.iconTheme : "System Default";
useOSLogo = settings.useOSLogo !== undefined ? settings.useOSLogo : false;
osLogoColorOverride = settings.osLogoColorOverride !== undefined ? settings.osLogoColorOverride : "";
+4 -4
View File
@@ -103,7 +103,7 @@ Item {
return;
if (!GreetdSettings.settingsLoaded)
return;
if (!GreetdSettings.weatherEnabled)
if (!GreetdSettings.greeterShowWeather)
return;
weatherInitialized = true;
WeatherService.addRef();
@@ -1520,13 +1520,13 @@ Item {
anchors.verticalCenter: parent.verticalCenter
visible: {
const keyboardVisible = (CompositorService.isNiri && NiriService.keyboardLayoutNames.length > 1) || (CompositorService.isHyprland && hyprlandLayoutCount > 1);
return keyboardVisible && GreetdSettings.weatherEnabled && WeatherService.weather.available;
return keyboardVisible && GreetdSettings.greeterShowWeather && WeatherService.weather.available;
}
}
Row {
spacing: Theme.spacingXS
visible: GreetdSettings.weatherEnabled && WeatherService.weather.available
visible: GreetdSettings.greeterShowWeather && WeatherService.weather.available
anchors.verticalCenter: parent.verticalCenter
DankIcon {
@@ -1550,7 +1550,7 @@ Item {
height: 24
color: Qt.rgba(255, 255, 255, 0.2)
anchors.verticalCenter: parent.verticalCenter
visible: GreetdSettings.weatherEnabled && WeatherService.weather.available && (NetworkService.networkStatus !== "disconnected" || BluetoothService.enabled || (AudioService.sink && AudioService.sink.audio) || BatteryService.batteryAvailable)
visible: GreetdSettings.greeterShowWeather && WeatherService.weather.available && (NetworkService.networkStatus !== "disconnected" || BluetoothService.enabled || (AudioService.sink && AudioService.sink.audio) || BatteryService.batteryAvailable)
}
Row {
@@ -1769,12 +1769,12 @@ Item {
height: 24
color: Qt.rgba(255, 255, 255, 0.2)
anchors.verticalCenter: parent.verticalCenter
visible: MprisController.activePlayer && SettingsData.lockScreenShowMediaPlayer && WeatherService.weather.available
visible: MprisController.activePlayer && SettingsData.lockScreenShowMediaPlayer && SettingsData.lockScreenShowWeather && WeatherService.weather.available
}
Row {
spacing: Theme.spacingXS
visible: WeatherService.weather.available
visible: SettingsData.lockScreenShowWeather && WeatherService.weather.available
anchors.verticalCenter: parent.verticalCenter
DankIcon {
@@ -1798,7 +1798,7 @@ Item {
height: 24
color: Qt.rgba(255, 255, 255, 0.2)
anchors.verticalCenter: parent.verticalCenter
visible: WeatherService.weather.available && (NetworkService.networkStatus !== "disconnected" || BluetoothService.enabled || (AudioService.sink && AudioService.sink.audio) || BatteryService.batteryAvailable)
visible: SettingsData.lockScreenShowWeather && WeatherService.weather.available && (NetworkService.networkStatus !== "disconnected" || BluetoothService.enabled || (AudioService.sink && AudioService.sink.audio) || BatteryService.batteryAvailable)
}
Row {
@@ -531,6 +531,15 @@ Item {
onFontSelected: family => SettingsData.set("greeterFontFamily", family)
}
SettingsToggleRow {
settingKey: "greeterShowWeather"
tags: ["greeter", "weather", "temperature", "login"]
text: I18n.tr("Weather", "Enable weather display on the login screen")
description: I18n.tr("Show weather on the login screen")
checked: SettingsData.greeterShowWeather
onToggled: checked => SettingsData.set("greeterShowWeather", checked)
}
StyledText {
text: I18n.tr("Date format on greeter")
font.pixelSize: Theme.fontSizeMedium
@@ -341,6 +341,14 @@ Item {
onToggled: checked => SettingsData.set("lockScreenShowMediaPlayer", checked)
}
SettingsToggleRow {
settingKey: "lockScreenShowWeather"
tags: ["lock", "screen", "weather", "temperature", "forecast"]
text: I18n.tr("Weather", "Enable weather display on the lock screen window")
checked: SettingsData.lockScreenShowWeather
onToggled: checked => SettingsData.set("lockScreenShowWeather", checked)
}
SettingsDropdownRow {
settingKey: "lockScreenNotificationMode"
tags: ["lock", "screen", "notification", "notifications", "privacy"]
@@ -6073,6 +6073,23 @@
"icon": "movie",
"description": "Play a video when the screen locks."
},
{
"section": "lockScreenShowWeather",
"label": "Weather",
"tabIndex": 11,
"category": "Lock Screen",
"keywords": [
"climate",
"forecast",
"lock",
"login",
"password",
"screen",
"security",
"temperature",
"weather"
]
},
{
"section": "_tab_12",
"label": "Plugins",
@@ -9478,6 +9495,26 @@
"description": "DMS removes its managed block from /etc/pam.d/greetd and stops write services",
"conditionKey": "greeterAvailable"
},
{
"section": "greeterShowWeather",
"label": "Weather",
"tabIndex": 31,
"category": "Greeter",
"keywords": [
"climate",
"display manager",
"forecast",
"greetd",
"greeter",
"login",
"screen",
"show",
"temperature",
"weather"
],
"description": "Show weather on the login screen",
"conditionKey": "greeterAvailable"
},
{
"section": "muxType",
"label": "General",