diff --git a/.abcde.conf b/.abcde.conf
deleted file mode 100644
index 5273037..0000000
--- a/.abcde.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-CDDBMETHOD=cdtext,musicbrainz
-FLACENCODERSYNTAX=default
-FLAC=flac
-CDROM=/dev/sr0
-OUTPUTTYPE=flac
-OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}_${TRACKFILE}'
diff --git a/.bin/backup-and-update-system b/.bin/backup-and-update-system
index f949551..8b9e653 100755
--- a/.bin/backup-and-update-system
+++ b/.bin/backup-and-update-system
@@ -1,26 +1,50 @@
-#!/bin/bash
+#!/bin/sh
-set -xeuo pipefail
-
-export GIT_TERMINAL_PROMPT=0
-export GIT_SSH_COMMAND='ssh -oBatchMode=yes'
+set -euo pipefail
+set -x
# Push some git repos
pass git push
-
-git --git-dir=$HOME/.cfg/ --work-tree=$HOME commit -am "Auto-commit $(hostnamectl --static) $(date --iso-8601=seconds)" || true
git --git-dir=$HOME/.cfg/ --work-tree=$HOME push
# Fetch a fresh copy of all locally cloned git repos
for dir in $(find /home/kunsi/git -mindepth 1 -maxdepth 1 -type d)
do
- git -C "$dir" fetch --all || true
+ git -C "$dir" fetch || true
done
# Do a backup.
-sudo /usr/local/bin/generate-backup-with-retries
-printf '\a'
+(
+ rsync -zaAP --numeric-ids --delete --relative \
+ --rsync-path="/usr/bin/rsync --fake-super" \
+ -e "ssh" --delete-excluded \
+ --exclude "/home/kunsi/.cache/" \
+ --exclude "/home/kunsi/.config/Ferdi/" \
+ --exclude "/home/kunsi/.config/Rambox/" \
+ --exclude "/home/kunsi/.local/lib/python*/site-packages/" \
+ --exclude "/home/kunsi/.local/share/TelegramDesktop/tdata/user_data/cache/" \
+ --exclude "/home/kunsi/.local/share/sddm/" \
+ --exclude "/home/kunsi/.mozilla/firefox/*/storage/*" \
+ --exclude "/home/kunsi/.npm/" \
+ --exclude "/home/kunsi/.nvm/" \
+ --exclude "/home/kunsi/.platformio/" \
+ --exclude "/home/kunsi/.ssh/cm-*" \
+ --exclude "/home/kunsi/.vdirsyncer" \
+ --exclude "/home/kunsi/Downloads/" \
+ --exclude "/home/kunsi/Schreibtisch/" \
+ --exclude "/home/kunsi/VirtualBox VMs/" \
+ --exclude "/home/kunsi/qemu/Windows_10.qcow2" \
+ --exclude "/home/kunsi/tmp.*/" \
+ "/home/kunsi" "kunsi-t470@home.nas":backups/
+
+ # Exit code 24 means some files have vanished during rsync.
+ # I don't know why, but this is very common, apparently?
+ exitcode=$?
+ if [[ $exitcode != 0 ]] && [[ $exitcode != 24 ]]
+ then
+ exit 1
+ fi
+)
# Do updates
-sudo pacman -Syu
-sudo DIFFPROG='diff -u --color' pacdiff
+sudo pacman -Syu --noconfirm
diff --git a/.bin/notify.sh b/.bin/notify.sh
index b1be7c2..3e2d48c 100755
--- a/.bin/notify.sh
+++ b/.bin/notify.sh
@@ -1,3 +1,3 @@
#!/bin/bash
-notify-send --expire-time=9000 --app-name=i3lock "screen lock will activate shortly"
+echo 'meowww?' | osd_cat --pos middle --align center --delay 9 -O 15 -f '-*-dejavu sans-*-*-*-*-120-200-*-*-*-*-*-*'
diff --git a/.bin/pulseaudio-assert-volume b/.bin/pulseaudio-assert-volume
index 51a7671..b8bdd6c 100755
--- a/.bin/pulseaudio-assert-volume
+++ b/.bin/pulseaudio-assert-volume
@@ -30,7 +30,7 @@ try:
if line.startswith('volume:'):
for speaker, absolute, percent in findall('([a-z-]+):\W+([0-9]+)\W+\/\W+([0-9]+)%', line):
- if int(percent) > 3 and int(percent) < 100:
+ if int(percent) < 100:
print(f' sink {sink_id} speaker {speaker} at {percent} % volume', flush=True)
needs_adjusting = True
diff --git a/.bin/screenlock.sh b/.bin/screenlock.sh
index 0ac138f..1699d56 100755
--- a/.bin/screenlock.sh
+++ b/.bin/screenlock.sh
@@ -5,8 +5,8 @@ tmpbg="/tmp/lock_$(whoami).png"
xset s noblank
xset s 90 10
-pactl set-sink-mute alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink 1
-pactl set-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source 1
+pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo 1
+pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo 1
i3lock -e -t -i /home/kunsi/Pictures/laptop_unbenutzbar.png
diff --git a/.bin/trackpoint-settings.sh b/.bin/trackpoint-settings.sh
deleted file mode 100755
index 9955b56..0000000
--- a/.bin/trackpoint-settings.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-xinput set-prop 'TPPS/2 Elan TrackPoint' 321 0.7
diff --git a/.bin/voc-ansible b/.bin/voc-ansible
new file mode 100755
index 0000000..8f82b67
--- /dev/null
+++ b/.bin/voc-ansible
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+cd ~/git/voc-cm/ansible/
+
+export KEEPASS_PW=$(pass show voc/keepass)
+
+./ansible-playbook-keepass --become --become-method=sudo --user voc --inventory event $@ site.yml
diff --git a/.bin/voc-mount b/.bin/voc-mount
index adad90c..0c37e63 100755
--- a/.bin/voc-mount
+++ b/.bin/voc-mount
@@ -20,5 +20,5 @@ then
sudo mkdir -p "/video/fuse"
fi
-sudo mount -t cifs -o "uid=${uid},password=" "//${device}/video" "/video"
-sudo mount -t cifs -o "uid=${uid},password=" "//${device}/fuse" "/video/fuse"
+sudo mount -t cifs -o "uid=${uid},password=" "//${device}.lan.c3voc.de/video" "/video"
+sudo mount -t cifs -o "uid=${uid},password=" "//${device}.lan.c3voc.de/fuse" "/video/fuse"
diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
deleted file mode 100644
index 139b482..0000000
--- a/.config/alacritty/alacritty.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-bell:
- duration: 100
- color: '#4d5b86'
-
-colors:
- primary:
- foreground: '#D9D4CF'
- background: '#000000'
- normal:
- black: '#232323'
- red: '#FF000F'
- green: '#8CE10B'
- yellow: '#FFB900'
- blue: '#008DF8'
- magenta: '#6D43A6'
- cyan: '#00D8EB'
- white: '#FFFFFF'
- bright:
- black: '#444444'
- red: '#FF2740'
- green: '#ABE15B'
- yellow: '#FFD242'
- blue: '#4FB4FF'
- magenta: '#9A5FEB'
- cyan: '#67FFF0'
- white: '#FFFFFF'
- cursor:
- cursor: '#4d5b86'
- text: '#000000'
-
-cursor:
- blinking: true
-
-live_config_reload: true
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
index 0f31d13..dda5611 100644
--- a/.config/dunst/dunstrc
+++ b/.config/dunst/dunstrc
@@ -85,7 +85,7 @@
### Text ###
- font = pango:DB Office Regular 9
+ font = Monospace 8
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
@@ -113,7 +113,7 @@
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
- markup = no
+ markup = full
# The format of the message. Possible variables are:
# %a appname
@@ -129,7 +129,7 @@
# Alignment of message text.
# Possible values are "left", "center" and "right".
- alignment = left
+ alignment = right
# Show age of message if message is older than show_age_threshold
# seconds.
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
index a71edfe..080caa5 100644
--- a/.config/fish/config.fish
+++ b/.config/fish/config.fish
@@ -3,34 +3,22 @@ set -U -x MPD_HOST 172.19.138.20
set -U fish_features stderr-nocaret qmark-noglob
set PATH $PATH /home/kunsi/.local/bin /home/kunsi/.gem/ruby/2.6.0/bin/ /home/kunsi/.bin
-set -U -x SSH_AUTH_SOCK $(gpgconf --list-dirs agent-ssh-socket)
+alias weechat='mosh rx300 -- tmux attach-session -d -t weechat-tmux'
+alias voc-ansible='/home/kunsi/.bin/voc-ansible'
+alias share-via-ssh='/home/kunsi/git/share-via-ssh/share-via-ssh'
+
+alias tmp='cd (mktemp -d -p /home/kunsi)'
alias bwr='cd ~/git/bundlewrap/'
-alias cm='cd ~/git/cm/bundlewrap/'
-alias cal='cal -v -m -3'
-alias ipa='ip -brief --color=always addr show; echo; ip --color=always route show; ip -6 --color=always route show'
-alias l='ls -lAh'
-alias p='python'
-alias rm='rm --one-file-system'
-alias share-via-ssh='/home/kunsi/git/share-via-ssh/share-via-ssh'
-alias tmp='cd (mktemp -d -p /home/kunsi --suffix=.(date +%F))'
alias v='vim -p'
-alias voc-ansible='/home/kunsi/.bin/voc-ansible'
-alias voc2gui='cd /home/kunsi/git/voctomix/ && voctogui/voctogui.py'
-alias weechat='mosh carlene.kunbox.net -- tmux attach-session -d -t weechat-tmux'
-alias wipa="watch -cn0.3 'ip --color=always -brief addr show; echo; ip --color=always route show; ip -6 --color=always route show; echo; echo; cat /etc/resolv.conf'"
-alias youtube-dl='yt-dlp --compat-options youtube-dl'
+alias l='ls -lAh'
+alias please='sudo'
alias lumos='mosquitto_pub -h 172.19.138.20 -t /switch/wohnzimmer/stehlampe/cmnd/POWER -m "ON"'
alias nox='mosquitto_pub -h 172.19.138.20 -t /switch/wohnzimmer/stehlampe/cmnd/POWER -m "OFF"'
alias coffee='mosquitto_pub -h 172.19.138.20 -t /switch/kueche/kaffeemaschine/cmnd/POWER -m "ON"'
alias nocoffee='mosquitto_pub -h 172.19.138.20 -t /switch/kueche/kaffeemaschine/cmnd/POWER -m "OFF"'
-alias wg_up='sudo networkctl up wg_htz-cloud_wi'
-alias wg_down='sudo networkctl down wg_htz-cloud_wi'
-alias voc_up='sudo systemctl start openvpn-client@c3voc'
-alias voc_down='sudo systemctl stop openvpn-client@c3voc'
-
alias ga.='git add .'
alias ga='git add'
alias gc='git commit'
@@ -41,16 +29,8 @@ alias gp='git push'
alias gpu='git push -u origin HEAD'
alias gs='git status --short'
-alias libreoffice_present='libreoffice --impress --invisible --show'
-
set -x BW_ITEM_WORKERS 16
set -x BW_NODE_WORKERS 16
-set -x BW_KEEPASS_FILE /home/kunsi/git/passwords/voc.kdbx
-
-set -x LESS "-iRS -# 2"
-
-# mollys mpd, see /etc/hosts
-set -x MPD_HOST mpd.local
function fish_greeting
echo -n ""
@@ -67,11 +47,3 @@ end
function config --wraps=/usr/bin/git
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $argv;
end
-
-function cert
- echo "" | openssl s_client -connect {$argv[1]}:443
-end
-
-function tomp3
- ffmpeg -i "$argv[1]" -vn -f mp3 -q:a 0 "$(basename "$argv[1]").mp3"
-end
diff --git a/.config/gitignore-global b/.config/gitignore-global
deleted file mode 100644
index 3fafd07..0000000
--- a/.config/gitignore-global
+++ /dev/null
@@ -1,2 +0,0 @@
-__pycache__
-*.egg-info
diff --git a/.config/grobi.conf b/.config/grobi.conf
deleted file mode 100644
index 8fec3e5..0000000
--- a/.config/grobi.conf
+++ /dev/null
@@ -1,60 +0,0 @@
-# vim:ft=yaml
-
-execute_after:
- - xset s 90 10
- - /home/kunsi/.fehbg
- - sudo rfkill unblock wifi
-
-on_failure:
- - xrandr --auto
-
-rules:
- - name: 'home'
- outputs_connected:
- - HDMI-A-0
- - DisplayPort-0
- configure_row:
- - DisplayPort-0
- - HDMI-A-0
- primary: eDP
- execute_after:
- - xset s off
- - sudo rfkill block wifi
-
- - name: 'presentation'
- outputs_connected:
- - HDMI-A-0
- configure_row:
- - HDMI-A-0
- - eDP
- primary: eDP
- execute_after:
- - xset s off
- - systemctl --user stop redshift.service
-
- - name: 'smedia'
- outputs_connected:
- - DisplayPort-0
- - DisplayPort-1
- configure_row:
- - eDP
- - DisplayPort-0
- - DisplayPort-1
- primary: DisplayPort-1
- execute_after:
- - xset s off
- - sudo light -S 100
-
- - name: 'DP0'
- outputs_connected:
- - DisplayPort-0
- configure_row:
- - DisplayPort-0
- - eDP
- primary: eDP
- execute_after:
- - xset s off
-
- - name: 'internal only'
- configure_single: eDP
- primary: eDP
diff --git a/.config/grobi/grobi.conf b/.config/grobi/grobi.conf
new file mode 100644
index 0000000..a7c7fdf
--- /dev/null
+++ b/.config/grobi/grobi.conf
@@ -0,0 +1,42 @@
+# vim:ft=yaml
+
+execute_after:
+ - xset s 90 10
+ - /home/kunsi/.fehbg
+ - sudo rfkill unblock wifi
+ - xrandr --output eDP1 --set "Broadcast RGB" "Full"
+
+on_failure:
+ - xrandr --auto
+
+rules:
+ - name: 'presentation'
+ outputs_connected:
+ - HDMI2
+ configure_row:
+ - HDMI2@1920x1080
+ - eDP1
+ primary: eDP1
+ execute_after:
+ - xset s off
+ - systemctl --user stop redshift.service
+
+ - name: 'docked with dock-connector'
+ outputs_connected:
+ - DP2-1
+ - DP2-2
+ configure_row:
+ - eDP1
+ - DP2-2
+ - DP2-1
+ primary: DP2-1
+ execute_after:
+ - xset s off
+ - sudo rfkill block wifi
+ - xbacklight =100
+ - xrandr --output DP2-2 --set "Broadcast RGB" "Full"
+ - xrandr --output DP2-1 --set "Broadcast RGB" "Full"
+
+ - name: 'internal only'
+ configure_single: eDP1
+ primary: eDP1
diff --git a/.config/i3/config b/.config/i3/config
index 01b5716..2c8f466 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -1,12 +1,12 @@
set $mod Mod4
-#font pango:B612 Regular 9
-font pango:DB Office Regular 8
+#font pango:B612 Regular 7
+font pango:DB Office Regular 9
floating_modifier $mod
-bindsym $mod+Return exec kitty
-bindsym $mod+Shift+Return exec kitty --class terminal-floating -e python
+bindsym $mod+Return exec xiate
+bindsym $mod+Shift+Return exec xiate -class xiate-floating -e python
bindsym $mod+Shift+x kill
@@ -50,7 +50,7 @@ set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
-set $ws8 "8"
+set $ws8 "9"
set $ws9 "9:media"
set $ws10 "10:mail"
@@ -94,11 +94,9 @@ bindsym $mod+c mode "resize"
default_border pixel 1
hide_edge_borders smart
-force_display_urgency_hint 1000 ms
-focus_on_window_activation smart
bar {
- status_command /opt/i3pystatus/venv/bin/python ~/.config/i3pystatus/config.py
+ status_command python ~/.config/i3pystatus/config.py
position top
tray_output primary
workspace_buttons yes
@@ -108,32 +106,38 @@ for_window [window_role="pop-up"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="Gnome-calculator"] floating enable
for_window [class="realvnc-vncviewer"] floating enable
-for_window [class="terminal-floating"] floating enable
+for_window [class="xiate-floating"] floating enable
-workspace $ws1 output DisplayPort-0
-workspace $ws2 output DisplayPort-0
-workspace $ws3 output DisplayPort-0
-workspace $ws9 output HDMI-A-0
-workspace $ws10 output DisplayPort-0
+workspace $ws1 output DP2-2
+workspace $ws2 output DP2-1
+workspace $ws3 output DP2-2
+workspace $ws9 output eDP1
+workspace $ws10 output DP2-1
exec_always setxkbmap -synch
exec_always ~/.fehbg
-exec_always sudo /home/kunsi/.bin/trackpoint-settings.sh
+exec_always xinput set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Speed" 0.8
exec xset s noblank && xset s 90 10 && xset -dpms
exec xsetroot -solid "#000000"
exec xss-lock -n /home/kunsi/.bin/notify.sh -- /home/kunsi/.bin/screenlock.sh
-#exec xinput disable 'SynPS/2 Synaptics TouchPad'
+exec xinput disable 'SynPS/2 Synaptics TouchPad'
+exec xinput disable 'ELAN Touchscreen'
-bindsym XF86Favorites exec /home/kunsi/.bin/screenlock.sh
+#bindsym Control+$mod+l exec /home/kunsi/.bin/screenlock.sh
+bindsym XF86Tools exec /home/kunsi/.bin/screenlock.sh
-bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+; exec wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
-bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-; exec wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
-bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
-bindsym XF86AudioMicMute exec wpctl set-mute laptop-internal-microphone toggle
+bindsym XF86Display exec arandr
-bindsym XF86MonBrightnessUp exec sudo light -A 5
-bindsym XF86MonBrightnessDown exec sudo light -U 5
+bindsym $mod+Prior exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
+bindsym $mod+Next exec pactl set-sink-volume @DEFAULT_SINK@ -2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
+bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
+bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
+bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
+bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle
+
+bindsym XF86MonBrightnessUp exec xbacklight +5
+bindsym XF86MonBrightnessDown exec xbacklight -5
bindsym $mod+Print exec maim ~/screenshot_$(date +%Y-%m-%d_%H%M%S).png
bindsym $mod+Shift+Print exec maim -i $(xdotool getactivewindow) ~/screenshot_$(date +%Y-%m-%d_%H%M%S).png
diff --git a/.config/i3pystatus/config.py b/.config/i3pystatus/config.py
index 76e8155..ac02e9d 100644
--- a/.config/i3pystatus/config.py
+++ b/.config/i3pystatus/config.py
@@ -1,36 +1,25 @@
from i3pystatus import Status
status = Status(
- logfile='/dev/stderr',
+ logfile='/dev/null',
)
status.register("pulseaudio",
format="♪I {volume}%",
format_muted="♪I -∞dB",
step="2",
- sink="alsa_output.pci-0000_06_00.6.HiFi__hw_Generic_1__sink")
+ sink="alsa_output.pci-0000_00_1f.3.analog-stereo")
status.register("pulseaudio",
format="♪D {volume}%",
format_muted="♪D -∞dB",
step="2",
sink="@DEFAULT_SINK@")
-#status.register("shell",
-# format="♪D {output}",
-# command="wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d: -f2",
-# interval=1)
-#status.register("shell",
-# format="{output}",
-# hints = {"markup": "pango"},
-# command="/home/kunsi/.config/i3pystatus/microphone-status.sh",
-# on_rightclick="pactl set-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source toggle",
-# interval=1)
-
status.register("backlight",
format="{percentage}%",
- backlight="amdgpu_bl1",
- on_leftclick="sudo light -S 10",
- on_rightclick="sudo light -S 50",
+ backlight="intel_backlight",
+ on_leftclick="xbacklight =10",
+ on_rightclick="xbacklight =50",
interval=1)
status.register("shell",
@@ -41,9 +30,7 @@ status.register("shell",
on_rightclick="xset s off")
status.register("clock",
- format="%a, %Y-%m-%d %H:%M:%S %z (W%V)")
-status.register("clock",
- format=("%Y-%m-%d %H:%M:%S UTC", "UTC"))
+ format="%a, %Y-%m-%d %H:%M:%S (W%V)",)
status.register("battery",
battery_ident="BAT0",
@@ -55,15 +42,24 @@ status.register("battery",
"CHR": "↑",
"FULL": "",
})
+status.register("battery",
+ battery_ident="BAT1",
+ format="B1: {status}{percentage:.2f}% {remaining:%E%h:%M}",
+ alert=True,
+ alert_percentage=5,
+ status={
+ "DIS": "↓",
+ "CHR": "↑",
+ "FULL": "",
+ })
status.register("load",
- format="L: {avg1}")
-status.register("amdgpu",
- format="G: {temp}°C {gpu_usage}%",
- card=1)
+ format="{avg1}")
+
status.register("temp",
- format="C: {temp:.0f}°C",
+ format="{temp:.0f}°C",
hints={"markup": "pango"},
+# lm_sensors_enable=True,
dynamic_color=True)
status.register("shell",
@@ -85,6 +81,13 @@ status.register("shell",
on_leftclick='systemctl --user start redshift.service',
on_rightclick='systemctl --user stop redshift.service',
interval=1)
+status.register("shell",
+ format="{output}",
+ hints = {"markup": "pango"},
+ command="/home/kunsi/.config/i3pystatus/touchscreen.sh",
+ interval=1,
+ on_leftclick="xinput enable 'ELAN Touchscreen'",
+ on_rightclick="xinput disable 'ELAN Touchscreen'")
status.register("shell",
format="{output}",
hints = {"markup": "pango"},
@@ -93,24 +96,12 @@ status.register("shell",
on_leftclick="xinput enable 'SynPS/2 Synaptics TouchPad'",
on_rightclick="xinput disable 'SynPS/2 Synaptics TouchPad'")
-#status.register("wifionice", wifi_adapters=['wlan0'])
-status.register("wifionice",
+status.register("shell",
+ format="{output}",
hints = {"markup": "pango"},
- url_on_click='https://travelynx.franzi.business/s/{last_station_no}?train={train_type}%20{train_no}',
- wifi_adapters=['wlan0'],
- format_offtrain='Wann wieder Zug?',
- format_ontrain=r'{train_type} {train_no} [~ {speed}km/h ]> {next_station}[ '
- r'\[{next_platform}\] {arrival_time} '
- r'({arrival_in}[ | {delay}])][ '
- r'(Net: {net_current} > \[{net_duration}\] '
- r'{net_expected})]')
-#status.register("shell",
-# format="{output}",
-# hints = {"markup": "pango"},
-# command="/home/kunsi/.config/i3pystatus/ice-status.py",
-# on_leftclick="/home/kunsi/.config/i3pystatus/ice-status.py --link",
-# ignore_empty_stdout=True,
-# interval=2)
+ command="/home/kunsi/.config/i3pystatus/ice-status.py",
+ ignore_empty_stdout=True,
+ interval=2)
status.register("network",
interface="wlp4s0",
@@ -119,7 +110,7 @@ status.register("network",
detect_active=True,
freq_divisor=1000000000,
divisor=1024,
- on_leftclick="kitty --class terminal-floating -e sudo wifi-menu",
+ on_leftclick="xiate -class xiate-floating -e sudo wifi-menu",
hints={"markup":"pango"})
#status.register("mpd",
@@ -138,7 +129,7 @@ status.register("network",
# max_field_len=200)
status.register("disk",
- path="/home/kunsi",
+ path="/home",
format="{used}/{total}G",)
status.run()
diff --git a/.config/i3pystatus/ice-status.py b/.config/i3pystatus/ice-status.py
new file mode 100755
index 0000000..f9c9fb6
--- /dev/null
+++ b/.config/i3pystatus/ice-status.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python3
+
+from datetime import datetime
+from requests import get
+from subprocess import check_output
+from sys import exit
+
+
+# bundlewrap.utils.text.format_duration, but trimmed down
+def format_time(seconds):
+ if seconds is None:
+ return "?"
+ components = []
+ if seconds >= 3600:
+ hours = int(seconds / 3600)
+ seconds -= hours * 3600
+ components.append('{}h'.format(hours))
+ if seconds >= 60:
+ minutes = int(seconds / 60)
+ seconds -= minutes * 60
+ components.append('{}m'.format(minutes))
+ if not components:
+ components.append('now')
+ return " ".join(components)
+
+
+try:
+ wifi_ssid = check_output("iw dev wlp4s0 link | awk '/SSID/ {print $2}'", shell=True).decode().strip().lower()
+
+ if wifi_ssid not in (
+ 'wifi@db',
+ 'wifionice'
+ ):
+ exit(0)
+
+ now = datetime.now()
+
+ trip_info_req = get('https://iceportal.de/api1/rs/tripInfo/trip')
+ trip_info_req.raise_for_status()
+ trip_info = trip_info_req.json()['trip']
+
+ ice_status_req = get('https://iceportal.de/api1/rs/status')
+ ice_status_req.raise_for_status()
+ ice_status = ice_status_req.json()
+
+ next_stop_id = trip_info['stopInfo']['actualNext']
+ for stop in trip_info['stops']:
+ if stop['station']['evaNr'] == next_stop_id:
+ if stop['timetable']['departureDelay']:
+ delay = ' | {}'.format(stop['timetable']['departureDelay'])
+ else:
+ delay = ''
+
+ arrival = datetime.fromtimestamp(stop['timetable']['actualArrivalTime']/1000)
+ arrival_in = arrival - now
+
+ next_stop = '{} [{}] {} ({}{})'.format(
+ stop['station']['name'],
+ stop['track']['actual'],
+ arrival.strftime('%H:%M'),
+ format_time(arrival_in.total_seconds()),
+ delay
+ )
+ break
+ else:
+ next_stop = 'Endstation, bitte Aussteigen'
+
+ print('{}km/h > {} (Net: {} > [{}] {})'.format(
+ ice_status['speed'],
+ next_stop,
+ ice_status['connectivity']['currentState'],
+ format_time(ice_status['connectivity']['remainingTimeSeconds']),
+ ice_status['connectivity']['nextState'],
+ ))
+except Exception as e:
+ print(repr(e))
+ exit(0)
diff --git a/.config/i3pystatus/microphone-status.sh b/.config/i3pystatus/microphone-status.sh
deleted file mode 100755
index deae5ae..0000000
--- a/.config/i3pystatus/microphone-status.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-OUT="$(pactl get-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source | cut -d' ' -f2)"
-
-if [ "$OUT" = "yes" ]
-then
- echo 'M'
-else
- echo 'Microphone unmuted'
-fi
diff --git a/.config/i3pystatus/rfkill-wifi.py b/.config/i3pystatus/rfkill-wifi.py
index b338d21..29f9b63 100755
--- a/.config/i3pystatus/rfkill-wifi.py
+++ b/.config/i3pystatus/rfkill-wifi.py
@@ -12,20 +12,11 @@ for line in check_output(['rfkill', '-rn']).decode('UTF-8').splitlines():
'hard': True if hard == 'blocked' else False,
}
-wifi_dev = None
-for device in devices:
- if device.startswith('phy'):
- wifi_dev = device
- break
-
-if not wifi_dev:
- print('No WLAN?')
+if devices['phy0']['hard']:
+ wlan = '#FF0000'
+elif devices['phy0']['soft']:
+ wlan = '#FF9900'
else:
- if devices[wifi_dev]['hard']:
- wlan = '#FF0000'
- elif devices[wifi_dev]['soft']:
- wlan = '#FF9900'
- else:
- wlan = '#00FF00'
+ wlan = '#00FF00'
- print(f'WLAN')
+print(f'WLAN')
diff --git a/.config/i3pystatus/screensaver-status.sh b/.config/i3pystatus/screensaver-status.sh
index bee0e4c..9d4247a 100755
--- a/.config/i3pystatus/screensaver-status.sh
+++ b/.config/i3pystatus/screensaver-status.sh
@@ -5,6 +5,8 @@ OUT="$(xset q | grep timeout | awk '{print $2}')"
if [ "$OUT" = "0" ]
then
echo "OFF"
+ exit 1
else
echo "${OUT}s"
+ exit 0
fi
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
deleted file mode 100644
index 5c7c5da..0000000
--- a/.config/kitty/kitty.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-font_size 10.0
-cursor #4d5b86
-cursor_shape block
-scrollback_lines -1
-sync_to_monitor yes
-enable_audio_bell no
-visual_bell_duration 0.1
-window_alert_on_bell yes
-
-remember_window_size no
-initial_window_width 100c
-initial_window_height 30c
-
-map ctrl+shift+0 change_font_size current 0
-map ctrl+shift+8 change_font_size current -2.0
-map ctrl+shift+9 change_font_size current +2.0
diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf
index 0fc3f93..0aaf0f5 100644
--- a/.config/mpv/mpv.conf
+++ b/.config/mpv/mpv.conf
@@ -8,19 +8,11 @@ cursor-autohide=1000
msg-color
-no-audio-display
-
no-osc
osd-on-seek=bar
hls-bitrate=max
-[downmix]
-af=lavfi="pan=stereo|FL < 0.5*FC + 0.3*FLC + 0.3*FL + 0.3*BL + 0.3*SL + 0.5*LFE | FR < 0.5*FC + 0.3*FRC + 0.3*FR + 0.3*BR + 0.3*SR + 0.5*LFE",lavfi="acompressor=10"
-
-[mono]
-af=lavfi=[pan=1c|c0=0.5*c0+0.5*c1]
-
[extension.gif]
cache=no
no-pause
diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi
index b3ba019..a3fa4b3 100644
--- a/.config/rofi/config.rasi
+++ b/.config/rofi/config.rasi
@@ -1,14 +1,9 @@
configuration {
- modi: "drun";
+ modi: "window,run,drun";
show-icons: true;
sidebar-mode: true;
+ theme: "sidetab";
display-window: "Window";
display-run: "Execute";
display-drun: "Activate";
}
-//@theme "/usr/share/rofi/themes/sidebar.rasi"
-//@theme "/usr/share/rofi/themes/paper-float.rasi"
-//@theme "/usr/share/rofi/themes/dmenu.rasi"
-//@theme "/usr/share/rofi/themes/android_notification.rasi"
-//@theme "/usr/share/rofi/themes/Arc-Dark.rasi"
-@theme "/usr/share/rofi/themes/sidebar.rasi"
diff --git a/.config/systemd/user/default.target.wants/grobi.service b/.config/systemd/user/default.target.wants/grobi.service
new file mode 120000
index 0000000..aad545f
--- /dev/null
+++ b/.config/systemd/user/default.target.wants/grobi.service
@@ -0,0 +1 @@
+/home/kunsi/.config/systemd/user/grobi.service
\ No newline at end of file
diff --git a/.config/systemd/user/grobi.service b/.config/systemd/user/grobi.service
new file mode 100644
index 0000000..f51829e
--- /dev/null
+++ b/.config/systemd/user/grobi.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Automatically configure monitors/outputs for Xorg via RANDR
+
+[Service]
+ExecStart=/home/kunsi/git/grobi/grobi watch --verbose --config=/home/kunsi/.config/grobi/grobi.conf
+Restart=always
+RestartSec=10
+StartLimitInterval=0
+
+[Install]
+WantedBy=default.target
diff --git a/.config/yt-dlp/config b/.config/yt-dlp/config
deleted file mode 100644
index f77646e..0000000
--- a/.config/yt-dlp/config
+++ /dev/null
@@ -1,33 +0,0 @@
-# Have service and author in the file name.
---output '%(title)s [%(extractor)s %(id)s %(uploader_id)s].%(ext)s'
-
-# Try to download live streams from the start (use --no-live-from-start to disable).
---live-from-start
-# Wait for scheduled streams to become available, retry after 10 seconds.
---wait-for-video 10
-
-# Display progress in console title.
---console-title
-
-# Create SponsorBlock chapters.
---sponsorblock-mark all
-
-# embed some stuff
---embed-chapters
---embed-metadata
---embed-subs
---embed-thumbnail
---video-multistreams
---audio-multistreams
---merge-output-format mkv
-
-# The following options are basically presets for different use cases.
-
-# Create a new option `--archive` that will embed all video and audio streams
-# and as much information as possible in the video as well as create a sidecar
-# file with full metadata.
---alias archive '--write-info-json --no-clean-info-json'
-
-# Create a `--mp4` option that will optimize for getting an MP4 file, for
-# sharing on the Fedi etc. `-S ext` does the heavy lifting here.
---alias mp4 '-S ext --merge-output-format mp4'
diff --git a/.fehbg b/.fehbg
index c7cdddf..9b3f00c 100755
--- a/.fehbg
+++ b/.fehbg
@@ -1,2 +1,2 @@
#!/bin/sh
-feh --no-fehbg --bg-fill '/home/kunsi/Pictures/IMG_20231013_175516.jpg'
+feh --no-fehbg --bg-scale '/home/kunsi/Pictures/2021-08-28_The-Treasure_by-David-Revoy.jpg'
diff --git a/.gitconfig b/.gitconfig
index 4a69370..71336c7 100755
--- a/.gitconfig
+++ b/.gitconfig
@@ -23,10 +23,3 @@
[init]
defaultBranch = main
-
-[core]
- excludesFile = ~/.config/gitignore-global
-
-[push]
- autoSetupRemote = true
- default = current
diff --git a/.gnupg/gpg-agent.conf b/.gnupg/gpg-agent.conf
index 0e9db9e..5f48733 100644
--- a/.gnupg/gpg-agent.conf
+++ b/.gnupg/gpg-agent.conf
@@ -1,8 +1,7 @@
-default-cache-ttl 120
-default-cache-ttl-ssh 120
-max-cache-ttl 600
-max-cache-ttl-ssh 1800
+default-cache-ttl 2
+default-cache-ttl-ssh 5
+max-cache-ttl 2
+max-cache-ttl-ssh 30
no-allow-external-cache
enable-ssh-support
ignore-cache-for-signing
-pinentry-program /usr/bin/pinentry
diff --git a/.gtkrc-2.0 b/.gtkrc-2.0
index 7ab7af6..171dc0e 100644
--- a/.gtkrc-2.0
+++ b/.gtkrc-2.0
@@ -1,4 +1,4 @@
-gtk-theme-name="Skeuos-Teal-Dark"
+gtk-theme-name="breeze-dark"
gtk-enable-animations=1
diff --git a/.mutt/ACCOUNT_TEMPLATE b/.mutt/ACCOUNT_TEMPLATE
index ea4beda..67a2181 100644
--- a/.mutt/ACCOUNT_TEMPLATE
+++ b/.mutt/ACCOUNT_TEMPLATE
@@ -7,8 +7,8 @@ set imap_pass="PASSWORD"
set from=""
-set folder="imaps://USERNAME@rx300.kunbox.net/"
-set smtp_url="smtp://USERNAME:PASSWORD@rx300.kunbox.net:587/"
+set folder="imaps://USERNAME@mx0.kunbox.net/"
+set smtp_url="smtp://USERNAME:PASSWORD@mx0.kunbox.net:587/"
set spoolfile="+INBOX"
set record="+Sent"
diff --git a/.muttrc b/.muttrc
index 8ff2fbf..42812cf 100644
--- a/.muttrc
+++ b/.muttrc
@@ -34,11 +34,11 @@ set mailcap_path=~/.mutt/mailcap
alternative_order text/plain text/html
auto_view text/html
-set index_format="%4C %Z %{%F %T %z} %-25.25L (%?l?%4l&%4c?) %s"
+set index_format="%4C %Z %{%b %d} %-25.25L (%?l?%4l&%4c?) %s"
set editor="vim -c 'set spell spelllang=de,en'"
-source /usr/share/doc/neomutt/samples/gpg.rc
+source ~/.mutt/gpg.rc
set pgp_use_gpg_agent=yes
set pgp_timeout=60
diff --git a/.ssh/config b/.ssh/config
index 7d7584d..2591b72 100755
--- a/.ssh/config
+++ b/.ssh/config
@@ -5,50 +5,29 @@ Host *
Include ~/.ssh/bwnodes
-Host 172.19.138.10
- User root
+Host luther-netcup
+ HostName 46.38.249.46
+ User sub4632_80
-Host 172.19.138.95
- User of
+Host shells
+ HostName shells.entropia.de
+ Port 22
+ User kunsi
-Host 2a01:4f9:6b:2d99::c0ff:ee
- User root
+Host voellerei
+ HostName voellerei.club.entropia.de
+ Port 22
+ User entropia
-#Host ch-jump
-# Hostname jump.chaos-at-home.org
-# Port 2342
-# User c3voc
-#
-#Host 10.73.7.*
-# ProxyJump ch-jump
+Host raeumlichkeit
+ HostName raeumlichkeit.club.entropia.de
+ Port 22
+ User kunsi
-Host akamai.lan.c3voc.de
- User root
-
-Host cloudflare.lan.c3voc.de
- User root
-
-Host fastly.lan.c3voc.de
- User root
-
-Host *.lan.c3voc.de 172.19.138.10 172.19.138.117
- SetEnv TERM=xterm-256color
- # for info-beamer and openwrt
- HostKeyAlgorithms +ssh-rsa
- PubkeyAcceptedKeyTypes +ssh-rsa
- #User voc
-
-Host voc-servercase-switch
- HostName 10.73.200.200
- KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
- HostKeyAlgorithms ssh-rsa
- Ciphers aes128-cbc,3des-cbc
- SetEnv TERM=xterm-256color
- User admin
-
-Host proxmox-backupstorage
- HostName 2a01:4f9:6b:2d99::c0ff:ee
- User root
+Host poc
+ HostName poc-gw.entropia.de
+ Port 22
+ User kunsi
Host router-remote
HostName franzi-home.kunbox.net
diff --git a/.vimrc b/.vimrc
index 10eaa3c..24cd979 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,4 +1,3 @@
-set ttymouse=sgr
set number
set lbr
set fdc=0