Compare commits

..

3 commits

Author SHA1 Message Date
Von Birne
05636a6568 fix the bug with format time for real
ice_status['connectivity']['remainingTimeSeconds'] might be None
2021-12-07 20:31:15 +01:00
Von Birne
a4d873becd i3pystatus/ice-status.py cast time to int 2021-11-29 23:42:39 +01:00
Von Birne
7d541c9f7e i3pystatus/ice-status.py change api url
cert for portal.imice.de expired 2 weeks ago
2021-11-29 23:40:17 +01:00
38 changed files with 290 additions and 426 deletions

View file

@ -1,6 +0,0 @@
CDDBMETHOD=cdtext,musicbrainz
FLACENCODERSYNTAX=default
FLAC=flac
CDROM=/dev/sr0
OUTPUTTYPE=flac
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}_${TRACKFILE}'

View file

@ -1,26 +1,50 @@
#!/bin/bash #!/bin/sh
set -xeuo pipefail set -euo pipefail
set -x
export GIT_TERMINAL_PROMPT=0
export GIT_SSH_COMMAND='ssh -oBatchMode=yes'
# Push some git repos # Push some git repos
pass git push 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 git --git-dir=$HOME/.cfg/ --work-tree=$HOME push
# Fetch a fresh copy of all locally cloned git repos # Fetch a fresh copy of all locally cloned git repos
for dir in $(find /home/kunsi/git -mindepth 1 -maxdepth 1 -type d) for dir in $(find /home/kunsi/git -mindepth 1 -maxdepth 1 -type d)
do do
git -C "$dir" fetch --all || true git -C "$dir" fetch || true
done done
# Do a backup. # 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 # Do updates
sudo pacman -Syu sudo pacman -Syu --noconfirm
sudo DIFFPROG='diff -u --color' pacdiff

View file

@ -1,3 +1,3 @@
#!/bin/bash #!/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-*-*-*-*-*-*'

View file

@ -30,7 +30,7 @@ try:
if line.startswith('volume:'): if line.startswith('volume:'):
for speaker, absolute, percent in findall('([a-z-]+):\W+([0-9]+)\W+\/\W+([0-9]+)%', line): 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) print(f' sink {sink_id} speaker {speaker} at {percent} % volume', flush=True)
needs_adjusting = True needs_adjusting = True

View file

@ -5,8 +5,8 @@ tmpbg="/tmp/lock_$(whoami).png"
xset s noblank xset s noblank
xset s 90 10 xset s 90 10
pactl set-sink-mute alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink 1 pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo 1
pactl set-source-mute alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source 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 i3lock -e -t -i /home/kunsi/Pictures/laptop_unbenutzbar.png

View file

@ -1,3 +0,0 @@
#!/bin/sh
xinput set-prop 'TPPS/2 Elan TrackPoint' 321 0.7

7
.bin/voc-ansible Executable file
View file

@ -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

View file

@ -20,5 +20,5 @@ then
sudo mkdir -p "/video/fuse" sudo mkdir -p "/video/fuse"
fi fi
sudo mount -t cifs -o "uid=${uid},password=" "//${device}/video" "/video" sudo mount -t cifs -o "uid=${uid},password=" "//${device}.lan.c3voc.de/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/fuse" "/video/fuse"

View file

@ -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

View file

@ -85,7 +85,7 @@
### Text ### ### Text ###
font = pango:DB Office Regular 9 font = Monospace 8
# The spacing between lines. If the height is smaller than the # The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height. # 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 # It's important to note that markup inside the format option will be parsed
# regardless of what this is set to. # regardless of what this is set to.
markup = no markup = full
# The format of the message. Possible variables are: # The format of the message. Possible variables are:
# %a appname # %a appname
@ -129,7 +129,7 @@
# Alignment of message text. # Alignment of message text.
# Possible values are "left", "center" and "right". # Possible values are "left", "center" and "right".
alignment = left alignment = right
# Show age of message if message is older than show_age_threshold # Show age of message if message is older than show_age_threshold
# seconds. # seconds.

View file

@ -3,34 +3,22 @@ set -U -x MPD_HOST 172.19.138.20
set -U fish_features stderr-nocaret qmark-noglob 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 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 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 v='vim -p'
alias voc-ansible='/home/kunsi/.bin/voc-ansible' alias l='ls -lAh'
alias voc2gui='cd /home/kunsi/git/voctomix/ && voctogui/voctogui.py' alias please='sudo'
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 lumos='mosquitto_pub -h 172.19.138.20 -t /switch/wohnzimmer/stehlampe/cmnd/POWER -m "ON"' 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 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 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 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 ga='git add' alias ga='git add'
alias gc='git commit' alias gc='git commit'
@ -41,16 +29,8 @@ alias gp='git push'
alias gpu='git push -u origin HEAD' alias gpu='git push -u origin HEAD'
alias gs='git status --short' alias gs='git status --short'
alias libreoffice_present='libreoffice --impress --invisible --show'
set -x BW_ITEM_WORKERS 16 set -x BW_ITEM_WORKERS 16
set -x BW_NODE_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 function fish_greeting
echo -n "" echo -n ""
@ -67,11 +47,3 @@ end
function config --wraps=/usr/bin/git function config --wraps=/usr/bin/git
/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $argv; /usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $argv;
end 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

View file

@ -1,2 +0,0 @@
__pycache__
*.egg-info

View file

@ -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

42
.config/grobi/grobi.conf Normal file
View file

@ -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

View file

@ -1,12 +1,12 @@
set $mod Mod4 set $mod Mod4
#font pango:B612 Regular 9 #font pango:B612 Regular 7
font pango:DB Office Regular 8 font pango:DB Office Regular 9
floating_modifier $mod floating_modifier $mod
bindsym $mod+Return exec kitty bindsym $mod+Return exec xiate
bindsym $mod+Shift+Return exec kitty --class terminal-floating -e python bindsym $mod+Shift+Return exec xiate -class xiate-floating -e python
bindsym $mod+Shift+x kill bindsym $mod+Shift+x kill
@ -50,7 +50,7 @@ set $ws4 "4"
set $ws5 "5" set $ws5 "5"
set $ws6 "6" set $ws6 "6"
set $ws7 "7" set $ws7 "7"
set $ws8 "8" set $ws8 "9"
set $ws9 "9:media" set $ws9 "9:media"
set $ws10 "10:mail" set $ws10 "10:mail"
@ -94,11 +94,9 @@ bindsym $mod+c mode "resize"
default_border pixel 1 default_border pixel 1
hide_edge_borders smart hide_edge_borders smart
force_display_urgency_hint 1000 ms
focus_on_window_activation smart
bar { bar {
status_command /opt/i3pystatus/venv/bin/python ~/.config/i3pystatus/config.py status_command python ~/.config/i3pystatus/config.py
position top position top
tray_output primary tray_output primary
workspace_buttons yes workspace_buttons yes
@ -108,32 +106,38 @@ for_window [window_role="pop-up"] floating enable
for_window [class="Pavucontrol"] floating enable for_window [class="Pavucontrol"] floating enable
for_window [class="Gnome-calculator"] floating enable for_window [class="Gnome-calculator"] floating enable
for_window [class="realvnc-vncviewer"] 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 $ws1 output DP2-2
workspace $ws2 output DisplayPort-0 workspace $ws2 output DP2-1
workspace $ws3 output DisplayPort-0 workspace $ws3 output DP2-2
workspace $ws9 output HDMI-A-0 workspace $ws9 output eDP1
workspace $ws10 output DisplayPort-0 workspace $ws10 output DP2-1
exec_always setxkbmap -synch exec_always setxkbmap -synch
exec_always ~/.fehbg 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 xset s noblank && xset s 90 10 && xset -dpms
exec xsetroot -solid "#000000" exec xsetroot -solid "#000000"
exec xss-lock -n /home/kunsi/.bin/notify.sh -- /home/kunsi/.bin/screenlock.sh 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 XF86Display exec arandr
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 XF86MonBrightnessUp exec sudo light -A 5 bindsym $mod+Prior exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
bindsym XF86MonBrightnessDown exec sudo light -U 5 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+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 bindsym $mod+Shift+Print exec maim -i $(xdotool getactivewindow) ~/screenshot_$(date +%Y-%m-%d_%H%M%S).png

View file

@ -1,36 +1,25 @@
from i3pystatus import Status from i3pystatus import Status
status = Status( status = Status(
logfile='/dev/stderr', logfile='/dev/null',
) )
status.register("pulseaudio", status.register("pulseaudio",
format="♪I {volume}%", format="♪I {volume}%",
format_muted="♪I -∞dB", format_muted="♪I -∞dB",
step="2", 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", status.register("pulseaudio",
format="♪D {volume}%", format="♪D {volume}%",
format_muted="♪D -∞dB", format_muted="♪D -∞dB",
step="2", step="2",
sink="@DEFAULT_SINK@") 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", status.register("backlight",
format="{percentage}%", format="{percentage}%",
backlight="amdgpu_bl1", backlight="intel_backlight",
on_leftclick="sudo light -S 10", on_leftclick="xbacklight =10",
on_rightclick="sudo light -S 50", on_rightclick="xbacklight =50",
interval=1) interval=1)
status.register("shell", status.register("shell",
@ -41,9 +30,7 @@ status.register("shell",
on_rightclick="xset s off") on_rightclick="xset s off")
status.register("clock", status.register("clock",
format="%a, %Y-%m-%d %H:%M:%S %z (W%V)") format="%a, %Y-%m-%d %H:%M:%S (W%V)",)
status.register("clock",
format=("%Y-%m-%d %H:%M:%S UTC", "UTC"))
status.register("battery", status.register("battery",
battery_ident="BAT0", battery_ident="BAT0",
@ -55,15 +42,24 @@ status.register("battery",
"CHR": "", "CHR": "",
"FULL": "", "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", status.register("load",
format="L: {avg1}") format="{avg1}")
status.register("amdgpu",
format="G: {temp}°C {gpu_usage}%",
card=1)
status.register("temp", status.register("temp",
format="C: {temp:.0f}°C", format="{temp:.0f}°C",
hints={"markup": "pango"}, hints={"markup": "pango"},
# lm_sensors_enable=True,
dynamic_color=True) dynamic_color=True)
status.register("shell", status.register("shell",
@ -85,6 +81,13 @@ status.register("shell",
on_leftclick='systemctl --user start redshift.service', on_leftclick='systemctl --user start redshift.service',
on_rightclick='systemctl --user stop redshift.service', on_rightclick='systemctl --user stop redshift.service',
interval=1) 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", status.register("shell",
format="{output}", format="{output}",
hints = {"markup": "pango"}, hints = {"markup": "pango"},
@ -93,24 +96,12 @@ status.register("shell",
on_leftclick="xinput enable 'SynPS/2 Synaptics TouchPad'", on_leftclick="xinput enable 'SynPS/2 Synaptics TouchPad'",
on_rightclick="xinput disable 'SynPS/2 Synaptics TouchPad'") on_rightclick="xinput disable 'SynPS/2 Synaptics TouchPad'")
#status.register("wifionice", wifi_adapters=['wlan0']) status.register("shell",
status.register("wifionice", format="{output}",
hints = {"markup": "pango"}, hints = {"markup": "pango"},
url_on_click='https://travelynx.franzi.business/s/{last_station_no}?train={train_type}%20{train_no}', command="/home/kunsi/.config/i3pystatus/ice-status.py",
wifi_adapters=['wlan0'], ignore_empty_stdout=True,
format_offtrain='Wann wieder Zug?', interval=2)
format_ontrain=r'{train_type} {train_no} [~ <span color="#999999">{speed}km/h</span> ]> {next_station}[ '
r'<span color="#999999">\[{next_platform}\]</span> {arrival_time} '
r'({arrival_in}[ | <span color="#FF0000">{delay}</span>])][ '
r'<span color="#999999">(Net: {net_current} > \[{net_duration}\] '
r'{net_expected})</span>]')
#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)
status.register("network", status.register("network",
interface="wlp4s0", interface="wlp4s0",
@ -119,7 +110,7 @@ status.register("network",
detect_active=True, detect_active=True,
freq_divisor=1000000000, freq_divisor=1000000000,
divisor=1024, 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"}) hints={"markup":"pango"})
#status.register("mpd", #status.register("mpd",
@ -138,7 +129,7 @@ status.register("network",
# max_field_len=200) # max_field_len=200)
status.register("disk", status.register("disk",
path="/home/kunsi", path="/home",
format="{used}/{total}G",) format="{used}/{total}G",)
status.run() status.run()

View file

@ -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 = ' | <span color="#FF0000">{}</span>'.format(stop['timetable']['departureDelay'])
else:
delay = ''
arrival = datetime.fromtimestamp(stop['timetable']['actualArrivalTime']/1000)
arrival_in = arrival - now
next_stop = '{} <span color="#999999">[{}]</span> {} ({}{})'.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('<span color="#999999">{}km/h</span> > {} <span color="#999999">(Net: {} > [{}] {})</span>'.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)

View file

@ -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 '<span color="#00FF00">M</span>'
else
echo '<span color="#FF0000">Microphone unmuted</span>'
fi

View file

@ -12,20 +12,11 @@ for line in check_output(['rfkill', '-rn']).decode('UTF-8').splitlines():
'hard': True if hard == 'blocked' else False, 'hard': True if hard == 'blocked' else False,
} }
wifi_dev = None if devices['phy0']['hard']:
for device in devices:
if device.startswith('phy'):
wifi_dev = device
break
if not wifi_dev:
print('No WLAN?')
else:
if devices[wifi_dev]['hard']:
wlan = '#FF0000' wlan = '#FF0000'
elif devices[wifi_dev]['soft']: elif devices['phy0']['soft']:
wlan = '#FF9900' wlan = '#FF9900'
else: else:
wlan = '#00FF00' wlan = '#00FF00'
print(f'<span color="{wlan}">WLAN</span>') print(f'<span color="{wlan}">WLAN</span>')

View file

@ -5,6 +5,8 @@ OUT="$(xset q | grep timeout | awk '{print $2}')"
if [ "$OUT" = "0" ] if [ "$OUT" = "0" ]
then then
echo "OFF" echo "OFF"
exit 1
else else
echo "${OUT}s" echo "${OUT}s"
exit 0
fi fi

View file

@ -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

View file

@ -8,19 +8,11 @@ cursor-autohide=1000
msg-color msg-color
no-audio-display
no-osc no-osc
osd-on-seek=bar osd-on-seek=bar
hls-bitrate=max 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] [extension.gif]
cache=no cache=no
no-pause no-pause

View file

@ -1,14 +1,9 @@
configuration { configuration {
modi: "drun"; modi: "window,run,drun";
show-icons: true; show-icons: true;
sidebar-mode: true; sidebar-mode: true;
theme: "sidetab";
display-window: "Window"; display-window: "Window";
display-run: "Execute"; display-run: "Execute";
display-drun: "Activate"; 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"

View file

@ -1 +1 @@
/usr/lib/systemd/user/grobi.service /home/kunsi/.config/systemd/user/grobi.service

View file

@ -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

View file

@ -1,13 +0,0 @@
rule = {
matches = {
{
{ "node.name", "equals", "bluez_output.38_18_4C_BF_65_26.1" },
},
},
apply_properties = {
["node.description"] = "WH-1000XM3 (Franzi)",
["node.nick"] = "bluetooth-WH-1000XM3",
},
}
table.insert(bluez_monitor.rules, rule)

View file

@ -1,13 +0,0 @@
rule = {
matches = {
{
{ "node.name", "equals", "alsa_input.pci-0000_07_00.6.HiFi__hw_Generic_1__source" },
},
},
apply_properties = {
["node.description"] = "Laptop Headphones Microphone",
["node.nick"] = "laptop-headphones-mic",
},
}
table.insert(alsa_monitor.rules, rule)

View file

@ -1,13 +0,0 @@
rule = {
matches = {
{
{ "node.name", "equals", "alsa_input.pci-0000_07_00.6.HiFi__hw_acp__source" },
},
},
apply_properties = {
["node.description"] = "Laptop internal Microphone",
["node.nick"] = "laptop-internal-mic",
},
}
table.insert(alsa_monitor.rules, rule)

View file

@ -1,13 +0,0 @@
rule = {
matches = {
{
{ "node.name", "equals", "alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink" },
},
},
apply_properties = {
["node.description"] = "Laptop Speakers/Headphones",
["node.nick"] = "laptop-internal-out",
},
}
table.insert(alsa_monitor.rules, rule)

View file

@ -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'

2
.fehbg
View file

@ -1,2 +1,2 @@
#!/bin/sh #!/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'

View file

@ -23,8 +23,3 @@
[init] [init]
defaultBranch = main defaultBranch = main
[core]
excludesFile = ~/.config/gitignore-global
[push]
autoSetupRemote = true
default = current

View file

@ -1,8 +1,7 @@
default-cache-ttl 120 default-cache-ttl 2
default-cache-ttl-ssh 120 default-cache-ttl-ssh 5
max-cache-ttl 600 max-cache-ttl 2
max-cache-ttl-ssh 1800 max-cache-ttl-ssh 30
no-allow-external-cache no-allow-external-cache
enable-ssh-support enable-ssh-support
ignore-cache-for-signing ignore-cache-for-signing
pinentry-program /usr/bin/pinentry

View file

@ -1,4 +1,4 @@
gtk-theme-name="Skeuos-Teal-Dark" gtk-theme-name="breeze-dark"
gtk-enable-animations=1 gtk-enable-animations=1

View file

@ -7,8 +7,8 @@ set imap_pass="PASSWORD"
set from="" set from=""
set folder="imaps://USERNAME@rx300.kunbox.net/" set folder="imaps://USERNAME@mx0.kunbox.net/"
set smtp_url="smtp://USERNAME:PASSWORD@rx300.kunbox.net:587/" set smtp_url="smtp://USERNAME:PASSWORD@mx0.kunbox.net:587/"
set spoolfile="+INBOX" set spoolfile="+INBOX"
set record="+Sent" set record="+Sent"

View file

@ -34,11 +34,11 @@ set mailcap_path=~/.mutt/mailcap
alternative_order text/plain text/html alternative_order text/plain text/html
auto_view 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'" 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_use_gpg_agent=yes
set pgp_timeout=60 set pgp_timeout=60

View file

@ -5,50 +5,29 @@ Host *
Include ~/.ssh/bwnodes Include ~/.ssh/bwnodes
Host 172.19.138.10 Host luther-netcup
User root HostName 46.38.249.46
User sub4632_80
Host 172.19.138.95 Host shells
User of HostName shells.entropia.de
Port 22
User kunsi
Host 2a01:4f9:6b:2d99::c0ff:ee Host voellerei
User root HostName voellerei.club.entropia.de
Port 22
User entropia
#Host ch-jump Host raeumlichkeit
# Hostname jump.chaos-at-home.org HostName raeumlichkeit.club.entropia.de
# Port 2342 Port 22
# User c3voc User kunsi
#
#Host 10.73.7.*
# ProxyJump ch-jump
Host akamai.lan.c3voc.de Host poc
User root HostName poc-gw.entropia.de
Port 22
Host cloudflare.lan.c3voc.de User kunsi
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 router-remote Host router-remote
HostName franzi-home.kunbox.net HostName franzi-home.kunbox.net

1
.vimrc
View file

@ -1,4 +1,3 @@
set ttymouse=sgr
set number set number
set lbr set lbr
set fdc=0 set fdc=0