Update statusbar on waking up from deep sleep so battery % & time accurate

master
Miles Alan 5 years ago
parent 87c99ec024
commit 10705f08cd
  1. 15
      programs/sxmo_screenlock.c

@ -32,6 +32,7 @@ void lockscreen(Display *dpy, int screen);
void readinputloop(Display *dpy, int screen);
void setpineled(enum Color c);
void syncstate();
void updatestatusbar();
void writefile(char *filepath, char *str);
// Variables
@ -237,6 +238,8 @@ syncstate()
setpineled(Red);
configuresuspendsettingsandwakeupsources();
writefile(powerstatefile, "mem");
// Just woke up
updatestatusbar();
state = StateSuspendPending;
syncstate();
} else if (state == StateNoInput) {
@ -251,6 +254,18 @@ syncstate()
}
}
void
updatestatusbar()
{
pid_t statusbarpid = -1;
char buffer[999];
// TODO: there's probably a better way..
if (fgets(buffer, 999, popen("pgrep -f sxmo_statusbar.sh", "r")) != NULL)
statusbarpid = (pid_t) atoi(buffer);
if (statusbarpid != -1)
kill(statusbarpid, SIGUSR1);
}
void
writefile(char *filepath, char *str)
{

Loading…
Cancel
Save