Compare commits
10 Commits
cc78fe00af
...
main
Author | SHA1 | Date | |
---|---|---|---|
ee01830c33
|
|||
cef428daea
|
|||
cf2d0ed30e
|
|||
bb55ac56dd
|
|||
e911dd7095
|
|||
ae08d6f2ce
|
|||
3b0049fed5
|
|||
4aaf17b26a
|
|||
316e32a6a5
|
|||
89073bf8bd
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,7 +1,3 @@
|
||||
blocks.h
|
||||
dwmblocks
|
||||
dwmblocks-pulse-listener
|
||||
dwmblocks-*.pkg.tar.*
|
||||
src/
|
||||
pkg/
|
||||
scripts.tar
|
||||
config.mk
|
||||
blocks.h
|
||||
|
26
Makefile
26
Makefile
@ -1,34 +1,23 @@
|
||||
PREFIX := /usr/local
|
||||
CC := cc
|
||||
CFLAGS := -pedantic -Wall -Wno-deprecated-declarations -Os
|
||||
LDFLAGS := -lX11
|
||||
PULSEFLAGS := -lpulse
|
||||
NO_X := 0
|
||||
|
||||
ifeq ($(NO_X), 1)
|
||||
CFLAGS := $(CFLAGS) -DNO_X
|
||||
endif
|
||||
|
||||
# FreeBSD (uncomment)
|
||||
#LDFLAGS += -L/usr/local/lib -I/usr/local/include
|
||||
# # OpenBSD (uncomment)
|
||||
#LDFLAGS += -L/usr/X11R6/lib -I/usr/X11R6/include
|
||||
include config.mk
|
||||
|
||||
all: options dwmblocks
|
||||
|
||||
options:
|
||||
@echo dwmblocks build options:
|
||||
@echo "CFLAGS = ${CFLAGS}"
|
||||
@echo "CFLAGS = ${CFLAGS} ${NO_X}"
|
||||
@echo "LDFLAGS = ${LDFLAGS}"
|
||||
@echo "CC = ${CC}"
|
||||
@echo "PULSEFLAGS = ${PULSEFLAGS}"
|
||||
|
||||
dwmblocks: dwmblocks.c pulse-listener.c blocks.def.h blocks.h
|
||||
${CC} -o dwmblocks dwmblocks.c pulse-listener.c ${CFLAGS} ${PULSEFLAGS} ${LDFLAGS}
|
||||
${CC} ${NO_X} -o dwmblocks dwmblocks.c pulse-listener.c ${CFLAGS} ${PULSEFLAGS} ${LDFLAGS}
|
||||
|
||||
blocks.h:
|
||||
cp blocks.def.h $@
|
||||
|
||||
config.mk:
|
||||
cp config.def.mk $@
|
||||
|
||||
clean:
|
||||
rm -f *.o *.gch dwmblocks
|
||||
|
||||
@ -43,6 +32,7 @@ uninstall:
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-battery \
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-network \
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-volume \
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-fcitx5
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-fcitx5 \
|
||||
${DESTDIR}${PREFIX}/bin/dwmblocks-mu4e
|
||||
|
||||
.PHONY: all options clean install uninstall
|
||||
|
40
PKGBUILD
40
PKGBUILD
@ -1,40 +0,0 @@
|
||||
# Maintainer: Alexander Rosenberg <zanderpkg at pm dot me>
|
||||
|
||||
pkgname=dwmblocks
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
pkgdesc='Modular status bar for dwm'
|
||||
url='https://git.zander.im/Zander671/dwmblocks/'
|
||||
arch=('x86_64')
|
||||
license=('custom:ISC')
|
||||
depends=('libx11')
|
||||
optdepends=('pulseaudio: for dwmblocks-pulse-listener'
|
||||
'pamixer: for dwmblocks-volume'
|
||||
'networkmanager: for dwmblocks-network internet'
|
||||
'bluez-utils: for dwmblocks-network bluetooth')
|
||||
DLAGENTS=('tar::/bin/sh -c echo\ %u\ |\ cut\ -c7-\ |\ head\ -c-5\ |\ xargs\ -Isrc\ -n\ 1\ tar\ -cf\ %o\ src')
|
||||
source=('dwmblocks.c'
|
||||
'dwmblocks-pulse-listener.c'
|
||||
'LICENSE'
|
||||
'README.md'
|
||||
'Makefile'
|
||||
'blocks.h'
|
||||
'tar://scripts.tar')
|
||||
sha256sums=('SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
|
||||
build() {
|
||||
cp blocks.h blocks.def.h
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir" PREFIX='/usr' install
|
||||
install -m 0644 -Dt "$pkgdir/usr/share/doc/dwmblocks" 'README.md'
|
||||
install -m 0644 -Dt "$pkgdir/usr/share/licenses/dwmblocks" 'LICENSE'
|
||||
}
|
13
blocks.def.h
13
blocks.def.h
@ -3,13 +3,22 @@
|
||||
|
||||
static const Block blocks[] = {
|
||||
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
|
||||
{"", "dwmblocks-battery", SECONDS(10), 0},
|
||||
// {"", "dwmblocks-battery", SECONDS(10), 0},
|
||||
{"", "[ \"$(fcitx5-remote)\" -eq 2 ] && printf '和' || printf '英'", 0, 2},
|
||||
{"", "dwmblocks-mu4e", SECONDS(15), 0},
|
||||
{"", "dwmblocks-volume", 0, 1},
|
||||
{" ", "date +'%a %b %d'", SECONDS(30), 0},
|
||||
{" ", "date +'%R'", SECONDS(2), 0},
|
||||
{"", "dwmblocks-network", SECONDS(5), 0},
|
||||
//{"", "dwmblocks-fcitx5", 250, 0},
|
||||
};
|
||||
|
||||
#include "pulse-listener.h"
|
||||
|
||||
static const ThreadCallback thread_callbacks[] = {
|
||||
pulse_listener_main
|
||||
};
|
||||
|
||||
// sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
||||
static char delim[] = " ";
|
||||
static unsigned int delimLen = 5;
|
||||
static unsigned int delimLen = 2;
|
||||
|
14
config.def.mk
Normal file
14
config.def.mk
Normal file
@ -0,0 +1,14 @@
|
||||
PREFIX := /usr/local
|
||||
CC := cc
|
||||
CFLAGS := -pedantic -Wall -Wno-deprecated-declarations -Os
|
||||
LDFLAGS := -lX11
|
||||
PULSEFLAGS := -lpulse
|
||||
|
||||
NO_X =
|
||||
# Uncomment to build without X11
|
||||
# NO_X = -DNO_X
|
||||
|
||||
# FreeBSD (uncomment)
|
||||
#LDFLAGS += -L/usr/local/lib -I/usr/local/include
|
||||
# OpenBSD (uncomment)
|
||||
#LDFLAGS += -L/usr/X11R6/lib -I/usr/X11R6/include
|
@ -72,6 +72,7 @@ static void cleanup(void *data_to_free[2]) {
|
||||
}
|
||||
|
||||
void pulse_listener_main(pthread_t *main_thread) {
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_DISABLE, NULL);
|
||||
pa_mainloop *mainloop = pa_mainloop_new();
|
||||
if (!mainloop) {
|
||||
ERROR("could not create pulse mainloop\n");
|
||||
@ -91,11 +92,12 @@ void pulse_listener_main(pthread_t *main_thread) {
|
||||
(pa_context_notify_cb_t)&state_callback,
|
||||
main_thread);
|
||||
if (pa_context_connect(context, NULL, PA_CONTEXT_NOAUTOSPAWN, NULL) < 0) {
|
||||
ERROR("could not connect to pulse");
|
||||
ERROR("could not connect to pulse\n");
|
||||
return;
|
||||
}
|
||||
void *data_to_free[2] = { mainloop, context };
|
||||
pthread_cleanup_push((void(*)(void *)) cleanup, data_to_free);
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ENABLE, NULL);
|
||||
pa_mainloop_run(mainloop, NULL);
|
||||
pthread_cleanup_pop(1);
|
||||
}
|
||||
|
3
scripts/dwmblocks-mu4e
Executable file
3
scripts/dwmblocks-mu4e
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env zsh
|
||||
let message_count="$(mu find flag:unread AND maildir:/protonmail/Inbox 2>/dev/null | wc -l)"
|
||||
(( "${message_count}" > 0 )) && printf ' %s' "${message_count}"
|
Reference in New Issue
Block a user