initial dotfiles
This commit is contained in:
commit
45e5fe53d2
370 changed files with 25449 additions and 0 deletions
43
.config/scripts/media.sh
Executable file
43
.config/scripts/media.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
# Colors
|
||||
GREEN="%{F#b4be7b}"
|
||||
BLUE="%{F#afb979}"
|
||||
DIM="%{F#778284}"
|
||||
RESET="%{F-}"
|
||||
|
||||
STATE_FILE="/tmp/polybar-toggle-state"
|
||||
|
||||
# --- CLICK DETECTION ---
|
||||
if [ -f "$STATE_FILE" ]; then
|
||||
LAST_MOD=$(stat -c %Y "$STATE_FILE" 2>/dev/null || echo 0)
|
||||
CURRENT_TIME=$(date +%s)
|
||||
if [ $((CURRENT_TIME - LAST_MOD)) -lt 2 ]; then
|
||||
rm "$STATE_FILE"
|
||||
FORCE_TOGGLE=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# --- WINDOW (ALWAYS IMMEDIATE) ---
|
||||
WINDOW=$(xdotool getactivewindow getwindowname 2>/dev/null || echo "Desktop")
|
||||
WINDOW="${WINDOW:0:50}"
|
||||
|
||||
# --- MEDIA INFO ---
|
||||
MEDIA_STATUS=$(playerctl status 2>/dev/null)
|
||||
MEDIA=$(playerctl metadata --format "{{ artist }} - {{ title }}" 2>/dev/null)
|
||||
MEDIA="${MEDIA:0:50}"
|
||||
|
||||
# --- ROTATION TIMER (MEDIA ONLY) ---
|
||||
CURRENT_SECOND=$(date +%s)
|
||||
SHOW_MEDIA=$(((CURRENT_SECOND / 2) % 2))
|
||||
|
||||
# Manual toggle flips media visibility only
|
||||
if [ -n "$FORCE_TOGGLE" ]; then
|
||||
SHOW_MEDIA=$((1 - SHOW_MEDIA))
|
||||
fi
|
||||
|
||||
# --- DISPLAY LOGIC ---
|
||||
if [ -n "$MEDIA" ] && [ "$MEDIA_STATUS" = "Playing" ] && [ $SHOW_MEDIA -eq 1 ]; then
|
||||
echo "${GREEN}♫${RESET} ${MEDIA}"
|
||||
else
|
||||
echo "${BLUE}${RESET} ${WINDOW}"
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue