From 658b660be1c6bd0eb2b75d51de36422a2a306dc8 Mon Sep 17 00:00:00 2001 From: Inqiyad Sabr Date: Mon, 20 Oct 2025 11:55:26 +0600 Subject: Changed every global variable to explicit variables --- battery.c | 80 +++++++++++++++++++++++++++++--------------------------------- cmus.c | 4 +++- cpu.c | 22 ++++++++--------- datetime.c | 16 ++++++++----- modules.h | 1 + 5 files changed, 63 insertions(+), 60 deletions(-) diff --git a/battery.c b/battery.c index 20283fd..f3f7b99 100644 --- a/battery.c +++ b/battery.c @@ -1,49 +1,45 @@ #include -#include #include "block.h" -#define DIR "/sys/class/power_supply/BAT0" -#define EN DIR"/energy_now" -#define EF DIR"/energy_full" -#define ST DIR"/status" -FILE *en; -FILE *ef; -FILE *st; -int c, state, bat_delay = 6; -float en_n, ef_n; -float p; -char pch[13], icon[5]; +#define BATDIR "/sys/class/power_supply/BAT0" +#define bat_val(f, n)\ + while((c = fgetc(f)) != '\n') n = 10 * n + (c - '0') +#define bat_open(f,F) if (!f) f = fopen(BATDIR"/"F,"r") +#define EN fenergy_now +#define EF fenergy_full +#define ST fbat_status +FILE *EN, *EF, *ST; +float bat_p; +int bat_state, bat_delay = 6; +char bat_str[13]; void battery(void) { if (bat_delay++ < 6) goto show_stat; else bat_delay = 0; - if (!en) en = fopen(EN,"r"); - if (!ef) ef = fopen(EF,"r"); - if (!st) st = fopen(ST,"r"); - if (en && ef && st) { - rewind(en); - rewind(ef); - rewind(st); + bat_open(EN,"energy_now"); + bat_open(EF,"energy_full"); + bat_open(ST,"status"); + if (fenergy_now) { + int c, en_n, ef_n; + rewind(EN); rewind(EF); rewind(ST); en_n = ef_n = 0; - while((c = fgetc(en)) != '\n') - en_n = 10 * en_n + (c - '0'); - while((c = fgetc(ef)) != '\n') - ef_n = 10 * ef_n + (c - '0'); - p = en_n * 100 / ef_n; - state = fgetc(st); - switch(state) { - case 'N': strncpy(icon,"",4); break; - case 'C': strncpy(icon,"󱐋",5); break; - case 'D': if (p > 0 && p <= 10) strncpy(icon," ",5); - else if (p > 10 && p <= 30) strncpy(icon," ",5); - else if (p > 30 && p <= 50) strncpy(icon," ",5); - else if (p > 50 && p <= 79) strncpy(icon," ",5); - else if (p > 79) strncpy(icon," ",5); - } snprintf(pch,13,"%s %02.2f%%",icon,p); - } -show_stat: - if (state == 'D') - block(pch,"#222222","#83a59899","#83a59899"); - else if (p < 30) - block(pch,"#222222","#ea544399","#ea544399"); - else if (state == 'N' || state == 'C') - block(pch,"#222222","#dfb24999","#dfb24999"); + bat_val(fenergy_now, en_n); + bat_val(fenergy_full, ef_n); + bat_p = (float)en_n * 100 / ef_n; + char *icon; + bat_state = fgetc(fbat_status); + switch(bat_state) { + case 'N': icon = ""; break; + case 'C': icon = "󱐋"; break; + case 'D': if (bat_p > 79) icon = " "; + else if (bat_p > 50) icon = " "; + else if (bat_p > 30) icon = " "; + else if (bat_p > 10) icon = " "; + else icon = " "; + } snprintf(bat_str,13,"%s %02.2f%%",icon,bat_p); + } show_stat: + if (bat_state == 'D' && bat_p >= 30) + block(bat_str,"#222222","#83a59899","#83a59899"); + else if (bat_p < 30) + block(bat_str,"#222222","#ea544399","#ea544399"); + else if (bat_state == 'N' || bat_state == 'C') + block(bat_str,"#222222","#dfb24999","#dfb24999"); } diff --git a/cmus.c b/cmus.c index edd7178..6aa8070 100644 --- a/cmus.c +++ b/cmus.c @@ -1,5 +1,7 @@ #include #include "block.h" +#define FG "#222222" +#define BG "#95b18b99" FILE *cmus_stat; char cmus_str[64]; void cmus(void) { @@ -12,5 +14,5 @@ void cmus(void) { rewind(cmus_stat); cmus_str[len] = '\0'; } - block(cmus_str,"#222222","#95b18b99","#95b18b99"); + block(cmus_str,FG,BG,BG); } diff --git a/cpu.c b/cpu.c index 0d53461..9573f96 100644 --- a/cpu.c +++ b/cpu.c @@ -2,37 +2,37 @@ #include "block.h" #define ICON_CPU " " FILE *proc_stat; -int stat[8], cpu_delay = 6; -double prev_idle, prev_total, total, idle, usage_p; -char usage_str[11]; +int cpu_stat[8], cpu_delay = 6; +char cpu_str[11]; void cpu(void) { if (cpu_delay++ < 6) goto show_stat; else cpu_delay = 0; + double prev_idle, prev_total, total, idle, usage_p; prev_idle = idle; prev_total = total; if (!proc_stat) proc_stat = fopen("/proc/stat","r"); if (proc_stat) { int c, i; fseek(proc_stat,5,0); - for (i = 0;i < 8;i++) stat[i] = 0; + for (i = 0;i < 8;i++) cpu_stat[i] = 0; for (i = 0; i < 8;) { c = fgetc(proc_stat); if (c != ' ') - stat[i] = 10 * stat[i] + (c - '0'); + cpu_stat[i] = 10 * cpu_stat[i] + (c - '0'); else i++; } - total = stat[0]+stat[1]+stat[2]; - idle = stat[3]+stat[4]; - total += stat[5]+stat[6]+stat[7]; + total = cpu_stat[0]+cpu_stat[1]+cpu_stat[2]; + idle = cpu_stat[3]+cpu_stat[4]; + total += cpu_stat[5]+cpu_stat[6]+cpu_stat[7]; } usage_p = (idle + total) - (prev_idle + prev_total); usage_p -= (idle - prev_idle); usage_p *= 100; usage_p /= (idle + total) - (prev_idle + prev_total); - snprintf(usage_str,11,ICON_CPU"%02.2f%%",usage_p); + snprintf(cpu_str,11,ICON_CPU"%02.2f%%",usage_p); show_stat: if (usage_p < 60) - block(usage_str,"#222222","#acae3299","#acae3299"); + block(cpu_str,"#222222","#acae3299","#acae3299"); else - block(usage_str,"#222222","#ea544399","#ea544399"); + block(cpu_str,"#222222","#ea544399","#ea544399"); } diff --git a/datetime.c b/datetime.c index b28102f..9464428 100644 --- a/datetime.c +++ b/datetime.c @@ -2,13 +2,17 @@ #include "block.h" #define ICON_TIME "󱑎 " #define ICON_DATE "󰃭 " -char ct[15]; -char cd[29]; +#define FG "#222222" +#define BG "#ca91a099" +#define CD current_date +#define CT current_time +char CD[15]; +char CT[29]; void datetime(void) { time_t t = time(NULL); struct tm * lt = localtime(&t); - strftime(ct,sizeof(ct),ICON_TIME"%H:%M:%S",lt); - block(ct,"#222222","#ca91a099","#ca91a099"); - strftime(cd,sizeof(cd),ICON_DATE"%Y-%m-%d %a",lt); - block(cd,"#222222","#ca91a099","#ca91a099"); + strftime(CD,sizeof(CD),ICON_TIME"%H:%M:%S",lt); + block(CD,FG,BG,BG); + strftime(CT,sizeof(CT),ICON_DATE"%Y-%m-%d %a",lt); + block(CT,FG,BG,BG); } diff --git a/modules.h b/modules.h index 4856487..139c9e7 100644 --- a/modules.h +++ b/modules.h @@ -12,6 +12,7 @@ void battery(void); #ifndef CPU_H #define CPU_H void cpu(void); +// cmus #endif #ifndef CMUS_H #define CMUS_H -- cgit v1.2.3