From bd3c3c16ba2235db1771943a15cd077668df5a17 Mon Sep 17 00:00:00 2001 From: Nefrace Date: Wed, 21 May 2025 14:16:15 +0300 Subject: [PATCH] new configs --- bin/rofi-tscale | 6 +- i3/.config/i3/config | 10 +++ i3/.config/i3blocks/config | 6 +- i3/.config/i3blocks/tscale | 27 +++++-- i3/.config/i3blocks/volume-pipewire | 112 ++++++++++++++++++++++++++++ kitty/.config/kitty/kitty.conf | 12 ++- 6 files changed, 164 insertions(+), 9 deletions(-) create mode 100755 i3/.config/i3blocks/volume-pipewire diff --git a/bin/rofi-tscale b/bin/rofi-tscale index 11916e4..fb5c820 100755 --- a/bin/rofi-tscale +++ b/bin/rofi-tscale @@ -2,13 +2,15 @@ source ~/.dotfiles/nfrc.sh -action=$(printf "Connect exit node\nDisconnect" | rofi -dmenu -p "Tailscale") +cmd="rofi --dmenu -p" + +action=$(printf "Connect exit node\nDisconnect" | $cmd "Tailscale") case "$action" in "Connect exit node") echo connecting... - endpoint=$(tailscale status | grep "exit node" | awk '{print $2}' | rofi -dmenu -p "Select exit node") + endpoint=$(tailscale status | grep "exit node" | awk '{print $2}' | $cmd "Select exit node") tailscale set --exit-node="$endpoint" tailscale up ;; diff --git a/i3/.config/i3/config b/i3/.config/i3/config index 24354b2..b33b1d0 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -43,10 +43,15 @@ exec --no-startup-id dex --autostart --environment i3 # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # screen before suspend. Use loginctl lock-session to lock your screen. exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock-fancy-rapid 10 10 +# +# cat .config/nitrogen/bg-saved.cfg | rg 'file=(.*)' -or '$1' | xargs i3lock -i +# exec --no-startup-id xss-lock --transfer-sleep-lock -- cat ~/.config/nitrogen/bg-saved.cfg | rg 'file=(.*)' -or '$1' | xargs i3lock --nofork -i # NetworkManager is the most popular way to manage wireless networks on Linux, # and nm-applet is a desktop environment-independent system tray GUI for it. exec --no-startup-id nm-applet +exec --no-startup-id pasystray exec --no-startup-id nitrogen --restore exec --no-startup-id picom @@ -172,6 +177,11 @@ bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" +# bindsym $mod+Shift+s exec --no-startup-id "slop | xargs -I % shotgun -g % | pst | xclip -selection clipboard -i" +bindsym Print exec --no-startup-id "maim | ~/bin/pst | xclip -selection clipboard && notify-send 'Screenshot created' || notify-send 'Screenshoter failed'" +bindsym $mod+Shift+s exec --no-startup-id "slop | xargs -I % maim -g % | ~/bin/pst | xclip -selection clipboard && notify-send 'Screenshot created' || notify-send 'Screenshoter failed'" +# bindsym Print exec --no-startup-id notify-send eee + # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode diff --git a/i3/.config/i3blocks/config b/i3/.config/i3blocks/config index efd4495..d2b0b84 100644 --- a/i3/.config/i3blocks/config +++ b/i3/.config/i3blocks/config @@ -18,9 +18,13 @@ interval=30 command=~/.dotfiles/bin/battery 1 interval=30 +#[volume] +#command=~/.config/i3blocks/volume-pipewire +#interval=1 + [tailscale] command=~/.config/i3blocks/tscale #echo TS: $(ip a show tailscale0 | rg "inet (\d+\.\d+\.\d+\.\d+)" -or '$1') -interval=30 +interval=5 [wthr] color=#c0c0c0 diff --git a/i3/.config/i3blocks/tscale b/i3/.config/i3blocks/tscale index 94a5df6..507643d 100755 --- a/i3/.config/i3blocks/tscale +++ b/i3/.config/i3blocks/tscale @@ -1,10 +1,27 @@ #!/bin/bash -exitnode=$(tailscale status --json | jq .ExitNodeStatus) -enstatus="enode: off" -[ "$exitnode" = "null" ] || enstatus="enode: on" -echo TS: $(ip a show tailscale0 | rg "inet (\d+\.\d+\.\d+\.\d+)" -or '$1') $enstatus - case $BLOCK_BUTTON in 1) ~/.dotfiles/bin/rofi-tscale ;; esac + +text=" " + +exitnode=$(tailscale status --json | jq .ExitNodeStatus) +enstatus="" +tsip=$(ip a show tailscale0 | rg "inet (\d+\.\d+\.\d+\.\d+)" -or '$1') +[ "$exitnode" = "null" ] && { + [ -z "$tsip" ] && { + text="$text offline" + color='#707070' + } || { + text="$text $tsip" + COLOR='#8080ff' + } +} || { + enstatus=$(echo $exitnode | jq .TailscaleIPs.[0] | sed 's/"//g' | cut -d'/' -f1) + text="$text exit: $enstatus" + COLOR='#80ff80' +} +echo $text +echo $text +echo $COLOR diff --git a/i3/.config/i3blocks/volume-pipewire b/i3/.config/i3blocks/volume-pipewire new file mode 100755 index 0000000..b2ee06d --- /dev/null +++ b/i3/.config/i3blocks/volume-pipewire @@ -0,0 +1,112 @@ +#!/bin/bash +# This project is libre, and licenced under the terms of the +# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENCE, version 3.1, +# as published by dtf on July 2019. See the LICENSE file or +# https://ph.dtf.wtf/w/wtfpl/#version-3-1 for more details. + +# Displays the default device, volume, and mute status for i3blocks +# Required pkgs (voidlinux) are: +# pipewire +# pamixer +# pulseaudio-utils + +AUDIO_HIGH_SYMBOL=' ' + +AUDIO_MED_HIGH_THRESH=70 +AUDIO_MED_HIGH_SYMBOL=' ' + +AUDIO_MED_THRESH=50 +AUDIO_MED_SYMBOL=' ' + +AUDIO_LOW_THRESH=0 +AUDIO_LOW_SYMBOL=' ' + +AUDIO_MUTED_SYMBOL=' ' + +AUDIO_INTERVAL=1 + +DEFAULT_COLOR="#00FF00" +#DEFAULT_COLOR="#FFFFFF" +MUTED_COLOR="#FF0000" +#MUTED_COLOR="#a0a0a0" + +LONG_FORMAT=3 +SHORT_FORMAT=0 +USE_PERCENT=1 +USE_ALSA_NAME=0 +USE_DESCRIPTION=1 + +while getopts F:f:pdH:M:L:X:T:t:C:c:i:h opt; do + case "$opt" in + F) LONG_FORMAT="$OPTARG" ;; + f) SHORT_FORMAT="$OPTARG" ;; + p) USE_PERCENT=0 ;; + d) USE_DESCRIPTION=1 ;; + H) AUDIO_HIGH_SYMBOL="$OPTARG" ;; + M) AUDIO_MED_SYMBOL="$OPTARG" ;; + L) AUDIO_LOW_SYMBOL="$OPTARG" ;; + X) AUDIO_MUTED_SYMBOL="$OPTARG" ;; + T) AUDIO_MED_THRESH="$OPTARG" ;; + t) AUDIO_LOW_THRESH="$OPTARG" ;; + C) DEFAULT_COLOR="$OPTARG" ;; + c) MUTED_COLOR="$OPTARG" ;; + i) AUDIO_INTERVAL="$OPTARG" ;; + h) printf "help" ;; + esac +done + +function move_sinks_to_new_default { + DEFAULT_SINK=$1 + pactl info | grep 'Default Sink' | while read SINK; do + pactl set-default-sink $SINK + done +} + +function print_format { + [[ $USE_PERCENT == 0 ]] && PERCENT="" + case "$1" in + 1) echo "$SYMBOL$VOL$PERCENT [$NAME]" ;; + 2) echo "$SYMBOL$VOL$PERCENT [$INDEX]";; + 3) echo "$SYMBOL$VOL$PERCENT" ;; + *) echo "$SYMBOL$VOL$PERCENT [$INDEX:$NAME]" ;; + esac +} + +function print_block { + for name in NAME; do + read $name + done < <(pactl info | grep 'Default Sink:') + NAME=$(echo "$NAME" | awk '{print $3}') + DESCRIPTION=$(pactl list sinks | grep -B2 -A1 "$NAME$" | grep Description | cut -f2- -d\ ) + INDEX=$(pactl list sinks | grep -B2 -A1 "$NAME$" | grep Sink | cut -f2 -d\#) + + if [[ $USE_DESCRIPTION == 1 ]]; then + NAME="$DESCRIPTION" + fi + + [[ $USE_PERCENT == 1 ]] && VOL="$(pamixer --get-volume-human)" || VOL=$(pamixer --get-volume) + + MUTED=$(pamixer --get-mute) + + if [[ $MUTED =~ "false" ]] ; then + SYMBOL=$AUDIO_HIGH_SYMBOL + [[ ${VOL/\%/} -le $AUDIO_MED_HIGH_THRESH ]] && SYMBOL=$AUDIO_MED_HIGH_SYMBOL + [[ ${VOL/\%/} -le $AUDIO_MED_THRESH ]] && SYMBOL=$AUDIO_MED_SYMBOL + [[ ${VOL/\%/} -le $AUDIO_LOW_THRESH ]] && SYMBOL=$AUDIO_LOW_SYMBOL + COLOR=$DEFAULT_COLOR + else + SYMBOL=$AUDIO_MUTED_SYMBOL + COLOR=$MUTED_COLOR + fi + + if [[ $SUBSCRIBE == 1 ]] ; then + print_format "$LONG_FORMAT" + echo "$COLOR" + else + print_format "$LONG_FORMAT" + print_format "$SHORT_FORMAT" + echo "$COLOR" + fi +} + +print_block diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index 145f8b8..be16af8 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -1,5 +1,15 @@ -font_family IosevkaTerm NF +# font_family IosevkaTerm NF font_size 18.0 background_opacity 0.8 background_blur 1 + +window_margin_width 10 + + +# BEGIN_KITTY_FONTS +font_family family="IosevkaTerm Nerd Font Mono" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS \ No newline at end of file