aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInqiyad Sabr <sabr@ariamath.xyz>2025-11-18 14:42:04 +0600
committerInqiyad Sabr <sabr@ariamath.xyz>2025-11-18 14:42:04 +0600
commitccad4019ce8e83cc7e9f3edb257c78bb51589421 (patch)
tree344a0a47e0c0b330105b5d25d7ee9ac8284610f2
parent1a494a95e6436f90d3dfc1ca7647eafcc94e5034 (diff)
Fixing all redundancies in code reading, hopefully.
-rw-r--r--README.md2
-rw-r--r--battery.c40
-rw-r--r--block.c6
-rw-r--r--bstatus.c8
-rwxr-xr-xcmus-status18
-rw-r--r--cmus.c10
-rw-r--r--cpu.c3
-rw-r--r--datetime.c3
-rw-r--r--mem.c17
-rw-r--r--scrbr.c37
10 files changed, 77 insertions, 67 deletions
diff --git a/README.md b/README.md
index 154a186..ec0e236 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ The modules aren't directly portable, I'd say to modify and port it than to comp
- [x] battery
- [x] cpu
- [x] memory
-- [x] brightness (screen)
+- [x] screen brightness
- [ ] volume
- [ ] network
diff --git a/battery.c b/battery.c
index f3f7b99..7c8a8dd 100644
--- a/battery.c
+++ b/battery.c
@@ -4,26 +4,30 @@
#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;
+FILE *fenergy_now, *fenergy_full, *fbat_status;
float bat_p;
int bat_state, bat_delay = 6;
char bat_str[13];
-void battery(void) {
+void battery(void)
+{
if (bat_delay++ < 6) goto show_stat;
else bat_delay = 0;
- 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;
- bat_val(fenergy_now, en_n);
- bat_val(fenergy_full, ef_n);
- bat_p = (float)en_n * 100 / ef_n;
+
+ bat_open(fenergy_now,"energy_now");
+ bat_open(fenergy_full,"energy_full");
+ bat_open(fbat_status,"status");
+
+ if (fenergy_now)
+ {
+ int energy_now, energy_full;
+ rewind(fenergy_now);
+ rewind(fenergy_full);
+ rewind(fbat_status);
+ energy_now = energy_full = 0;
+ int c;
+ bat_val(fenergy_now, energy_now);
+ bat_val(fenergy_full, energy_full);
+ bat_p = (float)energy_now * 100 / energy_full;
char *icon;
bat_state = fgetc(fbat_status);
switch(bat_state) {
@@ -34,8 +38,10 @@ void battery(void) {
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:
+ }
+ 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)
diff --git a/block.c b/block.c
index efdcb63..1097fb3 100644
--- a/block.c
+++ b/block.c
@@ -1,9 +1,7 @@
#include <stdio.h>
#define BORDER_WIDTH "10"
-void block(
- char *text, char *fg,
- char *bg, char *bc
-){
+void block(char *text, char *fg, char *bg, char *bc)
+{
fputs("{",stdout);
printf("\"full_text\":\"%s\",",text);
printf("\"color\":\"%s\",",fg);
diff --git a/bstatus.c b/bstatus.c
index 1f3e735..5e6dd33 100644
--- a/bstatus.c
+++ b/bstatus.c
@@ -2,7 +2,8 @@
#include "modules.h"
int main(void)
{
- write(1,
+ write
+ (1,
"{\"version\":1,"
"\"bstatus-version\":\"0.1.1-r1\","
"\"click_events\":true,"\
@@ -10,13 +11,14 @@ int main(void)
"\"stop_signal\":19}\n[[],\n",
102
);
- for (;;) {
+ for (;;)
+ {
write(1,"[",1);
cmus();
datetime();
battery();
cpu();
- scrbr();
+ //scrbr();
mem();
write(1,"],",2);
sleep(1);
diff --git a/cmus-status b/cmus-status
index 0afbc47..9d7c4a4 100755
--- a/cmus-status
+++ b/cmus-status
@@ -1,19 +1,25 @@
#!/bin/sh
# :set status_display_program=cmus-status
-# copy this program to one of the $PATH
file="/tmp/cmus-status"
printf "" > $file # refresh
+
[ $# = 2 ] &&\
- printf "󰓛" > $file &&\
+ printf '󰓛' > $file &&\
exit 0
+
if [ "$2" = "playing" ];
-then s="󰐊";
-else s="";
+then icon="󰐊";
+else icon="";
fi
+
artist="${6}"
album="${10}"
-num="${14}."
+num="${14}"
title="${16}"
-format="$s $artist - $num $title"
+format="${icon} ${artist} - ${album} - ${num}. ${title}"
+
notify-send "🎵 Player" "$album\n$format" -t 3000
+printf "%s %10s - %10s - %s. %40s"\
+ "${icon}" "${artist}" "${album}"\
+ "${num}" "${title}"
printf "%s" "$format" >> $file
diff --git a/cmus.c b/cmus.c
index f1a0148..7a4b436 100644
--- a/cmus.c
+++ b/cmus.c
@@ -3,12 +3,14 @@
#define FG "#222222"
#define BG "#95b18b99"
FILE *cmus_stat;
-char cmus_str[64];
-void cmus(void) {
- if (!cmus_stat) cmus_stat = fopen("/tmp/cmus-status","r");
+char cmus_str[80];
+void cmus(void)
+{
+ if (!cmus_stat)
+ cmus_stat = fopen("/tmp/cmus-status","r");
if (cmus_stat) {
rewind(cmus_stat);
- fgets(cmus_str,64,cmus_stat);
+ fgets(cmus_str,80,cmus_stat);
}
block(cmus_str,FG,BG,BG);
}
diff --git a/cpu.c b/cpu.c
index a1068c2..dff7693 100644
--- a/cpu.c
+++ b/cpu.c
@@ -9,7 +9,8 @@ int cpu_delay = 6, cpu_stat[8];
char cpu_str[12];
int total, idle;
double cpu_usage_p;
-void cpu(void) {
+void cpu(void)
+{
if (cpu_delay++ < 6) goto show_stat;
else cpu_delay = 0;
int prev_idle, prev_total;
diff --git a/datetime.c b/datetime.c
index 9464428..1c4e3e5 100644
--- a/datetime.c
+++ b/datetime.c
@@ -8,7 +8,8 @@
#define CT current_time
char CD[15];
char CT[29];
-void datetime(void) {
+void datetime(void)
+{
time_t t = time(NULL);
struct tm * lt = localtime(&t);
strftime(CD,sizeof(CD),ICON_TIME"%H:%M:%S",lt);
diff --git a/mem.c b/mem.c
index e92b657..858f40b 100644
--- a/mem.c
+++ b/mem.c
@@ -3,7 +3,7 @@
#define ICON_MEM " "
#define FG "#222222"
#define BG "#95b18b99"
-#define mem_val(n)\
+#define get_mem_val(n)\
for(n = 0; (c = fgetc(meminfo)) != '\n';)\
if (c >= '0' && c <= '9')\
n = 10 * n + (c - '0')
@@ -11,19 +11,20 @@
FILE *meminfo;
int mem_delay = 3;
char mem_str[15];
-void mem(void) {
+void mem(void)
+{
if (mem_delay++ < 3) goto show_stat;
else mem_delay = 0;
if (!meminfo) meminfo = fopen("/proc/meminfo","r");
int c, mem;
int total, free, buffers,
cached, shared, reclaim;
- jmpl(1); mem_val(total);
- jmpl(2); mem_val(free);
- jmpl(4); mem_val(buffers);
- jmpl(5); mem_val(cached);
- jmpl(23); mem_val(shared);
- jmpl(26); mem_val(reclaim);
+ jmpl(1); get_mem_val(total);
+ jmpl(2); get_mem_val(free);
+ jmpl(4); get_mem_val(buffers);
+ jmpl(5); get_mem_val(cached);
+ jmpl(23); get_mem_val(shared);
+ jmpl(26); get_mem_val(reclaim);
mem = total + reclaim - (free+buffers+cached+shared);
mem /= 1024;
snprintf(mem_str,15,ICON_MEM"%5d MiB",mem);
diff --git a/scrbr.c b/scrbr.c
index 398a414..9711af6 100644
--- a/scrbr.c
+++ b/scrbr.c
@@ -7,36 +7,29 @@
#define BDIR "/sys/class/backlight/amdgpu_bl1"
#define BMAXF max_brightness_f
#define BCURF current_brightness_f
+#define insbuf(s,n) size = ftell(s);\
+ rewind(s); fgets(buf,size,s); n = atoi(buf)
FILE *BCURF, *BMAXF;
+int delay_scrbr = 6;
+char brightness_str[10];
void scrbr(void)
{
- char *buf;
+ if (delay_scrbr++ < 6) goto show_stat;
+ else delay_scrbr = 0;
unsigned short current_brightness;
unsigned short max_brightness;
unsigned short size;
-
+ char buf[12];
if (!BCURF) BCURF = fopen(BDIR"/brightness","r");
if (!BMAXF) BMAXF = fopen(BDIR"/max_brightness","r");
-
fseek(BCURF, 0, SEEK_END);
fseek(BMAXF, 0, SEEK_END);
-
- size = ftell(BCURF);
- buf = malloc(size);
- rewind(BCURF);
- fgets(buf, size, BCURF);
- current_brightness = atoi(buf);
- free(buf);
-
- size = ftell(BMAXF);
- buf = malloc(size);
- rewind(BMAXF);
- fgets(buf, size, BMAXF);
- max_brightness = atoi(buf);
- free(buf);
-
- char brightness[10];
- snprintf(brightness,10,ICON_BR"%3d%%",
- current_brightness*100/max_brightness);
- block(brightness,FG,BG,BG);
+ insbuf(BCURF,current_brightness);
+ insbuf(BMAXF,max_brightness);
+ snprintf(
+ brightness_str,10,ICON_BR"%3d%%",
+ current_brightness*100/max_brightness
+ );
+show_stat:
+ block(brightness_str,FG,BG,BG);
}