LINUX.ORG.RU
Форум — Talks  

Чиним отображение погоды в Noctalia Shell 4.7.7

 , ,


0

2

Здравствуйте, уважаемые нокталийцы и нирийцы! Сейчас мы будем патчить Noctalia Shell 4.7.7. Если у вас другая версия Noctalia Shell, то всё равно можете посмотреть - возможно, патч применим и к ней.

Итак, недавно я заметил, что в Noctalia Shell 4.7.7 у меня заклинило погодный значок: и днём и ночью отображался значок «weather-moon-stars», который выглядит как «полумесяц и звёзды». В итоге я взял и пропатчил Noctalia Shell.

И вот он, этот патч:

--- LocationService.qml	2026-05-19 01:39:27.000000000 +0300
+++ /etc/xdg/quickshell/noctalia-shell/Services/Location/LocationService.qml	2026-09-25 21:58:05.423670345 +0300
@@ -325,8 +325,22 @@
   }
 
   // --------------------------------
+
+  function isDaytime() {
+    var w = data.weather;
+    if (!w)
+      return true;
+    if (w.current && w.current.is_day !== undefined)
+      return w.current.is_day === 1;
+    if (w.current_weather && w.current_weather.is_day !== undefined)
+      return w.current_weather.is_day === 1;
+    return true;
+  }
+
+  // --------------------------------
+
   function weatherSymbolFromCode(code) {
-    var isDay = data.weather ? data.weather.current_weather.is_day : true;
+    var isDay = isDaytime();
     if (code === 0)
       return isDay ? "weather-sun" : "weather-moon";
     if (code === 1 || code === 2)
@@ -352,7 +366,7 @@
 
   // --------------------------------
   function taliaWeatherImageFromCode(code) {
-    var isDay = data.weather ? data.weather.current_weather.is_day : true;
+    var isDay = isDaytime();
     if (code >= 40 && code <= 49)
       return Quickshell.shellDir + "/Assets/Talia/TaliaDazed.png";
     if (code >= 95 && code <= 99)
Вот такая вот простая и удобная для красноглазиков среда эта Noctalia Shell.

★★★★★
Ответ на: комментарий от BruteForce

QML (Qt Modeling Language) с JavaScript-логикой.

saahriktu ★★★★★
() автор топика

Кек, внезапно проблема оказалась глубже: в России api.open-meteo.com через который Noctalia Shell получает погодные данные оказался заблокирован с 22–23 сентября.

saahriktu ★★★★★
() автор топика

Перешёл на API метеорологического института Норвегии (api.met.no).

saahriktu ★★★★★
() автор топика

А какая есть причина оставаться на 4 ветке? Много патчей своих и не хочется переносить? У меня 5 патчей было, но я не поленился и перенёс всё же.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

А 5-й версии в Сизифе ещё не было. Вот сейчас появилась. И вот что я могу сказать по этому поводу: в p11 её ни у кого не будет никогда. Только в p12. Ну или если только пытаться переводить на сборку clang'ом.

Noctalia 5, как и последние Hyprland'ы, требует поддержку C++23, которая появилась не раньше чем в GCC 14. А в p11 GCC 13.

Я юзаю стабильную ветку, да.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Loki13

Ага. Хорошо, что EOL p11 уже не за горами - 30 июня 2027 г. До этого уже должна появиться p12.

saahriktu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.