]> git.sur5r.net Git - i3/i3status/blobdiff - src/print_wireless_info.c
Use "color_degraded" when interface has no IP
[i3/i3status] / src / print_wireless_info.c
index eae942b9c6dfa95271b7e8444f068398a8b2ab64..83c717e7a7b63218a761c337ef32bfc91dfaf2d4 100644 (file)
@@ -308,10 +308,9 @@ static int get_wireless_info(const char *interface, wireless_info_t *info) {
             strlcpy(nr.nr_ifname, interface, sizeof(nr.nr_ifname));
 
             if (ioctl(s, SIOCG80211NODE, &nr) == 0 && nr.nr_rssi) {
+                info->signal_level = nr.nr_rssi;
                 if (nr.nr_max_rssi)
-                    info->signal_level_max = IEEE80211_NODEREQ_RSSI(&nr);
-                else
-                    info->signal_level = nr.nr_rssi;
+                    info->signal_level_max = nr.nr_max_rssi;
 
                 info->flags |= WIRELESS_INFO_FLAG_HAS_SIGNAL;
             }
@@ -343,7 +342,7 @@ void print_wireless_info(yajl_gen json_gen, char *buffer, const char *interface,
         if (info.flags & WIRELESS_INFO_FLAG_HAS_QUALITY)
             START_COLOR((info.quality < info.quality_average ? "color_degraded" : "color_good"));
         else
-            START_COLOR("color_good");
+            START_COLOR((BEGINS_WITH(ip_address, "no IP") ? "color_degraded" : "color_good"));
     } else {
         walk = format_down;
         START_COLOR("color_bad");