Bläddra i källkod

simplified battery_perc() a lot and removed useless options from config.def.h

Aaron Marcher 9 år sedan
förälder
incheckning
2d1bbf0d35
2 ändrade filer med 16 tillägg och 19 borttagningar
  1. 0 5
      config.def.h
  2. 16 14
      slstatus.c

+ 0 - 5
config.def.h

@@ -3,11 +3,6 @@
 /* alsa sound */
 #define ALSA_CHANNEL    "Master"
 
-/* battery */
-#define BATTERY_PATH    "/sys/class/power_supply/"
-#define BATTERY_NOW     "energy_now"
-#define BATTERY_FULL    "energy_full_design"
-
 /* how often to update the statusbar (min value == 1) */
 #define UPDATE_INTERVAL 1
 

+ 16 - 14
slstatus.c

@@ -98,34 +98,36 @@ smprintf(const char *fmt, ...)
 static char *
 battery_perc(const char *battery)
 {
-	int now, full, perc;
+	int now, full;
 	FILE *fp;
 
-	ccat(4, BATTERY_PATH, battery, "/", BATTERY_NOW);
-
+	ccat(3, "/sys/class/power_supply/", battery, "/energy_now");
 	fp = fopen(concat, "r");
 	if (fp == NULL) {
-		warn("Error opening battery file: %s", concat);
-		return smprintf(UNKNOWN_STR);
+		ccat(4, "/sys/class/power_supply/", battery, "/charge_now");
+		fp = fopen(concat, "r");
+		if (fp == NULL) {
+			warn("Error opening battery file: %s", concat);
+			return smprintf(UNKNOWN_STR);
+		}
 	}
-
 	fscanf(fp, "%i", &now);
 	fclose(fp);
 
-	ccat(4, BATTERY_PATH, battery, "/", BATTERY_FULL);
-
+	ccat(3, "/sys/class/power_supply/", battery, "/energy_full");
 	fp = fopen(concat, "r");
 	if (fp == NULL) {
-		warn("Error opening battery file: %s", concat);
-		return smprintf(UNKNOWN_STR);
+		ccat(4, "/sys/class/power_supply/", battery, "/charge_full");
+		fp = fopen(concat, "r");
+		if (fp == NULL) {
+			warn("Error opening battery file: %s", concat);
+			return smprintf(UNKNOWN_STR);
+		}
 	}
-
 	fscanf(fp, "%i", &full);
 	fclose(fp);
 
-	perc = now / (full / 100);
-
-	return smprintf("%d%%", perc);
+	return smprintf("%d%%", now / (full / 100));
 }
 
 static char *