This repository has been archived by the owner on Dec 29, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 221
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:srevinsaju/guiscrcpy into master
- Loading branch information
Showing
2 changed files
with
83 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,7 +16,7 @@ on: | |
jobs: | ||
quality: | ||
|
||
runs-on: ubuntu-latest | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v1 | ||
|
@@ -35,7 +35,37 @@ jobs: | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | ||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | ||
flake8 | ||
- name: Done | ||
run: | | ||
echo Done | ||
- name: Test setup.py | ||
run: | | ||
pip3 install . | ||
- name: Install Destop Environment | ||
run: | | ||
echo "adapted from https://github.com/AppImage/appimage.github.io/blob/master/.travis.yml" | ||
sudo apt-get update | ||
sudo apt-get -qq -y install imagemagick libasound2-dev pulseaudio-utils alsa-utils alsa-oss libjack0 desktop-file-utils xmlstarlet xterm xvfb icewm x11-utils x11-apps netpbm xdotool libgl1-mesa-dri libgl1-mesa-dev mesa-utils libosmesa6 libsdl1.2-dev fonts-wqy-microhei libfile-mimeinfo-perl libx11-xcb1 libxcb-xkb1 libxcb-* libxcb-render-util0 libxkbcommon-x11-0 libxkbcommon0 scrcpy> /dev/null # appstream # TODO: Cache me! | ||
mkdir $HOME/.icewm/ | ||
echo "ShowTaskBar = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarAutoHide = 1" > $HOME/.icewm/preferences | ||
echo "TaskBarShowWorkspaces = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarShowAllWindows = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarShowClock = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarShowMailboxStatus = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarShowCPUStatus = 0" > $HOME/.icewm/preferences | ||
echo "TaskBarShowWindowListMenu = 0" > $HOME/.icewm/preferences | ||
- name: Run headless test | ||
run: | | ||
chmod +x scripts/display-ci.sh | ||
/usr/bin/xvfb-run --auto-servernum ./scripts/display-ci.sh | ||
- name: Upload artifact | ||
uses: actions/[email protected] | ||
with: | ||
name: guiscrcpy-screenshot.png | ||
path: screenshot.png | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#!/bin/bash | ||
|
||
echo $DISPLAY | ||
sleep 1 | ||
export QT_DEBUG_PLUGINS=1 | ||
guiscrcpy & | ||
APID=$! | ||
sleep 10 | ||
xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | ||
# Count the windows on screen | ||
NUMBER_OF_WINDOWS=$(xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | wc -l) | ||
echo "NUMBER_OF_WINDOWS: $NUMBER_OF_WINDOWS" | ||
if [ $(($NUMBER_OF_WINDOWS)) -lt 1 ] ; then | ||
echo "ERROR: Could not find a single window on screen :-(" | ||
fi | ||
|
||
# Works with Xvfb but cannot select window by ID | ||
# sudo apt-get -y install scrot | ||
# scrot -b 'screenshot_$wx$h.jpg' # -u gives "X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)" | ||
# mv screenshot_* database/$INPUTBASENAME/ | ||
|
||
# Getting the active window seems to require a window manager | ||
icewm & | ||
sleep 2 | ||
|
||
# We could simulate X11 keyboard/mouse input with xdotool here if needed; | ||
# of course this should not be hardcoded here (this is just an example) | ||
if [ x"$INPUTBASENAME" == xVLC ] ; then | ||
xdotool sleep 0.1 key Return # Click away the data protection window | ||
xdotool sleep 0.1 key shift+F1 # Open the about screen | ||
sleep 1 | ||
fi | ||
if [ x"$INPUTBASENAME" == xSubsurface ] ; then | ||
xdotool sleep 0.1 key Escape # Click away the update check window | ||
sleep 1 | ||
# Get a list of open windows | ||
xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | ||
fi | ||
|
||
# Works with Xvfb | ||
# sudo apt-get -y install x11-apps netpbm xdotool # We do this in .travis.yml | ||
# xwd -id $(xdotool getactivewindow) -silent | xwdtopnm | pnmtojpeg > database/$INPUTBASENAME/screenshot.jpg && echo "Snap!" | ||
mkdir -p database/$INPUTBASENAME/ | ||
# xwd -id $(xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | head -n 1 | cut -d " " -f 1) -silent | xwdtopnm | pnmtojpeg > database/$INPUTBASENAME/screenshot.jpg && echo "Snap!" | ||
# xwd -id $(xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | head -n 1 | cut -d " " -f 1) -silent | xwdtopnm | pnmtopng > database/$INPUTBASENAME/screenshot.png && echo "Snap!" | ||
convert x:$(xwininfo -tree -root | grep 0x | grep '": ("' | sed -e 's/^[[:space:]]*//' | head -n 1 | cut -d " " -f 1) screenshot.png && echo "Snap!" | ||
|
||
kill $APID && printf "\n\n\n* * * SUCCESS :-) * * *\n\n\n" || exit 1 | ||
killall icewm |