Skip to content

Instantly share code, notes, and snippets.

@Nervengift
Nervengift / 30-touchpad.conf
Created May 1, 2019
/etc/X11/xorg.conf.d/30-touchpad.conf
View 30-touchpad.conf
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "NaturalScrolling" "true"
Option "ClickMethod" "clickfinger"
Option "Tapping" "on"
EndSection
@Nervengift
Nervengift / 50-wacom.conf
Last active May 1, 2019
Enable native libinput gestures for wacom displays (tested with Thinkpad X230t). Copy to /etc/X11/xorg.conf.d/50-wacom.conf
View 50-wacom.conf
Section "InputClass"
Identifier "Wacom touch options"
MatchDriver "wacom"
MatchProduct "Finger"
Option "Gesture" "off"
EndSection
@Nervengift
Nervengift / apa102.js
Created Mar 23, 2019
apa102 LED driver for neonious one
View apa102.js
// polyfill for Array.prototype.fill
if (!Array.prototype.fill) {
Object.defineProperty(Array.prototype, 'fill', {
value: function(value) {
if (this == null) {
throw new TypeError('this is null or not defined');
}
var O = Object(this);
@Nervengift
Nervengift / ice-status.sh
Last active Dec 5, 2021
statusline for German high speed trains (ICE)
View ice-status.sh
#!/bin/bash
set -e
tripInfo=$(curl -s https://iceportal.de/api1/rs/tripInfo/trip|jq '.trip')
status=$(curl -s https://iceportal.de/api1/rs/status)
next=$(echo $tripInfo|jq '.stopInfo.actualNext as $next|.stops[]|select(.station.evaNr == $next)')
if [ -z "$next" ]; then
echo "Endstation"
exit 0
fi
@Nervengift
Nervengift / notmuch-notify.py
Created Oct 29, 2017
notification script for notmuch/afew
View notmuch-notify.py
#!/usr/bin/env python3
# Send notifications for all mails with the "notify" tag via notify-send
#
# This is best used in combination with afew. To notify for all new messages just add
# the following filter to your ~/.config/afew/config just before [InboxFilter]:
#
# [Filter.0]
# message = notify
# query = tag:new AND NOT tag:killed AND NOT tag:spam
@Nervengift
Nervengift / snd-dmenu
Last active May 18, 2016
dmenu/rofi menu for Entropia's sound board
View snd-dmenu
#!/usr/bin/bash
# use sound effects at Entropia via a dmenu
# run "snd update" to load and update the local cache of available sounds
#
# by Nervengift
[[ "x$XDG_CACHE_HOME" == "x" ]] && CACHEDIR="$HOME/.cache" || CACHEDIR="$XDG_CACHE_HOME"
[[ "x$1" == "xupdate" ]] && ssh entropia@voellerei.club.entropia.de bash -c \'find /home/entropia/clubautomation/snd -type f -printf \"%P\\n\" \' | tee $CACHEDIR/snd_dmenu
@Nervengift
Nervengift / pandoc-md
Last active Jul 31, 2019
Automatically build markdown file on change using pandoc
View pandoc-md
function pandoc-md {
while true ;do
inotifywait -e modify $1 2>/dev/null
date
pandoc $1 -V geometry:margin=2cm -o $1.pdf
done
}
@Nervengift
Nervengift / post-receive
Last active Feb 25, 2016
Generate a signed timestamp for all git commits using openssl and the DFN server
View post-receive
#!/bin/bash
# install on central git repo as hooks/post-receive
# generates timestamp signatures for all commits
read oldrev newrev refname
mkdir -p timestamps
oldrev=$(git rev-parse $oldrev)
newrev=$(git rev-parse $newrev)
git rev-list "$oldrev..$newrev" | while read commit; do
echo "creating timestamp signature for $commit..."
@Nervengift
Nervengift / foo.service
Last active Oct 16, 2015
Simple template unit file for running daemons via systemd
View foo.service
[Unit]
Description=<description>
# Start after network (network may still not be online on start, see http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/)
#After=network.target
[Service]
# If the program forks to background
#Type=forking
ExecStart=<full path to program [with parameters and option]>
# Run as specific user
@Nervengift
Nervengift / rofi-pulse-sink.sh
Last active Aug 10, 2022
Choose pulseaudio sink via rofi/dmenu
View rofi-pulse-sink.sh
#!/usr/bin/bash
# choose pulseaudio sink via rofi or dmenu
# changes default sink and moves all streams to that sink
sink=$(ponymix -t sink list|awk '/^sink/ {s=$1" "$2;getline;gsub(/^ +/,"",$0);print s" "$0}'|rofi -dmenu -p 'pulseaudio sink:' -location 6 -width 100|grep -Po '[0-9]+(?=:)') &&
# alternate version using dmenu:
# sink=$(ponymix -t sink list|awk '/^sink/ {s=$1" "$2;getline;gsub(/^ +/,"",$0);print s" "$0}'|dmenu -p 'pulseaudio sink:'|grep -Po '[0-9]+(?=:)') &&
ponymix set-default -d $sink &&
for input in $(ponymix list -t sink-input|grep -Po '[0-9]+(?=:)');do