github srevinsaju/guiscrcpy v4.7.2

latest releases: continuous, v2023.1.1, v2022.7.1...
3 years ago

To receive a notification on new releases, click on Watch > Releases only on the top. ⭐️ My Repo too


v4.7

Interesting bug fixes, new features and better distribution. Hoping to reach 1k stargazers soon.

🌟 Highlights

You might be wondering why I took this long to release another version of guiscrcpy, or maybe, what happened to the previous releases? Here is the answer!

πŸ“³ New mapper!

The guiscrcpy mapper API got a cool upgrade. It was always very hard, to get mapper working on guiscrcpy, especially for people who are not used to the command line. guiscrcpy v4.5+ features a new mapper interface which allows you to configure and initialize the mapper directly from the GUI. This is experimental, but I hope that would work!

πŸ”„ Command line interface

guiscrcpy got a new command line interface. Built with the features of the famous python library, click, guiscrcpy now offers a flexible CLI for users, and it makes resetting the configuration files easier

You can now access the mapper by typing

guiscrcpy mapper

Or to see your configuration files?

guiscrcpy config

To view the help for each subcommand, you can just append –help to the command.

πŸ™‚ Better adb and scrcpy interfacing

It was very hard to synchronize the users version of adb to the adb packaged within, but now you can directly run adb or scrcpy using the command like

guiscrcpy adb

To get an interactive terminal on your device

guiscrcpy adb shell
guiscrcpy adb devices
guiscrcpy adb devices -- -l

Note, – between the devices and -l . This helps guiscrcpy to distinguish between its own commands to those of adb's

⬇️ AppImage (🐧)

guiscrcpy offers pre-built binaries (for those users who are not interested in installing Python, or for those users who do not have a package offered by their system, you can use this pre-built binaries.

If you already have zap, you can just do:

zap install guiscrcpy

We also provide Delta Updates (only download the parts which have been changed since the last release) by

zap update guiscrcpy

Or alternatively, just download the AppImage from the releases, give it +x execute permission, double click, and run!

Two types of AppImages are offered.

  • guiscrcpy*.r.*.AppImage
  • guiscrcpy-min-*.m.*.AppImage

The min appimage is a minimal guiscrcpy AppImage, which does not have scrcpy and adb bundled along with it. If you do need scrcpy, you might like to download the non-minimal (full) version

πŸ’» Better Qt support

Previously, we sticked onto PyQt5 a Python library which provides Qt Bindings in python. We have now moved to qtpy which helps you to decide if you would like to install PySide2 or PyQt5 . PyQt5 is less liberal (in terms of licensing) as compared to PySIde2. PySide2 comes from the Qt Company. For Windows, I have offered two versions, guiscrcpy.exe (PyQt5) and guiscrcpy-pyside2.exe (PySide2). Both of them are the base binaries of guiscrcpy (without scrcpy), but I wonder why the PyQt5 AppImage is bigger. If you do know, please let me know πŸ˜„

For Linux distributions, you are likely to have PySide2 on your distro. For Arch Linux, we have a PySide2 library which is smaller than the PyQt5 library, and you might be benefited by the low size. Some Linux distros, (normally KDE Plasma based distros) already have PySide2 pre-installed!

Safer Errors

guiscrcpy doesn't crash all of a sudden now. guiscrcpy now reports the error to you with the traceback. This helps to make debugging easier. Now it prints both to the stdout and shows the error in a dialog box

image

Commits

4f238f9 release: πŸŽ‰ Release v4.7.2
157d372 ci: fix release failed to generate
b903112 release: πŸŽ‰ Release v4.7.1
e0fa8e8 release: πŸŽ‰ Release v4.7.0
b838512 ci: Release guiscrcpy-min despite errors
0ffedb8 ci: Release guiscrcpy-min despite errors
6d1624b ci: Release minimal guiscrcpy without scrcpy
3feca65 ci: update release github action
ccf6038 ci: Use guiscrcpy_type for generate
f335c43 ci: update GLIBC version generator
3e42236 ci: improve the version in guiscrcpy appimage
4dd63de ci: add standalone guiscrcpy built on ubuntu:16.04
792da6f release: πŸŽ‰ Release v4.6.1
eaf869d Fix release ci
c70676b docs: Update appimage documentation on libva-drm2
bd0147c docs: Update appimage documentation
d34a4e1 release: πŸŽ‰ Release v4.6.0
1773a3b ci: echo git describe
e690302 ci: fix release failed to generate
6c93970 Automatically generate tags from build
1c05da2 Bump release to 4.5.0.post47.dev
92b5eaa cqa: flake8: F821 undefined name 'e'
8f36421 cqa: flake8
6b8ae93 Remove unused imports
7ffc2e8 Show safe tracebacks
dc943fb Require app instance of QtCore.Application
cdb224d Raise ScrcpyServerNotFoundError if scrcpy-server is not found
2c3ecb6 Add traceback management
5bf4216 Add helper function show_message_box for showing messages
b71be58 Add new imports for utils
34b6fe5 Use relative imports
2aea0bd Add new ScrcpyServerNotFoundError Exception
e57fbe6 fix: Fix scrcpy-server path being null if not set in config (Windows)
385047c fix: Add libxcb-xinerama0
f67075b fix: Do not prepend global LD_LIBRARY_PATH to scrcpy ld_lib
f450d49 fix: add LD_LIBRARY_PATH
17e4cbd fix: Fix path to scrcpy
79624cd Rewrite appimage CI for release
fb204bc fix: Path to LD_LIBRARY
eebb57e fix: cd .. once more on scrcpy executable
fe5a382 fix: Add scrcpy executable
6fd2bb0 fix: Fix libAppRun missing SYSTEM INTERP (2)
df60d61 fix: Fix libAppRun missing SYSTEM INTERP
2bc4743 Remove old AppImage CI
a8981b0 fix: Fix guiscrcpy not working on 'guiscrcpy config --reset'
c8f7f78 Do not bundle fontconfig and freetype
09affdc Conditionally load libcairo depending on fontconfig
cccda7d export LAND and LC_LOCAL
3e0e4e8 Attempt to fix libapprun hooks to load ld_linux and libc for scrcpy
9831d38 increment the LIBC version
de69746 Add APPIMAGE_EXTRACT_AND_RUN=1
64d1a1d Pack as appimage as multiple architectures as found
450fc62 ci: Add jq and curl as build time deps
952e0ce Fix path to pyappimage
80c89e8 ci: Add -y for apt
7ea9915 Force use PySide QtApi
1cf7f97 Update CI to build with pyappimage
c8f2ff9 Add env file for libapprun hooks
d6eff8e Update pyappimage conf to remove stdc++
45c856c feat: Add pyappimage
627331e Build uic and rcc using pyside2
8549c01 Fix KeyError if LD_LIBRARY_PATH is not defined
10d18b2 Fix scrcpy ldd paths to prevent stack smashing
f9f07b7 Add dummy scrcpy
cb66a3a Test appimage before release
81b9af2 Improve tests by allowing arg 1
efbb5b2 Update tests
a27b0dd Fix configuration break on guiscrcpy appimage due to caching of AppImage temp paths
dfee20b Merge branch 'master' of github.com:srevinsaju/guiscrcpy into master
5e7dcb6 Release v4.5.0
84bc54e Update pythonapp.yml (#168)
97be0b0 Update release.yml
ebfe441 Fix TypeError on Windows isinstance
cd8b17a Update launcher.py
9183933 Fix scrcpy-server path on Windows
a7313b9 Merge pull request #167 from srevinsaju/srevinsaju-patch-12
bb0596b flake: Remove trailing whitespace
c7629dc Fix TypeError on guiscrcpy launch (Windows)
27ea959 Fix logical error of scrcpy-server path not being saved to config
d2b7cdc Attempt to fix Windows binaries
e51069b Fix logical error if adb is not detected
8eb2a37 Add colorama
1f4b677 Add colorama
cf02306 Add click as dependency
a4850a6 Add click as dependency
ce2a58a Release v4.4.0 πŸŽ‰
9ac52c2 Merge branch 'master' of github.com:srevinsaju/guiscrcpy into master
f86335f Merge pull request #166 from srevinsaju/simplify_network_map
7d4a307 Merge pull request #165 from raman325/simplify_network_map
1bf26ff Add logging to terminal and change to relative imports
c977202 add logging to pass review
06d5f98 fix flake
d3393b0 simplify network mapper and only return IPs with port 5555 open
4bac79a Merge branch 'master' of github.com:srevinsaju/guiscrcpy into master
591f663 Add join chat badge for Discord
b02ed5a Add link to discord channel
213a7b5 Add guiscrcpy shell script
5ac8a8c Attempt to fix Windows CI PyInstaller
9b815e4 Fix guiscrcpy guiscrcpy.cli:cli on PyInstaller spec file for Windows
a8eeca0 Update setuptools
e9c2fb1 Fix CI add uses
8e6281c Update python to python3.8 on Windows CI
be70502 Add init.py
8ef238b πŸŽ‰ Release v4.3.0
574faa5 Merge pull request #162 from srevinsaju/fonttools
8a324c6 Fix font inconsitencies across UIs
849dc21 Prepare release 4.3
513c4b3 Remove PACKAGE_DATA
92c4039 Remove fonttools as dependency
a36dcde Do not install fonts to share/fonts
b558b50 Remove redundant package_dir specification
843de2f Fix exec error on using AppImages in directories containing spaces
de7bf21 Open Font Database and load fonts internally using Qt
0704e99 Bundle upstream Noto Sans fonts from Google
cdacd2e Remove redundant font installation on Windows
6813f47 Fix AttributeError on macOS
fa9469e Add a FONTS constant
c292539 Regenerate UI
7726025 Strictly use Noto Sans
6e36b25 Strictly use Noto Sans
26e060a Add fonts to qrc files
8d1d206 Update font tools and font references in ui files
ef7ebe9 Merge branch 'master' of ssh://github.com/srevinsaju/guiscrcpy into master
cc1e4fd Use scrcpy-appimage to build guiscrcpy appimage #161 from srevinsaju/appimage-build
2c8f183 Thin the appimage
cc05cc6 Fix URL to download scrcpy-appimage
4878b82 Fix path to AppDir -> squashfs-root
1bb58f3 Fix CI, invalid name -PySide2'
35acead Use scrcpy-appimage to build guiscrcpy appimage
52f5d79 Merge pull request #160 from srevinsaju/click
74d12ee Remove inline comment
a5f9f96 Flake8: fixes E501, W391, F841
ec6a660 Prepare release v4.2.0
00ddb7a Fix entrypoint
5133e54 bootstrap cli.py
a4d98c8 split start_act
01403d6 feat: Execute mapper from the GUI, experimental
d576c7d Set configuration adb and scrcpy from get_path method
9df1df2 Add a cancel button and map no button to quit window without saving
b77c0a3 stream scrcpy output to stdout and stderr
54a53d6 Add setitem and getitem method overrides
200ba11 update configuration tests to detect path of scrcpy and adb
489e21a add exception AdbRuntimeError
c293c89 Add exception AdbNotFoundError
c1cea8b Add exception class ScrcpyNotFoundError
b7f3a72 import shutil
c63925e Refactor adb to AndroidDebugBridge
9cc1de1 Rewrite scrcpy class and refactor scrcpy to ScrcpyBridge
e4fc529 Remove adb.path as parameter for adb proc
b0c0f62 Remove redundant adb import
1ff3f6c Remove adb.shell path parameter
30f9086 import QMessageBox
dd335b0 use relative imports
edb1851 Ask and show the mapped keys before Exit
53b7efa Use local attr as path to mapper json
158c7fd Do not use sys.argv
2c62436 Use local adb
2c5f62a Add support for non ASCII keys for mapper
b1f96d9 Remove the redundant stdin request to term
3a78d9b Set params as local attributes
f3cdcf7 Remove extra verbosity
d52c9c0 Fix typo in executing
030dd5b Remove param cfgpath
46be4fd Provide adb instance and configuration path from AsyncMapper to Mapper
f9a87c3 Remove mapper command line parser
42978db Use local adb
028bf6f explicitly raise AdbError when the adb shell dumpsys input failed
c6be09e Get dimension of device using local adb
ac9d844 Ask adb to wait for any device inside the class
44d9886 import AdbRuntimeError
59b8734 feat: Ask user if they really wants to setup Mapper interactively
cbce1fa Mapper add adb and config_path as params
85b7760 Remove mapper main
8e5b2e6 Remove greeting message on mapper init
f647ade Remove redundant imports
59ebcea Add a better _representation for guiscrcpyConfig with filepath to config
a564bef Provide mapper_configuration_path
0231ee5 Add get_self import
49e2e25 import subprocess
08ceef6 Fix indendentation
7ab6012 Add helper function to get_self PATH
e912daf Add helper function to format_string with ASCII colors
62da248 import sys and shutil
33c58fa Add colors from colorama.FORE
a40aedc Modify entrypoint
75b4baa Use relative imports in toolkit.py
6653988 Require adb instance instead of path
8e6292d Add repr GuiscrcpyConfig Interface
909b6c9 Add scrcpy.svg
b6842ed Add click
648abc5 Port to relative imports
3414a9d Update release.yml
dd0cd49 πŸŽ‰ Release v4.1.2
3572c7e πŸŽ‰ Release v4.1.1
5d3147a πŸŽ‰ Release v4.1 stable
23b1c07 πŸŽ‰ Release v4.0 stable
f806fc1 Merge branch 'master' of ssh://github.com/srevinsaju/guiscrcpy into master
4c5b349 chore: update UI files
43f0532 Update INSTALL.md
a16f30f Update README.md
790dd5d πŸŽ‰ Release v4.0 stable
c2ddaf9 feat: Fix ambiguous error message on special keys.
4bcd6fa Add credits to snapcraft sisco311
5cbb08b Add IsADirectory to exception list
ecc0b82 Bump version of scrcpy to v1.15.1
b355c2a Update snapcraft.yaml
0373528 Merge pull request #138 from srevinsaju/beta-qtpy
19a5a0c Fix line length on setup.py
c2be6ad Fix line length on releaser
6a6df08 Add release CI
87247f3 Fix sed expression on patching requirements and setup.py
c2031c1 βš™οΈ Update CI to create PySide2 builds
3d42e3e βš™οΈ Flake8 fixes
78e23ba πŸŽ‰ Add landscape support for the mapper
2e617b2 Return Popen object instead of bool True
2e112f1 Do not ask for device-id if only one device is found
f509b63 βš™οΈ Flake8 fixes
191f706 Include qtpy as necessary dependency
663d1a0 Always read_configuration for mapper before initialization
284ee0e noqa: E501 ignore line length in setup.py
91fec6e πŸŽ‰ Almost ready to release 4.0.a4
13cd388 βš™οΈ Flake8 fixes
a70f638 βš™οΈ Add newline to end of version.py
82d5fbe βš™οΈ Flake8 fixes
93c7b4e Update version
29a7dc2 Update version
b292572 Update Mapper to Object Oriented
35de535 Update README.md
ba22096 Automate wheel build
17df62e Update README.md
1e838b9 βš™οΈ flake8: E501 Line too long
c1e22e9 βš™οΈ flake8
c64a170 fix line length
c0a9a67 connect initmapnow, refactor button name
26062f0 Announce to user when mapper has launched
2b7ee7e Add a friendly message to help initializing mapper
9beecb8 Conver bootstrap_mapper to class method and not staticmethod
2a7bb61 Do not initialize QtCore Application twice if another instance is already running
2b62b90 Add mapper key by default in 'defualt config'
d49684f Include new mapper icons in resource
7f65cf3 Update User Interface (pyside2 + pyqt5)
c43ea3d Add mapper icons
cb40172 port mapper to qtpy"
e59204f Add ui/pyqt5 and ui/pyside2 to python package
e189a39 Update PySide2 UI for Qt5.15
595fb64 Update UI to PyQt5 5.15 uic gen
b3349e4 πŸŽ‰ Prepare release v4.0.aplha1
60d4c9a Fix qtpy binding for pointSize
773839b Merge branch 'master' into beta-qtpy
378f2c1 Add some more types to gitignore
424538c πŸŽ‰ Release 3.9.3
8383dba Merge branch 'master' into beta-qtpy
eb43d4a Announce to users the connection of a new device #142
bc4793d Ignore Pipfile.lock
dcfce4d Move GitPython as dev-package
a3716df πŸŽ‰ Bump version of PyQt5 to 5.15
8117fb4 add cairosvg as requirements
0592a59 fix imports on Panel imports
0533830 Fix imports on network manager
64fdd70 Port to qtpy (initializer, deprecated)
7a69964 Rename duplicate Ui_MainWindow (settings) to Ui_SettingsWindow
c4ba003 Depend on environment vars or PySide2 api detection
d2edc2b add conditional pyqt5 / pyside2 api use
8aae3aa Do not check flake8 on ux.init
aa8f68e Add copyright to ux init
60b549a Port PyQt5 to qtpy (swipe)
b6296f3 Fix recursive object init
dddaaf0 Remove old UI before qtpy port
18ecab2 Update UI / Fix PySide2 ui gen bug
942f7b8 Fix imports of Toolbar in toolkit
0fc52bd Port PyQt5 to qtpy Toolkit
7e2d11e Fix imports of Ui_MainWindow
798d653 Port finder to qtpy
a5ff538 Update README
bdc5779 Update docs/README.md
2266b3d Add newline at end of README.md
7156aca Add makefile pyside2 compatible file ui gen
ec135da Port PyQt5 to qtpy
2605c5c update pipfile deps

If you like guiscrcpy, support guiscrcpy

Support / Donate / Share
coded with ❀️ by a @srevinsaju

Don't miss a new guiscrcpy release

NewReleases is sending notifications on new releases.