custom changes
This commit is contained in:
parent
540a90e521
commit
92ecfd9b81
5 changed files with 35 additions and 26 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -54,3 +54,6 @@ modules.order
|
||||||
Module.symvers
|
Module.symvers
|
||||||
Mkfile.old
|
Mkfile.old
|
||||||
dkms.conf
|
dkms.conf
|
||||||
|
|
||||||
|
# Patch file for NixOS
|
||||||
|
custom_someblocks.patch
|
||||||
|
|
9
Makefile
9
Makefile
|
@ -2,14 +2,19 @@ PREFIX ?= /usr/local
|
||||||
MANPREFIX ?= $(PREFIX)/share/man
|
MANPREFIX ?= $(PREFIX)/share/man
|
||||||
CC ?= cc
|
CC ?= cc
|
||||||
|
|
||||||
|
DEVCFLAGS = -pedantic -Wall -Wextra -Wdeclaration-after-statement -Wno-unused-parameter -Wshadow -Wunused-macros\
|
||||||
|
-Werror=strict-prototypes -Werror=implicit -Werror=return-type -Werror=incompatible-pointer-types -Wfloat-conversion\
|
||||||
|
-Ofast -flto
|
||||||
|
|
||||||
output: someblocks.c blocks.def.h blocks.h
|
output: someblocks.c blocks.def.h blocks.h
|
||||||
${CC} someblocks.c $(LDFLAGS) -o someblocks
|
${CC} someblocks.c $(LDFLAGS) $(DEVCFLAGS) -o someblocks
|
||||||
|
strip someblocks
|
||||||
blocks.h:
|
blocks.h:
|
||||||
cp blocks.def.h $@
|
cp blocks.def.h $@
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.gch someblocks
|
rm -f *.o *.gch someblocks blocks.h
|
||||||
install: output
|
install: output
|
||||||
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
||||||
install -m 0755 someblocks $(DESTDIR)$(PREFIX)/bin/someblocks
|
install -m 0755 someblocks $(DESTDIR)$(PREFIX)/bin/someblocks
|
||||||
|
|
10
blocks.def.h
10
blocks.def.h
|
@ -1,16 +1,12 @@
|
||||||
//Modify this file to change what commands output to your statusbar, and recompile using the make command.
|
|
||||||
static const Block blocks[] = {
|
static const Block blocks[] = {
|
||||||
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
|
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
|
||||||
{"Mem:", "free -h | awk '/^Mem/ { print $3\"/\"$2 }' | sed s/i//g", 30, 0},
|
{" ", "pamixer --get-volume-human", 1, 0},
|
||||||
|
{" ", "free -h | awk '/^Mem/ { print $3\"/\"$2 }'", 1, 0},
|
||||||
{"", "date '+%b %d (%a) %I:%M%p'", 5, 0},
|
{" ", "date -Is", 1, 0},
|
||||||
|
|
||||||
/* Updates whenever "pkill -SIGRTMIN+10 someblocks" is ran */
|
/* Updates whenever "pkill -SIGRTMIN+10 someblocks" is ran */
|
||||||
/* {"", "date '+%b %d (%a) %I:%M%p'", 0, 10}, */
|
/* {"", "date '+%b %d (%a) %I:%M%p'", 0, 10}, */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
||||||
static char delim[] = " | ";
|
static char delim[] = " | ";
|
||||||
static unsigned int delimLen = 5;
|
static unsigned int delimLen = 5;
|
||||||
|
|
1
generate_patch.sh
Executable file
1
generate_patch.sh
Executable file
|
@ -0,0 +1 @@
|
||||||
|
git diff 540a90e521e7c17c2010e038b934b73d2cf46df3 > custom_someblocks.patch
|
32
someblocks.c
32
someblocks.c
|
@ -30,33 +30,36 @@ void dummysighandler(int num);
|
||||||
void sighandler(int num);
|
void sighandler(int num);
|
||||||
void getcmds(int time);
|
void getcmds(int time);
|
||||||
void getsigcmds(unsigned int signal);
|
void getsigcmds(unsigned int signal);
|
||||||
void setupsignals();
|
void setupsignals(void);
|
||||||
void sighandler(int signum);
|
void sighandler(int signum);
|
||||||
int getstatus(char *str, char *last);
|
int getstatus(char *str, char *last);
|
||||||
void statusloop();
|
void statusloop(void);
|
||||||
void termhandler();
|
void termhandler(int sig);
|
||||||
void pstdout();
|
void pstdout(void);
|
||||||
void psomebar();
|
void psomebar(void);
|
||||||
static void (*writestatus) () = psomebar;
|
static void (*writestatus) (void) = psomebar;
|
||||||
|
|
||||||
#include "blocks.h"
|
#include "blocks.h"
|
||||||
|
|
||||||
static char statusbar[LENGTH(blocks)][CMDLENGTH] = {0};
|
static char statusbar[LENGTH(blocks)][CMDLENGTH] = {0};
|
||||||
static char statusstr[2][STATUSLENGTH];
|
static char statusstr[2][STATUSLENGTH];
|
||||||
static int statusContinue = 1;
|
static int statusContinue = 1;
|
||||||
static int returnStatus = 0;
|
|
||||||
static char somebarPath[128];
|
static char somebarPath[128];
|
||||||
static int somebarFd = -1;
|
static int somebarFd = -1;
|
||||||
|
|
||||||
//opens process *cmd and stores output in *output
|
//opens process *cmd and stores output in *output
|
||||||
void getcmd(const Block *block, char *output)
|
void getcmd(const Block *block, char *output)
|
||||||
{
|
{
|
||||||
|
FILE *cmdf;
|
||||||
|
int i;
|
||||||
strcpy(output, block->icon);
|
strcpy(output, block->icon);
|
||||||
FILE *cmdf = popen(block->command, "r");
|
cmdf = popen(block->command, "r");
|
||||||
if (!cmdf)
|
if (!cmdf)
|
||||||
return;
|
return;
|
||||||
int i = strlen(block->icon);
|
i = strlen(block->icon);
|
||||||
fgets(output+i, CMDLENGTH-i-delimLen, cmdf);
|
if (fgets(output+i, CMDLENGTH-i-delimLen, cmdf) != (output+i)) {
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
i = strlen(output);
|
i = strlen(output);
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
//return if block and command output are both empty
|
//return if block and command output are both empty
|
||||||
|
@ -152,15 +155,16 @@ void psomebar()
|
||||||
|
|
||||||
void statusloop()
|
void statusloop()
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
setupsignals();
|
setupsignals();
|
||||||
int i = 0;
|
i = 0;
|
||||||
getcmds(-1);
|
getcmds(-1);
|
||||||
while (1) {
|
while (1) {
|
||||||
getcmds(i++);
|
getcmds(i++);
|
||||||
writestatus();
|
writestatus();
|
||||||
if (!statusContinue)
|
if (!statusContinue)
|
||||||
break;
|
break;
|
||||||
sleep(1.0);
|
sleep(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,12 +182,12 @@ void sighandler(int signum)
|
||||||
writestatus();
|
writestatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void termhandler()
|
void termhandler(int sig)
|
||||||
{
|
{
|
||||||
statusContinue = 0;
|
statusContinue = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sigpipehandler()
|
void sigpipehandler(int sig)
|
||||||
{
|
{
|
||||||
close(somebarFd);
|
close(somebarFd);
|
||||||
somebarFd = -1;
|
somebarFd = -1;
|
||||||
|
|
Reference in a new issue