mdeutils/mbiff/mail.c

38 lines
797 B
C
Raw Normal View History

2025-11-18 20:34:20 +09:00
#include "mbiff.h"
static time_t last = 0;
static char* mailpath;
void init_mail(void){
struct stat s;
struct passwd* pwd = getpwuid(getuid());
if(getenv("MAIL") != NULL){
mailpath = malloc(strlen(getenv("MAIL")) + strlen(pwd->pw_name) + 1);
sprintf(mailpath, getenv("MAIL"), pwd->pw_name);
}else{
mailpath = malloc(strlen(_PATH_MAILDIR) + 1 + strlen(pwd->pw_name) + 1);
sprintf(mailpath, _PATH_MAILDIR "/%s", pwd->pw_name);
}
if(stat(mailpath, &s) == 0){
last = s.st_mtime;
}
}
void check_mail(void){
struct stat s;
2025-11-18 22:51:48 +09:00
s.st_mtime = 0;
if(stat(mailpath, &s) == 0 || last != 0){
if((s.st_mtime == 0 && last != 0) || s.st_mtime > last){
MwVaApply(image,
MwNpixmap, full,
NULL);
2025-11-21 19:21:27 +09:00
MwVaApply(window,
MwNiconPixmap, full,
NULL);
2025-11-18 20:34:20 +09:00
}
last = s.st_mtime;
}
}