mirror of
https://github.com/aclist/dztui.git
synced 2024-12-29 13:52:03 +01:00
Add watcher process
This commit is contained in:
parent
8c7ab958a5
commit
98f2e7e809
1 changed files with 68 additions and 43 deletions
111
dzgui.sh
111
dzgui.sh
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o pipefail
|
||||
version=2.8.0-rc.17
|
||||
version=2.8.0-rc.18
|
||||
|
||||
aid=221100
|
||||
game="dayz"
|
||||
|
@ -344,21 +344,21 @@ open_mod_links(){
|
|||
browser "$link_file" 2>/dev/null &
|
||||
|
||||
}
|
||||
steam_deck_mods(){
|
||||
until [[ -z $diff ]]; do
|
||||
next=$(echo -e "$diff" | head -n1)
|
||||
zenity --question --ok-label="Open" --cancel-label="Cancel" --title="DZGUI" --text="Missing mods. Click [Open] to open mod $next in Steam Workshop and subscribe to it by clicking the green Subscribe button. After the mod is downloaded, return to this menu to continue validation." --width=500 2>/dev/null
|
||||
rc=$?
|
||||
if [[ $rc -eq 0 ]]; then
|
||||
echo "[DZGUI] Opening ${workshop}$next"
|
||||
steam steam://url/CommunityFilePage/$next 2>/dev/null &
|
||||
zenity --info --title="DZGUI" --ok-label="Next" --text="Click [Next] to continue mod check." --width=500 2>/dev/null
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
compare
|
||||
done
|
||||
}
|
||||
#steam_deck_mods(){
|
||||
# until [[ -z $diff ]]; do
|
||||
# next=$(echo -e "$diff" | head -n1)
|
||||
# zenity --question --ok-label="Open" --cancel-label="Cancel" --title="DZGUI" --text="Missing mods. Click [Open] to open mod $next in Steam Workshop and subscribe to it by clicking the green Subscribe button. After the mod is downloaded, return to this menu to continue validation." --width=500 2>/dev/null
|
||||
# rc=$?
|
||||
# if [[ $rc -eq 0 ]]; then
|
||||
# echo "[DZGUI] Opening ${workshop}$next"
|
||||
# steam steam://url/CommunityFilePage/$next 2>/dev/null &
|
||||
# zenity --info --title="DZGUI" --ok-label="Next" --text="Click [Next] to continue mod check." --width=500 2>/dev/null
|
||||
# else
|
||||
# return 1
|
||||
# fi
|
||||
# compare
|
||||
# done
|
||||
#}
|
||||
set_term(){
|
||||
local term="$1"
|
||||
local tterm="term=\"$term\""
|
||||
|
@ -405,8 +405,6 @@ auto_mod_install(){
|
|||
echo "[DZGUI] Kicking off auto mod script"
|
||||
calc_mod_sizes
|
||||
term_params "$cmd"
|
||||
#$term -e bash -c "/$helpers_path/scmd.sh $totalmodsize $cmd"
|
||||
# $term -e "bash $helpers_path/scmd.sh $totalmodsize $cmd"
|
||||
compare
|
||||
if [[ -z $diff ]]; then
|
||||
passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
|
||||
|
@ -417,36 +415,63 @@ auto_mod_install(){
|
|||
fi
|
||||
}
|
||||
manual_mod_install(){
|
||||
l=0
|
||||
# for i in "$diff"; do
|
||||
# workshop_dir="$steam_path/steamapps/workshop/content/$aid"
|
||||
# steam "steam://url/CommunityFilePage/$i"
|
||||
# until [[ -d $workshop_dir/$i ]]; do
|
||||
# sleep 0.1s
|
||||
# done
|
||||
# done
|
||||
# compare
|
||||
# [[ -z $diff ]] && passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
|
||||
|
||||
if [[ $is_steam_deck -eq 0 ]]; then
|
||||
open_mod_links
|
||||
until [[ -z $diff ]]; do
|
||||
zenity --question --title="DZGUI" --ok-label="Next" --cancel-label="Cancel" --text="Opened mod links in browser.\nClick [Next] when all mods have been subscribed to.\nThis dialog may reappear if clicking [Next] too soon\nbefore mods are synchronized in the background." --width=500 2>/dev/null
|
||||
rc=$?
|
||||
if [[ $rc -eq 0 ]]; then
|
||||
compare
|
||||
open_mod_links
|
||||
else
|
||||
return
|
||||
local ex="/tmp/dzc.tmp"
|
||||
[[ -f $ex ]] && rm $ex
|
||||
watcher(){
|
||||
readarray -t stage_mods <<< "$diff"
|
||||
for((i=0;i<${#stage_mods[@]};i++)); do
|
||||
[[ -f $ex ]] && return 1
|
||||
local downloads_dir="$steam_path/steamapps/workshop/downloads/$aid"
|
||||
local workshop_dir="$steam_path/steamapps/workshop/content/$aid"
|
||||
steam "steam://url/CommunityFilePage/${stage_mods[$i]}"
|
||||
echo "# Opening workshop page for ${stage_mods[$i]}. If you see no progress after subscribing, try unsubscribing and resubscribing again until the download commences."
|
||||
sleep 1s
|
||||
wmctrl -a "DZG Watcher"
|
||||
until [[ -d $downloads_dir/${stage_mods[$i]} ]]; do
|
||||
[[ -f $ex ]] && return 1
|
||||
sleep 0.1s
|
||||
if [[ -d $workshop_dir/${stage_mods[$i]} ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
wmctrl -a "DZG Watcher"
|
||||
echo "# Steam is downloading ${stage_mods[$i]} (mod $((i+1)) of ${#stage_mods[@]})"
|
||||
until [[ -d $workshop_dir/${stage_mods[$i]} ]]; do
|
||||
[[ -f $ex ]] && return 1
|
||||
sleep 0.1s
|
||||
done
|
||||
wmctrl -a "DZG Watcher"
|
||||
echo "# ${stage_mods[$i]} moved to mods dir"
|
||||
done
|
||||
echo "100"
|
||||
}
|
||||
watcher > >(zenity --pulsate --progress --auto-close --title="DZG Watcher" --width=500 2>/dev/null; rc=$?; [[ $rc -eq 1 ]] && touch $ex)
|
||||
compare
|
||||
if [[ -z $diff ]]; then
|
||||
passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
|
||||
launch
|
||||
else
|
||||
steam_deck_mods
|
||||
rc=$?
|
||||
[[ $rc -eq 1 ]] && return 1
|
||||
return 1
|
||||
fi
|
||||
passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
|
||||
}
|
||||
# if [[ $is_steam_deck -eq 0 ]]; then
|
||||
# open_mod_links
|
||||
# until [[ -z $diff ]]; do
|
||||
# zenity --question --title="DZGUI" --ok-label="Next" --cancel-label="Cancel" --text="Opened mod links in browser.\nClick [Next] when all mods have been subscribed to.\nThis dialog may reappear if clicking [Next] too soon\nbefore mods are synchronized in the background." --width=500 2>/dev/null
|
||||
# rc=$?
|
||||
# if [[ $rc -eq 0 ]]; then
|
||||
# compare
|
||||
# open_mod_links
|
||||
# else
|
||||
# return
|
||||
# fi
|
||||
# done
|
||||
# else
|
||||
# steam_deck_mods
|
||||
# rc=$?
|
||||
# [[ $rc -eq 1 ]] && return 1
|
||||
# fi
|
||||
# passed_mod_check > >(zenity --pulsate --progress --auto-close --width=500 2>/dev/null)
|
||||
encode(){
|
||||
echo "$1" | md5sum | cut -c -8
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue