Game "Axel Pong" added.
This commit is contained in:
4
.install/Axel Pong.sh
Normal file
4
.install/Axel Pong.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
download "https://axelek.pl/index/axel_pong.7z"
|
||||||
|
install_wine_bottle
|
||||||
|
install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Axel Pong" "${cache}/axel_pong.7z"
|
||||||
|
add_launcher "c:\Program Files\Axel Pong\axel_pong.exe"
|
||||||
@@ -343,6 +343,9 @@ custom_launch_parameters() {
|
|||||||
if [[ "${game[2]}" == "Road to Rage" ]]; then
|
if [[ "${game[2]}" == "Road to Rage" ]]; then
|
||||||
"${scriptDir}/speech/speak_window_title.sh" trtr.exe &
|
"${scriptDir}/speech/speak_window_title.sh" trtr.exe &
|
||||||
fi
|
fi
|
||||||
|
if [[ "${game[2]}" == "Axel Pong" ]]; then
|
||||||
|
"${scriptDir}/speech/speak_window_title.sh" axel_pong.exe &
|
||||||
|
fi
|
||||||
if [[ "${game[2]}" == "Sequence Storm" ]]; then
|
if [[ "${game[2]}" == "Sequence Storm" ]]; then
|
||||||
"${scriptDir}/speech/clipboard_reader.sh" SequenceStorm &
|
"${scriptDir}/speech/clipboard_reader.sh" SequenceStorm &
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,28 +1,49 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Adapted from the bash snippet found at:
|
# Adapted from the bash snippet found at:
|
||||||
# https://bbs.archlinux.org/viewtopic.php?id=117031
|
# https://bbs.archlinux.org/viewtopic.php?id=117031
|
||||||
|
|
||||||
|
# Get window title, handling Wine virtual desktop child windows
|
||||||
|
get_window_title() {
|
||||||
|
local exeName="$1"
|
||||||
|
local wndFocus wndTitle
|
||||||
|
|
||||||
|
wndFocus=$(xdotool getwindowfocus)
|
||||||
|
wndTitle=$(xprop -id "$wndFocus" WM_NAME 2>/dev/null)
|
||||||
|
|
||||||
|
# Check if we're focused on Wine Desktop
|
||||||
|
if [[ "$wndTitle" == *"Wine Desktop"* ]]; then
|
||||||
|
# Look for child window belonging to our executable
|
||||||
|
wndTitle=$(xwininfo -tree -root 2>/dev/null | grep -i "\"$exeName\"" | head -1)
|
||||||
|
# Extract the window title from xwininfo output (format: 0xID "Title": ("class" "class"))
|
||||||
|
if [[ "$wndTitle" =~ \"([^\"]+)\":\ \(\"$exeName\" ]]; then
|
||||||
|
echo "${BASH_REMATCH[1]}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Standard case - extract title from xprop output
|
||||||
|
if [[ "$wndTitle" =~ \"(.*)\" ]]; then
|
||||||
|
echo "${BASH_REMATCH[1]}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Wait for the application to start
|
# Wait for the application to start
|
||||||
while ! pgrep -u "$USER" ^$1 &> /dev/null ; do
|
while ! pgrep -u "$USER" "^$1" &> /dev/null ; do
|
||||||
sleep 0.05
|
sleep 0.05
|
||||||
done
|
done
|
||||||
|
|
||||||
# Read so long as the application is running
|
# Read so long as the application is running
|
||||||
while pgrep -u "$USER" ^$1 &> /dev/null ; do
|
while pgrep -u "$USER" "^$1" &> /dev/null ; do
|
||||||
sleep 0.05
|
sleep 0.05
|
||||||
if [[ -f ~/.agmsilent ]]; then
|
if [[ -f ~/.agmsilent ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
wnd_focus=$(xdotool getwindowfocus)
|
|
||||||
wnd_title=$(xprop -id $wnd_focus WM_NAME)
|
wndTitle=$(get_window_title "$1")
|
||||||
lookfor='"(.*)"'
|
|
||||||
|
if [[ -n "$wndTitle" ]] && [[ "$oldTitle" != "$wndTitle" ]]; then
|
||||||
if [[ "$wnd_title" =~ $lookfor ]]; then
|
spd-say -- "$wndTitle"
|
||||||
wnd_title=${BASH_REMATCH[1]}
|
oldTitle="$wndTitle"
|
||||||
if [[ "$oldTitle" != "$wnd_title" ]]; then
|
|
||||||
spd-say -- "$wnd_title"
|
|
||||||
oldTitle="$wnd_title"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user