tm spot
This commit is contained in:
parent
22f12f851c
commit
a04d9594f3
@ -51,7 +51,7 @@ declare -A alias_list=(
|
|||||||
|
|
||||||
|
|
||||||
# SPOTIFY
|
# SPOTIFY
|
||||||
[spo]'spotify_player'
|
[spo]='spotify_player'
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
"timelapse": "1"
|
"timelapse": "1"
|
||||||
},
|
},
|
||||||
"recent": {
|
"recent": {
|
||||||
"last_opened_folder": "/home/errol/Downloads/3D Prints/Toolbox",
|
"last_opened_folder": "/home/errol/Downloads/3D Prints/Gridfinity",
|
||||||
"printhost_path": "",
|
"printhost_path": "",
|
||||||
"settings_folder": "/home/errol/Downloads/3D Prints/Toolbox"
|
"settings_folder": "/home/errol/Downloads/3D Prints/Toolbox"
|
||||||
},
|
},
|
||||||
|
@ -14,10 +14,10 @@ bind \; command-prompt
|
|||||||
# Set ZSH
|
# Set ZSH
|
||||||
set -g default-shell /bin/zsh
|
set -g default-shell /bin/zsh
|
||||||
|
|
||||||
bind -r j resize-pane -D 5
|
bind -r C-Down resize-pane -D 5
|
||||||
bind -r k resize-pane -U 5
|
bind -r C-Up resize-pane -U 5
|
||||||
bind -r h resize-pane -L 5
|
bind -r C-Left resize-pane -L 5
|
||||||
bind -r l resize-pane -R 5
|
bind -r C-Right resize-pane -R 5
|
||||||
|
|
||||||
bind -r m resize-pane -Z
|
bind -r m resize-pane -Z
|
||||||
|
|
||||||
@ -50,12 +50,12 @@ bind-key "_" split-window -fv -c "#{pane_current_path}"
|
|||||||
bind j choose-window 'join-pane -h -s "%%"'
|
bind j choose-window 'join-pane -h -s "%%"'
|
||||||
bind J choose-window 'join-pane -s "%%"'
|
bind J choose-window 'join-pane -s "%%"'
|
||||||
|
|
||||||
bind END kill-pane # Kill active pane
|
bind END kill-window # Kill active window
|
||||||
bind Bspace kill-window # Kill Active Window
|
bind Space kill-pane # Kill Active pane
|
||||||
|
|
||||||
bind c new-window -c "#{pane_current_path}" # Keep Path
|
bind c new-window -c "#{pane_current_path}" # Keep Path
|
||||||
|
|
||||||
bind Space last-window
|
bind -n C-Space last-window
|
||||||
|
|
||||||
bind - split-window -v
|
bind - split-window -v
|
||||||
|
|
||||||
@ -109,7 +109,11 @@ bind -n S-Pagedown send-keys S-Pagedown
|
|||||||
|
|
||||||
set -g status-right '#[fg=white]#(hostname)@#(host `hostname` | cut -d " " -f 4)'
|
set -g status-right '#[fg=white]#(hostname)@#(host `hostname` | cut -d " " -f 4)'
|
||||||
|
|
||||||
|
# SPOTIFY
|
||||||
|
|
||||||
|
unbind s
|
||||||
|
bind s run-shell '~/.tmux/spotify_tmux.sh'
|
||||||
|
bind + run-shell '~/.tmux/spotify_tmux.sh n'
|
||||||
|
|
||||||
# PLUGIN Management
|
# PLUGIN Management
|
||||||
|
|
||||||
@ -138,6 +142,7 @@ set -g @plugin 'tmux-plugins/tpm'
|
|||||||
set -g @plugin 'xamut/tmux-spotify
|
set -g @plugin 'xamut/tmux-spotify
|
||||||
run-shell "~/.tmux/plugins/tmux-spotify/tmux-spotify.tmux"
|
run-shell "~/.tmux/plugins/tmux-spotify/tmux-spotify.tmux"
|
||||||
|
|
||||||
|
|
||||||
# initialize tmux plugin manager (keep this line at the very bottom of tmux.conf)
|
# initialize tmux plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run '~/.tmux/plugins/tpm/tpm'
|
run '~/.tmux/plugins/tpm/tpm'
|
||||||
run-shell '~/.tmux/plugins/tpm/tpm'
|
run-shell '~/.tmux/plugins/tpm/tpm'
|
||||||
|
0
tmux/.tmux/0
Normal file
0
tmux/.tmux/0
Normal file
118
tmux/.tmux/spotify-tmux.sh
Executable file
118
tmux/.tmux/spotify-tmux.sh
Executable file
@ -0,0 +1,118 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#CURRENT_WINDOW=$(tmux display-message -p '#I')
|
||||||
|
#WINDOW=$(tmux display-message -p '#W')
|
||||||
|
TARGET_NAME='spotify'
|
||||||
|
TARGET_COMMAND='spotify_player'
|
||||||
|
LIMIT=1000
|
||||||
|
VOLUME=65
|
||||||
|
SPOTIFY_PID=0
|
||||||
|
|
||||||
|
POSITION=$(tmux list-windows | awk -v name="$TARGET_NAME" '$0 ~ name {print $1}' | awk -F: '{print $1}')
|
||||||
|
echo "setting VOlume"
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
check_deps() {
|
||||||
|
if $("which $TARGET_COMMAND" 2>/dev/null); then
|
||||||
|
if $(which tmux 2>/dev/null); then
|
||||||
|
echo 1
|
||||||
|
else
|
||||||
|
echo 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
display() {
|
||||||
|
echo "$1"
|
||||||
|
tmux display-message "$1"
|
||||||
|
}
|
||||||
|
check_running() {
|
||||||
|
local output
|
||||||
|
output=$("$TARGET_COMMAND" get key playback)
|
||||||
|
if [ "$output" = "null" ]; then
|
||||||
|
echo 0
|
||||||
|
else
|
||||||
|
echo 1
|
||||||
|
SPOTIFY_PID=$(pidof spotify_player)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_volume() {
|
||||||
|
local volume
|
||||||
|
volume=$("$TARGET_COMMAND" get key playback 2>/dev/null | jq -r '.device.volume_percent')
|
||||||
|
if test -n "$volume"; then
|
||||||
|
echo $volume
|
||||||
|
else
|
||||||
|
display "Spotify Not Running"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set_volume() {
|
||||||
|
local volume
|
||||||
|
volume=get_volume
|
||||||
|
if "$volume" != "$VOLUME"; then
|
||||||
|
$TARGET_COMMAND playback volume $VOLUME
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_deps
|
||||||
|
check_running >/dev/null
|
||||||
|
if [ "$#" -lt 1 ]; then
|
||||||
|
if [ $SPOTIFY_PID != 0 ]; then
|
||||||
|
display "Spotify Already Running"
|
||||||
|
exit 12
|
||||||
|
fi
|
||||||
|
if [ -n "$POSITION" ] && [ "$POSITION" -ne 1 ]; then
|
||||||
|
tmux swap-window -s $TARGET_NAME -t 1
|
||||||
|
elif
|
||||||
|
[ -n "$POSITION" ] && [ "$POSITION" -eq 1 ]
|
||||||
|
then
|
||||||
|
tmux select-window -t $TARGET_NAME
|
||||||
|
else
|
||||||
|
display "Starting Spotify"
|
||||||
|
tmux new-window -n $TARGET_NAME $TARGET_COMMAND &&
|
||||||
|
tmux swap-window -s $TARGET_NAME -t 1
|
||||||
|
display "Window Ready"
|
||||||
|
echo check_running
|
||||||
|
until [ "$(check_running)" = "1" ]; do
|
||||||
|
display "Waiting for Spotify"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
display "Starting Liked Playlist"
|
||||||
|
$TARGET_COMMAND playback start liked -r --limit=$LIMIT
|
||||||
|
until [ "$(get_volume)" != "Spotify Not Running" ]; do
|
||||||
|
display "Checking Initial Volume"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
display "Checking Volume"
|
||||||
|
current_volume="$(get_volume)"
|
||||||
|
if [ "$current_volume" != "$VOLUME" ]; then
|
||||||
|
display $current_volume
|
||||||
|
$($TARGET_COMMAND playback volume $VOLUME)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$(check_running)" = "0" ]; then
|
||||||
|
display "Spotify Is Not Running"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
case "$1" in
|
||||||
|
n)
|
||||||
|
$TARGET_COMMAND playback next
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
$TARGET_COMMAND playback previous
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
$TARGET_COMMAND playback play-pause
|
||||||
|
;;
|
||||||
|
v)
|
||||||
|
$TARGET_COMMAND playback volume $VOLUME
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 [n|p|s]"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user