aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-02-22 14:57:02 +0100
committerMattias Andrée <m@maandree.se>2026-02-22 14:57:02 +0100
commitb18d4acc015fb9ff66969ac95a4d8e78bdfa43e2 (patch)
tree00620b1233219b876253b3e6715a8d062fa36573
parentUpdate-email (diff)
downloadxpybar-18f1d954710ca75a150799349d55153f8ecdee98.tar.gz
xpybar-18f1d954710ca75a150799349d55153f8ecdee98.tar.bz2
xpybar-18f1d954710ca75a150799349d55153f8ecdee98.tar.xz
Signed-off-by: Mattias Andrée <m@maandree.se>
-rw-r--r--.gitignore7
-rw-r--r--COPYING1
-rw-r--r--DEPENDENCIES1
-rw-r--r--INSTALLING1
-rw-r--r--Makefile114
-rw-r--r--README3
-rw-r--r--TODO1
-rw-r--r--doc/info/xpybar.texinfo3
-rw-r--r--doc/man/xpybar.12
-rw-r--r--examples/compact1
-rw-r--r--examples/launchers1
-rw-r--r--examples/mixed1
-rw-r--r--examples/moderate1
-rw-r--r--examples/plugins/alsa1
-rw-r--r--examples/plugins/chase1
-rw-r--r--examples/plugins/clock1
-rw-r--r--examples/plugins/cpu1
-rw-r--r--examples/plugins/cpuinfo1
-rw-r--r--examples/plugins/cpuonline1
-rw-r--r--examples/plugins/dentrystate1
-rw-r--r--examples/plugins/df1
-rw-r--r--examples/plugins/discstats1
-rw-r--r--examples/plugins/files1
-rw-r--r--examples/plugins/image1
-rw-r--r--examples/plugins/inodestate1
-rw-r--r--examples/plugins/inotify1
-rw-r--r--examples/plugins/ipaddress1
-rw-r--r--examples/plugins/kmsg1
-rw-r--r--examples/plugins/leapsec1
-rw-r--r--examples/plugins/loadavg1
-rw-r--r--examples/plugins/locks1
-rw-r--r--examples/plugins/lunar1
-rw-r--r--examples/plugins/mem1
-rw-r--r--examples/plugins/moc1
-rw-r--r--examples/plugins/network1
-rw-r--r--examples/plugins/pacman1
-rw-r--r--examples/plugins/ping1
-rw-r--r--examples/plugins/random1
-rw-r--r--examples/plugins/ropty1
-rw-r--r--examples/plugins/snmp1
-rw-r--r--examples/plugins/snmp61
-rw-r--r--examples/plugins/softirqs1
-rw-r--r--examples/plugins/swaps1
-rw-r--r--examples/plugins/tzclock1
-rw-r--r--examples/plugins/uname1
-rw-r--r--examples/plugins/uptime1
-rw-r--r--examples/plugins/users1
-rw-r--r--examples/plugins/vmstat1
-rw-r--r--examples/plugins/xdisplay1
-rw-r--r--examples/plugins/xkb1
-rw-r--r--examples/test1
-rw-r--r--examples/tricks/anytzclock1
-rw-r--r--examples/tricks/localutcclock1
-rw-r--r--examples/xmonad1
-rw-r--r--src/plugins/alsa.py1
-rw-r--r--src/plugins/application.py1
-rw-r--r--src/plugins/chase.py1
-rw-r--r--src/plugins/clock.py1
-rw-r--r--src/plugins/cpu.py1
-rw-r--r--src/plugins/cpuinfo.py1
-rw-r--r--src/plugins/cpuonline.py1
-rw-r--r--src/plugins/dentrystate.py1
-rw-r--r--src/plugins/df.py1
-rw-r--r--src/plugins/discstats.py1
-rw-r--r--src/plugins/files.py1
-rw-r--r--src/plugins/hdparm.py1
-rw-r--r--src/plugins/ii.py1
-rw-r--r--src/plugins/image.py1
-rw-r--r--src/plugins/inodestate.py1
-rw-r--r--src/plugins/inotify.py1
-rw-r--r--src/plugins/ipaddress.py1
-rw-r--r--src/plugins/kmsg.py1
-rw-r--r--src/plugins/leapsec.py1
-rw-r--r--src/plugins/linereader.py1
-rw-r--r--src/plugins/loadavg.py1
-rw-r--r--src/plugins/locks.py1
-rw-r--r--src/plugins/lunar.py1
-rw-r--r--src/plugins/menu.py1
-rw-r--r--src/plugins/moc.py1
-rw-r--r--src/plugins/network.py1
-rw-r--r--src/plugins/pacman.py1
-rw-r--r--src/plugins/ping.py1
-rw-r--r--src/plugins/powersupply.py1
-rw-r--r--src/plugins/random.py1
-rw-r--r--src/plugins/ropty.py1
-rw-r--r--src/plugins/snmp.py1
-rw-r--r--src/plugins/snmp6.py1
-rw-r--r--src/plugins/softirqs.py1
-rw-r--r--src/plugins/solar.py1
-rw-r--r--src/plugins/swaps.py1
-rw-r--r--src/plugins/tzclock.py1
-rw-r--r--src/plugins/uname.py2
-rw-r--r--src/plugins/uptime.py1
-rw-r--r--src/plugins/users.py1
-rw-r--r--src/plugins/vmstat.py1
-rw-r--r--src/plugins/weather.py1
-rw-r--r--src/plugins/xdisplay.py1
-rw-r--r--src/plugins/xkb.py1
-rw-r--r--src/restricted-hdparm.c5
-rw-r--r--src/util.py1
-rw-r--r--src/x.py1
-rw-r--r--src/xpybar.auto-completion1
102 files changed, 61 insertions, 170 deletions
diff --git a/.gitignore b/.gitignore
index 72aa774..f1640c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,7 @@
-_/
bin/
obj/
__pycache__/
-/dist/*/*/*
-!/dist/archlinux/*/PKGBUILD
-!/dist/archlinux/*/xpybar.install
-\#*\#
+*\#*
.*
!.git*
*~
@@ -18,4 +14,3 @@ __pycache__/
*.o
*.su
*.gch
-
diff --git a/COPYING b/COPYING
index 16b2e0e..2d9fa40 100644
--- a/COPYING
+++ b/COPYING
@@ -37,4 +37,3 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-
diff --git a/DEPENDENCIES b/DEPENDENCIES
index 9103596..1bf13a5 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -34,4 +34,3 @@ BUILD DEPENDENCIES:
coreutils
sed
auto-auto-complete (optional)
-
diff --git a/INSTALLING b/INSTALLING
index 7c4e11d..f50f062 100644
--- a/INSTALLING
+++ b/INSTALLING
@@ -2,4 +2,3 @@ After running `make install`, you
should run `chmod 4755 /usr/bin/restricted-hdparm`
assuming DESTDIR=, PREFIX=/usr and BIN=/bin
or DESTDIR= and BINDIR=/usr/bin.
-
diff --git a/Makefile b/Makefile
index 021854e..6c9e60f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,35 +1,32 @@
-PREFIX = /usr
-BIN = /bin
-DATA = /share
-EXAMPLE = /share
-BINDIR = $(PREFIX)$(BIN)
-DATADIR = $(PREFIX)$(DATA)
+PREFIX = /usr
+BIN = /bin
+DATA = /share
+EXAMPLE = /share
+BINDIR = $(PREFIX)$(BIN)
+DATADIR = $(PREFIX)$(DATA)
EXAMPLEDIR = $(PREFIX)$(EXAMPLE)
-MANDIR = $(DATADIR)/man
-MAN1DIR = $(MANDIR)/man1
-INFODIR = $(DATADIR)/info
-DOCDIR = $(DATADIR)/doc
+MANDIR = $(DATADIR)/man
+MAN1DIR = $(MANDIR)/man1
+INFODIR = $(DATADIR)/info
+DOCDIR = $(DATADIR)/doc
LICENSEDIR = $(DATADIR)/licenses
PY3_SHEBANG = "/usr/bin/env python3"
+
+CC = c99
+MAKEINFO = makeinfo
+TEXI2DVI = texi2dvi
+
+CPPFLAGS =
+CFLAGS =
+LDFLAGS =
+
HDPARM_PATH = /usr/sbin/hdparm
-COMMAND = xpybar
-PKGNAME = xpybar
+COMMAND = xpybar
+PKGNAME = xpybar
PLUGIN_PATH = $(DATADIR)/$(PKGNAME)
-WARN = -Wall -Wextra -pedantic -Wdouble-promotion -Wformat=2 -Winit-self \
- -Wmissing-include-dirs -Wtrampolines -Wfloat-equal -Wshadow \
- -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls \
- -Wnested-externs -Winline -Wno-variadic-macros -Wsign-conversion \
- -Wswitch-default -Wconversion -Wsync-nand -Wunsafe-loop-optimizations \
- -Wcast-align -Wstrict-overflow -Wdeclaration-after-statement -Wundef \
- -Wbad-function-cast -Wcast-qual -Wwrite-strings -Wlogical-op \
- -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wpacked \
- -Wvector-operation-performance -Wunsuffixed-float-constants \
- -Wsuggest-attribute=const -Wsuggest-attribute=noreturn \
- -Wsuggest-attribute=pure -Wsuggest-attribute=format -Wnormalized=nfkc
-
SRC = __main__ util x
@@ -65,7 +62,7 @@ base: bin/xpybar bin/restricted-hdparm
bin/xpybar: obj/xpybar.zip
mkdir -p bin
echo "#!$(PY3_SHEBANG)" > $@
- cat $< >> $@
+ cat obj/xpybar.zip >> $@
chmod a+x $@
obj/xpybar.zip: $(foreach F,$(SRC),obj/$(F).py)
@@ -73,14 +70,14 @@ obj/xpybar.zip: $(foreach F,$(SRC),obj/$(F).py)
obj/%.py: src/%.py
mkdir -p obj
- cp $< $@
+ cp $< $@
sed -i "s:PLUGIN_PATH = None:PLUGIN_PATH = '$(PLUGIN_PATH)':g" $@
bin/restricted-hdparm: obj/restricted-hdparm.o
- $(CC) -std=c89 -Ofast $(WARN) -o $@ $^
+ $(CC) -o $@ obj/restricted-hdparm.o $(LFDLAGS)
obj/%.o: src/%.c
- $(CC) -std=c89 -Ofast $(WARN) -c -o $@ $< -D'HDPARM_PATH="$(HDPARM_PATH)"'
+ $(CC) -c -o $@ $< -D'HDPARM_PATH="$(HDPARM_PATH)"' $(CFLAGS) $(CPPFLAGS)
.PHONY: doc
doc: info pdf dvi ps
@@ -150,83 +147,83 @@ install-base: install-command install-license install-all-examples install-plugi
.PHONY: install-command
install-command: bin/xpybar bin/restricted-hdparm
- install -dm755 -- "$(DESTDIR)$(BINDIR)"
- install -m755 bin/xpybar -- "$(DESTDIR)$(BINDIR)/$(COMMAND)"
- install -m755 bin/restricted-hdparm -- "$(DESTDIR)$(BINDIR)/restricted-hdparm"
+ mkdir -p -- "$(DESTDIR)$(BINDIR)"
+ cp -f -- bin/xpybar "$(DESTDIR)$(BINDIR)/$(COMMAND)"
+ cp -f -- bin/restricted-hdparm "$(DESTDIR)$(BINDIR)/restricted-hdparm"
.PHONY: install-license
install-license: COPYING LICENSE.gpl3 LICENSE.agpl3
- install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
- install -m644 $^ -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
+ mkdir -p -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
+ cp -f -- COPYING LICENSE.gpl3 LICENSE.agpl3 "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
.PHONY: install-all-examples
install-all-examples: install-examples install-trick-examples install-plugin-examples
.PHONY: install-examples
install-examples: $(foreach F,$(EXAMPLES),examples/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
.PHONY: install-trick-examples
install-trick-examples: $(foreach F,$(TRICK_EXAMPLES),examples/tricks/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
.PHONY: install-plugin-examples
install-plugin-examples: $(foreach F,$(PLUGIN_EXAMPLES),examples/plugins/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
.PHONY: install-plugins
install-plugins: $(foreach F,$(PLUGINS),src/plugins/$(F).py)
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/plugins"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/plugins"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins"
+ cp -f -- $(foreach F,$(PLUGINS),src/plugins/$(F).py) "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins"
.PHONY: install-doc
install-doc: install-info install-pdf install-dvi install-ps install-man
.PHONY: install-info
install-info: bin/xpybar.info
- install -dm755 -- "$(DESTDIR)$(INFODIR)"
- install -m644 $< -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info"
+ mkdir -p -- "$(DESTDIR)$(INFODIR)"
+ cp -f -- bin/xpybar.info "$(DESTDIR)$(INFODIR)/$(PKGNAME).info"
.PHONY: install-pdf
install-pdf: bin/xpybar.pdf
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.pdf "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf"
.PHONY: install-dvi
install-dvi: bin/xpybar.dvi
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.dvi "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi"
.PHONY: install-ps
install-ps: bin/xpybar.ps
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.ps "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps"
.PHONY: install-man
install-man: doc/man/xpybar.1
- install -dm755 -- "$(DESTDIR)$(MAN1DIR)"
- install -m644 $< -- "$(DESTDIR)$(MAN1DIR)/$(COMMAND).1"
+ mkdir -p -- "$(DESTDIR)$(MAN1DIR)"
+ cp -- doc/man/xpybar.1 "$(DESTDIR)$(MAN1DIR)/$(COMMAND).1"
.PHONY: install-shell
install-shell: install-bash install-fish install-zsh
.PHONY: install-bash
install-bash: bin/xpybar.bash-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/bash-completion/completions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/bash-completion/completions"
+ cp -- bin/xpybar.bash-completion "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)"
.PHONY: install-fish
install-fish: bin/xpybar.fish-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/fish/completions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/fish/completions"
+ cp -- bin/xpybar.fish-completion "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish"
.PHONY: install-zsh
install-zsh: bin/xpybar.zsh-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/zsh/site-functions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/zsh/site-functions"
+ cp -- bin/xpybar.zsh-completion "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)"
@@ -261,5 +258,4 @@ uninstall:
.PHONY: clean
clean:
- -rm -r obj bin
-
+ -rm -rf -- obj bin
diff --git a/README b/README
index 6fa08ae..a5ca7f0 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
NAME
- xpybar - A highly extensible minimalistic dock panel configured in Python 3
+ xpybar - Highly extensible minimalistic dock panel configured in Python 3
SYNOPSIS
xpybar [OPTION]... [-- CONFIGURATION_OPTION...]
@@ -60,4 +60,3 @@ SEE ALSO
dmenu(1), metar(1), stlarch_icons
Full documentation available locally via: info '(xpybar)'
-
diff --git a/TODO b/TODO
index 84d444c..d0f081b 100644
--- a/TODO
+++ b/TODO
@@ -62,4 +62,3 @@ workspace and layout switching in xmonad
fix so that ropty works with wall too
use C to gather system information efficiently, which
will also circumvent the global interpretor lock
-
diff --git a/doc/info/xpybar.texinfo b/doc/info/xpybar.texinfo
index 361898a..8138ccb 100644
--- a/doc/info/xpybar.texinfo
+++ b/doc/info/xpybar.texinfo
@@ -125,7 +125,7 @@ running some code.) You can find the source code and read it at
@url{https://codeberg.org/maandree/xpybar/tree/master/src/}.
If the documentation is not clear enough, please file a bug
att @url{https://codeberg.org/maandree/xpybar/issues} or to
-@code{maandree@@kth.se}.
+@code{m@@maandree.se}.
Graphic-functions are found in @file{x.py} and @file{__main__.py}.
You will also find some basic functions @file{__main__.py}.
@@ -141,4 +141,3 @@ Please also refer to the example configuration scripts.
@include fdl.texinfo
@bye
-
diff --git a/doc/man/xpybar.1 b/doc/man/xpybar.1
index 71d9d65..cfc539a 100644
--- a/doc/man/xpybar.1
+++ b/doc/man/xpybar.1
@@ -1,6 +1,6 @@
.TH XPYBAR 1 XPYBAR
.SH NAME
-xpybar - A highly extensible minimalistic dock panel configured in Python 3
+xpybar - Highly extensible minimalistic dock panel configured in Python 3
.SH SYNOPSIS
.BR xpybar
.IR "" [ OPTION ]...
diff --git a/examples/compact b/examples/compact
index 554ed82..e7edd36 100644
--- a/examples/compact
+++ b/examples/compact
@@ -2756,4 +2756,3 @@ def unhandled_event(e):
for f in group.functions:
if f.click(row, lcol, rcol, button, x, y):
break
-
diff --git a/examples/launchers b/examples/launchers
index 902ab67..37d5e32 100644
--- a/examples/launchers
+++ b/examples/launchers
@@ -149,4 +149,3 @@ def unhandled_event(e):
# TODO support for dropping files onto the launchers to open with those files would be nice
-
diff --git a/examples/mixed b/examples/mixed
index 0735a7e..d6a15e3 100644
--- a/examples/mixed
+++ b/examples/mixed
@@ -67,4 +67,3 @@ def redraw():
bar.draw_coloured_splitted_text(0, bar.width, 10, 0, 2, values)
finally:
semaphore.release()
-
diff --git a/examples/moderate b/examples/moderate
index 4ca0df1..dc39dcd 100644
--- a/examples/moderate
+++ b/examples/moderate
@@ -742,4 +742,3 @@ def button_pressed_mixer(mx, button):
snd(False)
bar.invalidate()
break
-
diff --git a/examples/plugins/alsa b/examples/plugins/alsa
index 53fb4b6..2218dee 100644
--- a/examples/plugins/alsa
+++ b/examples/plugins/alsa
@@ -49,4 +49,3 @@ def redraw():
# See examples/moderate for volume control support.
-
diff --git a/examples/plugins/chase b/examples/plugins/chase
index c975d69..1b99877 100644
--- a/examples/plugins/chase
+++ b/examples/plugins/chase
@@ -50,4 +50,3 @@ def redraw():
chase = '\033[31mSadly Chase does not appear to have a job yet\033[m'
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, chase)
-
diff --git a/examples/plugins/clock b/examples/plugins/clock
index 1739484..a608cdd 100644
--- a/examples/plugins/clock
+++ b/examples/plugins/clock
@@ -41,4 +41,3 @@ def redraw():
text = '%s (%f)' % (clock.read(), Clock.posix_time())
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/cpu b/examples/plugins/cpu
index 5daf290..3a8200e 100644
--- a/examples/plugins/cpu
+++ b/examples/plugins/cpu
@@ -87,4 +87,3 @@ def redraw():
s('Softirq', cpu_.softirq_total), s('Softirq', cpu_.softirq))
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/cpuinfo b/examples/plugins/cpuinfo
index 1cad050..12311e8 100644
--- a/examples/plugins/cpuinfo
+++ b/examples/plugins/cpuinfo
@@ -58,4 +58,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/cpuonline b/examples/plugins/cpuonline
index 32e2302..472762e 100644
--- a/examples/plugins/cpuonline
+++ b/examples/plugins/cpuonline
@@ -35,4 +35,3 @@ def redraw():
text %= s(cpu.online), s(cpu.offline), s(cpu.present), s(cpu.possible)
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/dentrystate b/examples/plugins/dentrystate
index 70f7562..d346a7e 100644
--- a/examples/plugins/dentrystate
+++ b/examples/plugins/dentrystate
@@ -49,4 +49,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/df b/examples/plugins/df
index be2fdf7..6e50bed 100644
--- a/examples/plugins/df
+++ b/examples/plugins/df
@@ -77,4 +77,3 @@ def redraw():
bar.partial_clear(0, bar.width, 10, 0, 2, text)
bar.draw_coloured_text(0, 10, 0, 2, text)
# TODO this is very flickery
-
diff --git a/examples/plugins/discstats b/examples/plugins/discstats
index 8570a93..6729009 100644
--- a/examples/plugins/discstats
+++ b/examples/plugins/discstats
@@ -55,4 +55,3 @@ def redraw():
text = '\n'.join(texts)
bar.partial_clear(0, bar.width, 10, 0, 2, text)
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/files b/examples/plugins/files
index cf80e24..05abb35 100644
--- a/examples/plugins/files
+++ b/examples/plugins/files
@@ -48,4 +48,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/image b/examples/plugins/image
index 4c9808a..f110830 100644
--- a/examples/plugins/image
+++ b/examples/plugins/image
@@ -39,4 +39,3 @@ def redraw():
bar.clear()
image_.draw(bar, 0, 0)
image_.draw(bar, bar.width - image_.width, 0)
-
diff --git a/examples/plugins/inodestate b/examples/plugins/inodestate
index e9aa172..48f81d7 100644
--- a/examples/plugins/inodestate
+++ b/examples/plugins/inodestate
@@ -48,4 +48,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/inotify b/examples/plugins/inotify
index 9dd8abb..99500f9 100644
--- a/examples/plugins/inotify
+++ b/examples/plugins/inotify
@@ -60,4 +60,3 @@ Inotify(inotify, featherweight_status_file, events = ['close_write'])
def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, news)
-
diff --git a/examples/plugins/ipaddress b/examples/plugins/ipaddress
index ff3556d..5451085 100644
--- a/examples/plugins/ipaddress
+++ b/examples/plugins/ipaddress
@@ -43,4 +43,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/kmsg b/examples/plugins/kmsg
index 476cb6d..6868ea8 100644
--- a/examples/plugins/kmsg
+++ b/examples/plugins/kmsg
@@ -44,4 +44,3 @@ def start():
def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/leapsec b/examples/plugins/leapsec
index ff86f62..84bb8a2 100644
--- a/examples/plugins/leapsec
+++ b/examples/plugins/leapsec
@@ -82,4 +82,3 @@ def redraw():
text += ' (out of band)'
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/loadavg b/examples/plugins/loadavg
index 18bac34..e032b43 100644
--- a/examples/plugins/loadavg
+++ b/examples/plugins/loadavg
@@ -67,4 +67,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/locks b/examples/plugins/locks
index d9caa6b..49b522f 100644
--- a/examples/plugins/locks
+++ b/examples/plugins/locks
@@ -97,4 +97,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
semaphore.release()
-
diff --git a/examples/plugins/lunar b/examples/plugins/lunar
index aa1dd8b..835a03f 100644
--- a/examples/plugins/lunar
+++ b/examples/plugins/lunar
@@ -62,4 +62,3 @@ def redraw():
text %= (colour, illumination, terminator, fraction, phase)
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/mem b/examples/plugins/mem
index 0b84068..fcf619c 100644
--- a/examples/plugins/mem
+++ b/examples/plugins/mem
@@ -67,4 +67,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/moc b/examples/plugins/moc
index 11dc227..b77ba4d 100644
--- a/examples/plugins/moc
+++ b/examples/plugins/moc
@@ -53,4 +53,3 @@ def redraw():
# See examples/moderate for interation support.
-
diff --git a/examples/plugins/network b/examples/plugins/network
index 2288923..47462a8 100644
--- a/examples/plugins/network
+++ b/examples/plugins/network
@@ -126,4 +126,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/pacman b/examples/plugins/pacman
index de25f8f..50c3994 100644
--- a/examples/plugins/pacman
+++ b/examples/plugins/pacman
@@ -76,4 +76,3 @@ def redraw():
text = '%s\n%s' % (get(True), get(False))
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/ping b/examples/plugins/ping
index 3537e7f..96b4ee3 100644
--- a/examples/plugins/ping
+++ b/examples/plugins/ping
@@ -67,4 +67,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/random b/examples/plugins/random
index 638e00b..6b743ea 100644
--- a/examples/plugins/random
+++ b/examples/plugins/random
@@ -50,4 +50,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/ropty b/examples/plugins/ropty
index dd20077..16ed3e3 100644
--- a/examples/plugins/ropty
+++ b/examples/plugins/ropty
@@ -43,4 +43,3 @@ def start():
def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/snmp b/examples/plugins/snmp
index 2bda45a..19b1a16 100644
--- a/examples/plugins/snmp
+++ b/examples/plugins/snmp
@@ -54,4 +54,3 @@ def unhandled_event(e):
elif e.detail == SCROLL_DOWN:
index = max(index - 1, 0)
bar.invalidate()
-
diff --git a/examples/plugins/snmp6 b/examples/plugins/snmp6
index 29a359d..cfc5e52 100644
--- a/examples/plugins/snmp6
+++ b/examples/plugins/snmp6
@@ -54,4 +54,3 @@ def unhandled_event(e):
elif e.detail == SCROLL_DOWN:
index = max(index - 1, 0)
bar.invalidate()
-
diff --git a/examples/plugins/softirqs b/examples/plugins/softirqs
index 8ca4613..021a8df 100644
--- a/examples/plugins/softirqs
+++ b/examples/plugins/softirqs
@@ -73,4 +73,3 @@ def unhandled_event(e):
label = keys[index]
xlabel = make_label(label)
bar.invalidate()
-
diff --git a/examples/plugins/swaps b/examples/plugins/swaps
index 28c19da..cf67bf2 100644
--- a/examples/plugins/swaps
+++ b/examples/plugins/swaps
@@ -49,4 +49,3 @@ def redraw():
text = '\n'.join(' │ '.join('%s: %s' % (h, v) for (h, v) in title_and_extend(swap)) for swap in swaps_.swaps)
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/tzclock b/examples/plugins/tzclock
index 613344c..15586b5 100644
--- a/examples/plugins/tzclock
+++ b/examples/plugins/tzclock
@@ -47,4 +47,3 @@ def redraw():
text = ' │ '.join([tz.from_posix_time(time) for tz in timezones])
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/uname b/examples/plugins/uname
index ac79f82..1575c06 100644
--- a/examples/plugins/uname
+++ b/examples/plugins/uname
@@ -56,4 +56,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/uptime b/examples/plugins/uptime
index 29a8736..7f294dc 100644
--- a/examples/plugins/uptime
+++ b/examples/plugins/uptime
@@ -49,4 +49,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/users b/examples/plugins/users
index 570cc4e..f1f7be0 100644
--- a/examples/plugins/users
+++ b/examples/plugins/users
@@ -50,4 +50,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/vmstat b/examples/plugins/vmstat
index 6d69cf9..10c95e3 100644
--- a/examples/plugins/vmstat
+++ b/examples/plugins/vmstat
@@ -54,4 +54,3 @@ def unhandled_event(e):
elif e.detail == SCROLL_DOWN:
index = max(index - 1, 0)
bar.invalidate()
-
diff --git a/examples/plugins/xdisplay b/examples/plugins/xdisplay
index 30c47c5..dcf4dec 100644
--- a/examples/plugins/xdisplay
+++ b/examples/plugins/xdisplay
@@ -52,4 +52,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/plugins/xkb b/examples/plugins/xkb
index 9f1001d..bfced3e 100644
--- a/examples/plugins/xkb
+++ b/examples/plugins/xkb
@@ -45,4 +45,3 @@ def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/test b/examples/test
index 25a5072..3e4d8b3 100644
--- a/examples/test
+++ b/examples/test
@@ -24,4 +24,3 @@ OUTPUT, HEIGHT, YPOS, TOP = 0, 24, 24, True
def redraw():
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, '┌┐ °°°² \033[31;47m|T|\033[49mE|\033[mS\033[38;2;128;16;255m|T|\033[0m ²°°°\n└┘ TEST ─│┌┐└┘├┤┬┴┼╱╲╳ ←↓→↑X')
-
diff --git a/examples/tricks/anytzclock b/examples/tricks/anytzclock
index 0eef3e0..5bb631a 100644
--- a/examples/tricks/anytzclock
+++ b/examples/tricks/anytzclock
@@ -92,4 +92,3 @@ def redraw():
text = '%s' % my_clock.read()
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/tricks/localutcclock b/examples/tricks/localutcclock
index c44bbaa..5f698a0 100644
--- a/examples/tricks/localutcclock
+++ b/examples/tricks/localutcclock
@@ -78,4 +78,3 @@ def redraw():
text = '%s' % my_clock.read()
bar.clear()
bar.draw_coloured_text(0, 10, 0, 2, text)
-
diff --git a/examples/xmonad b/examples/xmonad
index 12a1265..6efa5cf 100644
--- a/examples/xmonad
+++ b/examples/xmonad
@@ -75,4 +75,3 @@ def redraw():
# TODO add workspace switching and layout rotation
-
diff --git a/src/plugins/alsa.py b/src/plugins/alsa.py
index eecd582..456326f 100644
--- a/src/plugins/alsa.py
+++ b/src/plugins/alsa.py
@@ -147,4 +147,3 @@ class ALSA:
else:
card = alsaaudio.cards().index(card)
return alsaaudio.mixers(card)
-
diff --git a/src/plugins/application.py b/src/plugins/application.py
index 1b926e4..d7f0c88 100644
--- a/src/plugins/application.py
+++ b/src/plugins/application.py
@@ -144,4 +144,3 @@ class Application:
else:
buf += c
return buf
-
diff --git a/src/plugins/chase.py b/src/plugins/chase.py
index 7fede9a..30a47ea 100644
--- a/src/plugins/chase.py
+++ b/src/plugins/chase.py
@@ -53,4 +53,3 @@ class Chase:
self.status = len(list(page)) == 0
return True
return False
-
diff --git a/src/plugins/clock.py b/src/plugins/clock.py
index c9b3f84..a3d7bf3 100644
--- a/src/plugins/clock.py
+++ b/src/plugins/clock.py
@@ -92,4 +92,3 @@ class Clock:
@return :float The current POSIX time
'''
return time.time()
-
diff --git a/src/plugins/cpu.py b/src/plugins/cpu.py
index 7cd9659..21bc70b 100644
--- a/src/plugins/cpu.py
+++ b/src/plugins/cpu.py
@@ -123,4 +123,3 @@ class CPU:
self.softirq = fields['softirq'][1:] if 'softirq' in fields else None
self.softirq_total = fields['softirq'][0] if 'softirq' in fields else None
self.fields = fields
-
diff --git a/src/plugins/cpuinfo.py b/src/plugins/cpuinfo.py
index e04390a..4422f6e 100644
--- a/src/plugins/cpuinfo.py
+++ b/src/plugins/cpuinfo.py
@@ -139,4 +139,3 @@ class CPUInfo: # TODO enable setting scaling
with open(path, 'rb') as file:
cont = file.read().decode('utf-8', 'replace').rstrip('\n')
return cont
-
diff --git a/src/plugins/cpuonline.py b/src/plugins/cpuonline.py
index 586928e..c358427 100644
--- a/src/plugins/cpuonline.py
+++ b/src/plugins/cpuonline.py
@@ -52,4 +52,3 @@ class CPUOnline: # TODO make it possible to turn CPU:s on and off
data = [x if x is not None else [] for x in data]
(self.offline, self.online, self.possible, self.present) = data
-
diff --git a/src/plugins/dentrystate.py b/src/plugins/dentrystate.py
index 6926538..c433ff0 100644
--- a/src/plugins/dentrystate.py
+++ b/src/plugins/dentrystate.py
@@ -41,4 +41,3 @@ class DentryState:
state = state.decode('utf-8', 'replace').replace('\t', ' ')
state = [int(field) for field in state.split(' ') if not field == '']
(self.nr_dentry, self.nr_unused, self.age_limit, self.want_pages, _dummy1, _dummy_2) = state
-
diff --git a/src/plugins/df.py b/src/plugins/df.py
index 32b1623..1eb9b90 100644
--- a/src/plugins/df.py
+++ b/src/plugins/df.py
@@ -113,4 +113,3 @@ class Disc:
Constructor
'''
pass
-
diff --git a/src/plugins/discstats.py b/src/plugins/discstats.py
index 84ec868..765948a 100644
--- a/src/plugins/discstats.py
+++ b/src/plugins/discstats.py
@@ -80,4 +80,3 @@ class DiscStat:
(self.r_complete, self.r_merge, self.r_sectors, self.r_time) = fields[3 : 7]
(self.w_complete, self.w_merge, self.w_sectors, self.w_time) = fields[7 : 11]
(self.io_current, self.io_time, self.io_weighted_time) = fields[11 : 14]
-
diff --git a/src/plugins/files.py b/src/plugins/files.py
index ab1e9ae..5cf4f33 100644
--- a/src/plugins/files.py
+++ b/src/plugins/files.py
@@ -49,4 +49,3 @@ class Files:
state = state.decode('utf-8', 'replace').replace('\t', ' ')
state = [int(field) for field in state.split(' ') if not field == '']
(self.nr_files, self.nr_free_files, self.file_max) = state
-
diff --git a/src/plugins/hdparm.py b/src/plugins/hdparm.py
index 253d2e8..4a27410 100644
--- a/src/plugins/hdparm.py
+++ b/src/plugins/hdparm.py
@@ -94,4 +94,3 @@ class HDParm: # TODO add output parsers
'''
test = lambda dev : (len(dev) == 3) and (dev[:2] in ('sd', 'hd'))
return filter(test, os.listdir('/dev'))
-
diff --git a/src/plugins/ii.py b/src/plugins/ii.py
index e06f94f..c0866ae 100644
--- a/src/plugins/ii.py
+++ b/src/plugins/ii.py
@@ -139,4 +139,3 @@ class II:
ret.append(f[len(prefix) + 1:])
recurse(prefix)
return ret
-
diff --git a/src/plugins/image.py b/src/plugins/image.py
index 05d979c..4c019ac 100644
--- a/src/plugins/image.py
+++ b/src/plugins/image.py
@@ -237,4 +237,3 @@ class Image:
return best[0][0]
# TODO search /usr/share/pixmaps
-
diff --git a/src/plugins/inodestate.py b/src/plugins/inodestate.py
index 9f7e1c8..dde4f68 100644
--- a/src/plugins/inodestate.py
+++ b/src/plugins/inodestate.py
@@ -42,4 +42,3 @@ class InodeState:
state = state.decode('utf-8', 'replace').replace('\t', ' ')
state = [int(field) for field in state.split(' ') if not field == '']
(self.nr_inodes, self.nr_free_inodes, self.preshrink, _dummy1, _dummy2, _dummy_3, _dummy_4) = state
-
diff --git a/src/plugins/inotify.py b/src/plugins/inotify.py
index 185a32d..31ed1b9 100644
--- a/src/plugins/inotify.py
+++ b/src/plugins/inotify.py
@@ -63,4 +63,3 @@ class Inotify:
while True:
callback(reader.next())
xasync(start)
-
diff --git a/src/plugins/ipaddress.py b/src/plugins/ipaddress.py
index ec8bfb1..8e0e857 100644
--- a/src/plugins/ipaddress.py
+++ b/src/plugins/ipaddress.py
@@ -205,4 +205,3 @@ class IPAddress:
return data[0] if not len(data) == 0 else None
except:
return None
-
diff --git a/src/plugins/kmsg.py b/src/plugins/kmsg.py
index 767d056..86c21ab 100644
--- a/src/plugins/kmsg.py
+++ b/src/plugins/kmsg.py
@@ -53,4 +53,3 @@ class KMsg(LineReader):
return LineReader.next(self)
except:
return None
-
diff --git a/src/plugins/leapsec.py b/src/plugins/leapsec.py
index 38ee734..3d8d95f 100644
--- a/src/plugins/leapsec.py
+++ b/src/plugins/leapsec.py
@@ -134,4 +134,3 @@ class LeapSeconds:
s += 1
s = calendar.timegm((y, m, d, 0, 0, s))
return (y, m, d, s, a, t)
-
diff --git a/src/plugins/linereader.py b/src/plugins/linereader.py
index fd2e881..3e2e7c9 100644
--- a/src/plugins/linereader.py
+++ b/src/plugins/linereader.py
@@ -93,4 +93,3 @@ class LineReader:
Invoked when `with` exits
'''
self.close()
-
diff --git a/src/plugins/loadavg.py b/src/plugins/loadavg.py
index 44d13c5..050a7b1 100644
--- a/src/plugins/loadavg.py
+++ b/src/plugins/loadavg.py
@@ -65,4 +65,3 @@ class AverageLoad:
self.average_avg_15_min = self.total_avg_15_min / AverageLoad.cpu_count
self.last_pid = int(self.last_pid)
self.active_tasks, self.total_tasks = [int(t) for t in tasks.split('/')]
-
diff --git a/src/plugins/locks.py b/src/plugins/locks.py
index a5d40b5..6bde5a6 100644
--- a/src/plugins/locks.py
+++ b/src/plugins/locks.py
@@ -190,4 +190,3 @@ class Locks:
@return :list<str> All found pathnames of the file
'''
return Locks.find(self.major, self.minor, self.inode, alarm)
-
diff --git a/src/plugins/lunar.py b/src/plugins/lunar.py
index 97becca..2916638 100644
--- a/src/plugins/lunar.py
+++ b/src/plugins/lunar.py
@@ -85,4 +85,3 @@ class Lunar:
# TODO add zodiac sign
# TODO add distances
# TODO add angular diameters
-
diff --git a/src/plugins/menu.py b/src/plugins/menu.py
index c69db15..24fdace 100644
--- a/src/plugins/menu.py
+++ b/src/plugins/menu.py
@@ -148,4 +148,3 @@ class Menu:
self.palette += [0x555555, 0xEB5E6A, 0x0EC287, 0xF2CA38, 0x00ACE0, 0xC473D1, 0x00C3C7, 0xEEEEEE]
self.palette = [((p >> 16) & 255, (p >> 8) & 255, p & 255) for p in self.palette]
self.palette = [self.create_colour(*p) for p in self.palette]
-
diff --git a/src/plugins/moc.py b/src/plugins/moc.py
index 21cedb1..f3187d3 100644
--- a/src/plugins/moc.py
+++ b/src/plugins/moc.py
@@ -311,4 +311,3 @@ class MOC: # TODO add support for waiting for events and reading settings
opts = filter(lambda opt : opt is not None, opts)
return MOC.__interact('--off', ','.join(opts))
return None
-
diff --git a/src/plugins/network.py b/src/plugins/network.py
index 1883433..f3ee4c2 100644
--- a/src/plugins/network.py
+++ b/src/plugins/network.py
@@ -83,4 +83,3 @@ class Network:
values = devices[dev]
for i in range(len(values)):
fields[columns[i]] = values[i]
-
diff --git a/src/plugins/pacman.py b/src/plugins/pacman.py
index 10e9a4e..14be8f3 100644
--- a/src/plugins/pacman.py
+++ b/src/plugins/pacman.py
@@ -138,4 +138,3 @@ class Pacman:
self.packager = None
self.build_date = text('Build Date')
self.validated_by = list(filter(lambda x : not x == 'Sum', plur('Validated By')))
-
diff --git a/src/plugins/ping.py b/src/plugins/ping.py
index 9a199a0..89df298 100644
--- a/src/plugins/ping.py
+++ b/src/plugins/ping.py
@@ -187,4 +187,3 @@ class Ping:
monitor = PingMonitor()
xasync(monitor.start)
return monitor
-
diff --git a/src/plugins/powersupply.py b/src/plugins/powersupply.py
index 07a6292..d7fb8e3 100644
--- a/src/plugins/powersupply.py
+++ b/src/plugins/powersupply.py
@@ -265,4 +265,3 @@ class PowerSupply:
@return :list<str> The name of all available power supplies
'''
return os.listdir('/sys/class/power_supply')
-
diff --git a/src/plugins/random.py b/src/plugins/random.py
index d956431..95f0d1d 100644
--- a/src/plugins/random.py
+++ b/src/plugins/random.py
@@ -56,4 +56,3 @@ class Random:
'''
with open('/proc/sys/kernel/random/entropy_avail', 'rb') as file:
return int(file.read().decode('utf-8', 'replace').rstrip('\n'))
-
diff --git a/src/plugins/ropty.py b/src/plugins/ropty.py
index 80ad39f..4c0d201 100644
--- a/src/plugins/ropty.py
+++ b/src/plugins/ropty.py
@@ -110,4 +110,3 @@ class ROPTY(LineReader):
finally:
self.__condition.release()
return rc
-
diff --git a/src/plugins/snmp.py b/src/plugins/snmp.py
index cc0da17..cd937a4 100644
--- a/src/plugins/snmp.py
+++ b/src/plugins/snmp.py
@@ -73,4 +73,3 @@ class SNMP:
@return :int The value of the field
'''
return self.__info[key]
-
diff --git a/src/plugins/snmp6.py b/src/plugins/snmp6.py
index f6a2679..00bc395 100644
--- a/src/plugins/snmp6.py
+++ b/src/plugins/snmp6.py
@@ -64,4 +64,3 @@ class SNMP6:
@return :int The value of the field
'''
return self.__info[key]
-
diff --git a/src/plugins/softirqs.py b/src/plugins/softirqs.py
index 9ad578b..ba512fb 100644
--- a/src/plugins/softirqs.py
+++ b/src/plugins/softirqs.py
@@ -65,4 +65,3 @@ class SoftIRQs:
@return :list<int> The value of the field, for each processor
'''
return self.__info[key]
-
diff --git a/src/plugins/solar.py b/src/plugins/solar.py
index 770cf2e..e917270 100644
--- a/src/plugins/solar.py
+++ b/src/plugins/solar.py
@@ -250,4 +250,3 @@ class Solar:
`None` if none were found within a year
'''
return self.u(solar_python.past_elevation_derivative(self.lat, self.lon, derivative, self.now()))
-
diff --git a/src/plugins/swaps.py b/src/plugins/swaps.py
index f7bea39..34ace18 100644
--- a/src/plugins/swaps.py
+++ b/src/plugins/swaps.py
@@ -53,4 +53,3 @@ class Swaps:
@staticmethod
def __split(line):
return [field for field in line.split(' ') if not field == '']
-
diff --git a/src/plugins/tzclock.py b/src/plugins/tzclock.py
index 45a6871..8611de3 100644
--- a/src/plugins/tzclock.py
+++ b/src/plugins/tzclock.py
@@ -99,4 +99,3 @@ class TZClock:
@return :float The current POSIX time
'''
return time.time()
-
diff --git a/src/plugins/uname.py b/src/plugins/uname.py
index 419b748..93d338b 100644
--- a/src/plugins/uname.py
+++ b/src/plugins/uname.py
@@ -46,5 +46,3 @@ class Uname:
self.processor = u(spawn_read('uname', '-p'))
self.hardware_platform = u(spawn_read('uname', '-i'))
self.operating_system = spawn_read('uname', '-o')
-
-
diff --git a/src/plugins/uptime.py b/src/plugins/uptime.py
index 412189b..5af45b6 100644
--- a/src/plugins/uptime.py
+++ b/src/plugins/uptime.py
@@ -77,4 +77,3 @@ class Uptime:
hours, t = int(t % 24), t // 24
days = int(t)
return (days, hours, minutes, seconds)
-
diff --git a/src/plugins/users.py b/src/plugins/users.py
index ab119c1..33008ee 100644
--- a/src/plugins/users.py
+++ b/src/plugins/users.py
@@ -110,4 +110,3 @@ class Users:
users[user] = user = str(user)
rc.append((user, tty))
return rc
-
diff --git a/src/plugins/vmstat.py b/src/plugins/vmstat.py
index af62091..a5dd8ae 100644
--- a/src/plugins/vmstat.py
+++ b/src/plugins/vmstat.py
@@ -63,4 +63,3 @@ class VMStat:
@return :int The value of the field
'''
return self.__info[key]
-
diff --git a/src/plugins/weather.py b/src/plugins/weather.py
index fa3f482..b8a7432 100644
--- a/src/plugins/weather.py
+++ b/src/plugins/weather.py
@@ -178,4 +178,3 @@ class Weather:
if ob.endswith('SM') and (len(ob) > 0):
if len(list(filter(lambda c : not ('0' <= c <= '9'), ob))) == 2:
self.visibility = float(ob[:-2])
-
diff --git a/src/plugins/xdisplay.py b/src/plugins/xdisplay.py
index 33f30aa..31fb191 100644
--- a/src/plugins/xdisplay.py
+++ b/src/plugins/xdisplay.py
@@ -61,4 +61,3 @@ class XDisplay:
r = get_screen().root
d = get_display()
self.vt = r.get_full_property(d.get_atom('XFree86_VT'), Xlib.Xatom.INTEGER).value.decode('utf-8', 'replace')[0]
-
diff --git a/src/plugins/xkb.py b/src/plugins/xkb.py
index 0128b46..40b74c6 100644
--- a/src/plugins/xkb.py
+++ b/src/plugins/xkb.py
@@ -86,4 +86,3 @@ class XKB:
if (mask & self.__caps) == self.__caps: rc.append('Caps')
if (mask & self.__scroll) == self.__scroll: rc.append('Scroll')
return rc
-
diff --git a/src/restricted-hdparm.c b/src/restricted-hdparm.c
index acba1c8..ac2bbf2 100644
--- a/src/restricted-hdparm.c
+++ b/src/restricted-hdparm.c
@@ -20,9 +20,9 @@
#include <string.h>
-int main(int argc, char** argv)
+int main(int argc, char **argv)
{
- char* act;
+ char *act;
int i;
if (argc < 2)
@@ -69,4 +69,3 @@ int main(int argc, char** argv)
return 1;
}
-
diff --git a/src/util.py b/src/util.py
index 7ce9ea1..b9302eb 100644
--- a/src/util.py
+++ b/src/util.py
@@ -322,4 +322,3 @@ class Clocked:
for f in functions:
if isinstance(f, Clocked):
f(True)
-
diff --git a/src/x.py b/src/x.py
index 54411b0..4ea8b08 100644
--- a/src/x.py
+++ b/src/x.py
@@ -202,4 +202,3 @@ def close_x():
global display
display.flush()
display.close()
-
diff --git a/src/xpybar.auto-completion b/src/xpybar.auto-completion
index 677674d..e92e84e 100644
--- a/src/xpybar.auto-completion
+++ b/src/xpybar.auto-completion
@@ -14,4 +14,3 @@
(unargumented (options -W --warranty) (complete --warranty)
(desc 'Print non-warranty information'))
)
-