X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=brc2;h=ea1faafd479eb2b1f5128728f71c41a5853fd991;hb=fa264ab2ec907b4ebc8d7dd0f8b239b0d0202362;hp=fdb2c060e6de9a0742e667d585f768be98b9001b;hpb=602a1874cc11a7d371890cdae4c0dc982267ea89;p=distro-setup diff --git a/brc2 b/brc2 index fdb2c06..ea1faaf 100644 --- a/brc2 +++ b/brc2 @@ -6,7 +6,10 @@ # * settings -if [[ $HISTFILE ]]; then +if [[ $LESSHISTFILE == - ]]; then + HISTFILE= + c() { cd "$@"; } +elif [[ $HISTFILE ]]; then HISTFILE=$HOME/.bh fi @@ -22,6 +25,7 @@ path-add --end ~/.local/bin path-add --ifexists --end /a/work/libremanage path-add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-tools path-add --ifexists --end /a/opt/scancode-toolkit-3.10. +path-add --ifexists --end /p/bin case $HOSTNAME in sy|bo) @@ -110,6 +114,12 @@ rootrsync() { s rsync -e "ssh -F /root/.ssh/confighome" "$@" } +zcheck() { + ssh bow DISPLAY=:0 scrot /tmp/oegu.jpg + scp bow:/tmp/oegu.jpg /t + ssh bow rm /tmp/oegu.jpg + feh /t/oegu.jpg +} slemacs() { local arg rtime v @@ -293,19 +303,6 @@ abrowserrmcompat() { fi ngreset } -ngset() { - if shopt nullglob >/dev/null; then - ngreset=false - else - shopt -s nullglob - ngreset=true - fi -} -ngreset() { - if $ngreset; then - shopt -u nullglob - fi -} checkre() { s checkrestart -b /a/bin/ds/checkrestart-blacklist -pv @@ -472,7 +469,7 @@ jrun() { # journal run. run args, log to journal, tail and grep the journal. journalctl -qn2 -f -u "$cmd_name" & # Guess of time needed to avoid missing initial lines. # .5 was not reliable. 1 was not reliable. 2 was not reliable - sleep 3 + sleep 4 # We kill this in prompt-command for the case that we ctrl-c the # systemd-cat. i dont know any way to trap ctrl-c and still run the # normal action for it. There might be a way, unsure. @@ -504,7 +501,7 @@ srun() { fg &>/dev/null ||: } -sm() { +sm() { # switch mail host local tmp keyhash c / # run latest @@ -517,6 +514,19 @@ sm() { s jrun switch-mail-host "$@" return $ret } +sh2() { # switch host2 + local tmp keyhash + c / + # run latest + keyhash=$(s ssh-keygen -lf /root/.ssh/home | awk '{print $2}') + tmp=$(s ssh-add -l | awk '$2 == "'$keyhash'"') + if [[ ! $tmp ]]; then + s ssh-add /root/.ssh/home + fi + install-my-scripts + s jrun switch-host2 "$@" + return $ret +} # shellcheck disable=SC2120 lipush() { @@ -1035,8 +1045,9 @@ hstatus() { # work log wlog() { - local day now i - for (( i=0; i<60; i++ )); do + local day now i days_back + days_back=${1:-16} + for (( i=0; i/dev/null; then s ip netns add nonet fi @@ -1264,48 +1276,60 @@ mp() { done } -# these might need a mu index or something added. -mbenable() { - local mb=$1 - dst=/m/4e/$mb - src=/m/md/$mb - [[ -e $src ]] || { echo "src:$src does not exist"; return 1; } - m mv -T $src $dst - m ln -s -T $dst $src -} -mb2enable() { - local mb - for mb; do - dst=/m/4e2/$mb - link=/m/md/$mb - src=/m/md/$mb - if [[ ! -e $src || -L $src ]]; then - src=/m/4e/$mb +# maildir enable +mdenable() { + local md dst ln_path src two + + two=false + case $1 in + -2) two=true shift ;; + esac + + for md; do + src= + if $two; then + dst=/m/4e2/$md + else + dst=/m/4e/$md + fi + + ln_path=/m/md/$md + for d in /m/md/$md /m/4e2/$md; do + if [[ -d $d && ! -L $d ]]; then + src=$d + break + fi + done + if [[ ! $src ]]; then + echo "error: could not find $md" >&2 + return 1 fi - [[ -e $src ]] || { echo "src:$src does not exist"; return 1; } m mv -T $src $dst - m ln -sf -T $dst $link + m ln -sf -T $dst $ln_path done } -mbdisable() { - local mb=$1 - dst=/m/md/$mb - src=/m/4e/$mb - set -x - [[ -e $src ]] || { set +x; return 1; } - if [[ -L $dst ]]; then rm $dst; fi - mv -T $src $dst - set +x +md2enable() { + mdenable -2 "$@" } -mb2disable() { - local mb=$1 - dst=/m/md/$mb - src=/m/4e2/$mb - set -x - [[ -e $src ]] || { set +x; return 1; } - if [[ -L $dst ]]; then rm $dst; fi - mv -T $src $dst - set +x +mddisable() { + local md=$1 + dst=/m/md/$md + + ### begin copied from mdenable, but different d ### + for d in /m/4e/$md /m/4e2/$md; do + if [[ -d $d && ! -L $d ]]; then + src=$d + break + fi + done + if [[ ! $src ]]; then + echo "error: could not find $md" >&2 + return 1 + fi + ### end copy from mdenable ### + + if [[ -L $dst ]]; then m rm $dst; fi + m mv -T $src $dst } @@ -1316,6 +1340,26 @@ mdt() { mo() { xset dpms force off; } # monitor off +mpvgpu() { + # seems to be the best gpu decoding on my nvidia 670. + # vlc gets similar or better framerate, but is much darker output on my test movie at least. + + + case $HOSTNAME in + kd) + echo 0f | sudo tee -a /sys/kernel/debug/dri/0/pstate + ;; + esac + # going back to the default slow clock, and slower fan: + # echo 07 | sudo tee -a /sys/kernel/debug/dri/0/pstate + if [[ $DISPLAY ]]; then + mpv --vo=vdpau --hwdec=auto "$@" + else + # waylandvk seems to work the same + mpv --gpu-context=wayland --hwdec=auto + fi +} + mpvd() { mpv --profile=d "$@"; } @@ -1364,8 +1408,8 @@ mpvm() { arg+=(")") dir=${1:-.} # debug: - #find $dir "${arg[@]}" -size +1M - find $dir "${arg[@]}" -size +1M -exec mpv --profile=d '{}' + + #find $dir "${arg[@]}" -size +200k + find $dir "${arg[@]}" -size +200k -exec mpv --profile=d '{}' + } mpvs() { mpv --profile=s "$@"; @@ -1392,7 +1436,8 @@ allmyirc() { } mygajim() { - local time time_sec time_pretty + local time time_sec time_pretty days + days=${1:-16} sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs where contact_name = 'iank' and jid_id = 17;" | while read -r time l; do case $time in 16*) : ;; @@ -1405,7 +1450,7 @@ mygajim() { echo $time_pretty "$l" time_sec=${time%%.*} # only look at the last 18 days. generally just use this for timesheet. - if (( time_sec < EPOCHSECONDS - 60 * 60 * 24 * 18 )); then break; fi + if (( time_sec < EPOCHSECONDS - 60 * 60 * 24 * days )); then break; fi done } @@ -1417,6 +1462,11 @@ gajlogs() { sqlite3 -separator ' ' /p/c/subdir_files/.local/share/gajim/logs.db "select time, message from logs" | less } +# slow down ploopy trackball +ploop() { +xinput --set-prop $(xinput list | grep -F 'Ploopy Corporation Trackball Mouse' | sed -rn 's/.*[[:space:]]id=([^[:space:]]*).*/\1/p') 'libinput Accel Speed' -0.9 +} + net-dev-info() { e "lspci -nnk|gr -iA2 net" lspci -nnk|gr -iA2 net @@ -1521,6 +1571,7 @@ rebr() { } +r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; } # only run on MAIL_HOST. simpler to keep this on one system. r2eadd() { # usage: name url # initial setup of rss2email: @@ -1539,7 +1590,6 @@ r2eadd() { # usage: name url # get up to date and dont send old entries now: r2e run --no-send $1 } -r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; } rspicy() { # usage: HOST DOMAIN # connect to spice vm remote host. use vspicy for local host @@ -1698,16 +1748,28 @@ EOF fi } -# alert when a page goes live. not urgent. +# alert when a page goes live. alert200() { + local quiet url tmpdir + quiet=false + case $1 in + # dont send a diff of the html. some html is not very readable + -q) quiet=true + shift + ;; + esac url="$1" tmpdir="$(mktemp -d)" cd $tmpdir while true; do - if torsocks wget -q "$url"; then - alertme $tmpdir + if wget -q "$url"; then + if $quiet; then + echo | daylert 200 + else + alertme $tmpdir + fi fi - sleep $(( 600 + RANDOM % 300 )) + sleep $(( 120 + RANDOM % 300 )) done } @@ -1769,15 +1831,29 @@ testexim() { # exim -t 'test@zroe.org, t2@zroe.org' <<'EOF' # # -t = get recipient from header - exim -d -t <<'EOF' -From: root@$(hostname-f) -To: root@$(hostname-f) + exim -d -t <' $to < +To: $to +Subject: Mail delivery failed: returning message to sender + +This message was created automatically by mail delivery software. +EOF + +} + + # toggle keyboard tk() { # based on @@ -1873,13 +1949,33 @@ servicepid() { sdnbash() { # systemd namespace bash local unit pid + if (( $# != 1 )); then + echo $0: error wrong number of args >&2 + return 1 + fi unit=$1 pid=$(servicepid $unit) m sudo nsenter -t $pid -n -m sudo -u $USER -i bash } +sdnbashroot() { # systemd namespace bash + local unit pid + if (( $# != 1 )); then + echo $0: error wrong number of args >&2 + return 1 + fi + unit=$1 + pid=$(servicepid $unit) + m sudo nsenter -t $pid -n -m bash +} + + sdncmd() { # systemd namespace cmd local unit pid + if (( $# <= 2 )); then + echo $0: error wrong number of args >&2 + return 1 + fi unit=$1 shift pid=$(servicepid $unit) @@ -1978,8 +2074,12 @@ vpn() { } fixu() { + local stats ls -lad /run/user/1000 - s chmod 700 /run/user/1000; s chown iank.iank /run/user/1000 + stats=$(stat -c%a-%g-%u /run/user/1000) + if [[ $stats != 700-1000-1000 ]]; then + m s chmod 700 /run/user/1000; m s chown iank.iank /run/user/1000 + fi } # systemctl is-enabled / status / cat says nothing, instead theres