Closed Thyrador closed 4 years ago
@Thyrador can you check if your configuration is saved with guiscrcpy from the pip package or the AppImage?
- After closing the gui, for some reason the settings won't stay. If I choose to change the bitrate, disable/enable toolbars or pass various arguments, it all will be lost after I restart the application.
this is possibly because you are running the snap. The pip package has all support for configuration management and saving them and restoring them on the next start.
- When having multiple scrcpy windows open, it gets hard to determine which toolbar is used for which window. If possible, they should get snapped to the scrcpy-window (will switching orientations be okay with it?)
I am not sure if I can snap a window to scrcpy's window. The code for scrcpy and guiscrcpy are completely different. scrcpy is written in c++, guiscrcpy is written in Python. guiscrcpy
was written so that I do not have to interfere with scrcpy's SDL window. If you want to use a snapped version, but might have a slower latency, then you would want to use @barry-ran 's QtScrcpy. guiscrcpy
and scrcpy
are running independant of each other; regardless they are in the same package.
The aim of guiscrcpy
was to not interfere with scrcpy
's amazing speed.
- Creating *.desktop-files from the settings: so you can easily create shortcuts to devices you frequently use.
Cool feature. Can you create another issue for this (3) so that I can reference it separately. I am interested in working on that :)
@Thyrador can you check if your configuration is saved with guiscrcpy from the pip package or the AppImage?
Neither of them will remember the settings.
I am not sure if I can snap a window to scrcpy's window. The code for scrcpy and guiscrcpy are completely different. scrcpy is written in c++, guiscrcpy is written in Python.
guiscrcpy
was written so that I do not have to interfere with scrcpy's SDL window. If you want to use a snapped version, but might have a slower latency, then you would want to use @barry-ran 's QtScrcpy.guiscrcpy
andscrcpy
are running independant of each other; regardless they are in the same package. The aim ofguiscrcpy
was to not interfere withscrcpy
's amazing speed.
Had looked into that and it's all in chinese. The only thing I am good at in chinese is loving the food :D But I had something similar in mind. If it is not possible, I'm fine with it.
Neither of them will remember the settings. That's odd. Something's gone wrong
Can you check if you have
~/.config
~/.config/guiscrcpy
~/.config/guiscrcpy/guiscrcpy.json
And then, can you copy paste the configuration json?
Had looked into that and it's all in chinese. The only thing I am good at in chinese is loving the food :D
Similar opinions :P
But I had something similar in mind. If it is not possible, I'm fine with it.
I will try
guiscrcpy.json:
{
"adb": "/usr/bin/adb",
"bitrate": 8000,
"cmx": "",
"dimension": null,
"dispRO": true,
"extra": "",
"fullscreen": false,
"paths": [
"bin",
"/usr/bin",
"~/.local/bin",
"~/bin",
"/usr/local/bin"
],
"scrcpy": "/usr/bin/scrcpy",
"scrcpy-server": null,
"swtouches": false
}
Not sure if it got installed with snap, AppImage or pip. but it's definitely there and I have access to it
@Thyrador can you change the bitrate, execute start scrcpy
and then close guiscrcpy
; send me the copy of the json, and then check if the settings are updated?
Not sure if it got installed with snap, AppImage or pip. but it's definitely there and I have access to it
All of them should respect the same
{
"adb": "/usr/bin/adb",
"bitrate": 8000,
"cmx": "",
"dimension": null,
"dispRO": true,
"extra": "",
"fullscreen": false,
"paths": [
"bin",
"/usr/bin",
"~/.local/bin",
"~/bin",
"/usr/local/bin"
],
"scrcpy": "/usr/bin/scrcpy",
"scrcpy-server": null,
"swtouches": false
}
Still the same, not getting updated.
Can you give me the output of
which guiscrcpy
/snap/bin/guiscrcpy
ok, now it makes sense
python3 -m guiscrcpy
Please retry with this https://github.com/srevinsaju/guiscrcpy/issues/112#issuecomment-622488817 and then let me know of the output changed
To make it work on the snap, you have to connect the home
socket, which I didn't mention in the docs (See #60)
sudo snap connect guiscrcpy:home
After deleting all of the guiscrcpy related files (and removing snap/python module) it somehow works. But only for the bitrate, it seems. Still won't remember which toolbars I don't want to show.
Yes, the toolbars are all enabled by default. If you prefer, I can save that also in v3.10?
That would be great. Also which custom command-line arguments you provided in the gui (if not already there). Thank you :)
I guess custom command line args are already there. You can open KSysGuard on Plasma, and then type scrcpy
in search box and then hover over scrcpy to see the full tooltip. Check if your commands are passed
Yes, you're right. Command-line options will be saved. Didn't checked that. Seem good so far:
Great! Looks good. thanks for testing guiscrcpy
No problem. Let me know if you need something else tested. and thank you for your kind and quick support :) Really appreciate it.
EDIT: feel free to close the issue, if you want.
I will close it after I update the snap
documentation
@Thyrador If you would like to have some more features, please let me know, It would help to make guiscrcpy
better :smile:
Well, yeah. There are 2 I am still thinking of. But not sure if possible or too much to ask. I wondered if it would be possible to have to have some sort of monitoring service (as tray notification) so you can check if your device(s) are still connected (device name, ip/usb, status color) -> really helpful with multiple devices if you can't grab them the moment you want to check.
Which ultimately results in some sort of real monitoring: having a ui where you can see which clients are available and quickly select and connect to them. Similar to how VMWare or Veyon works. Look at this example: Veyon preview
But that would be way too much to ask, I guess. I'm no ordinary user, as you can guess :P
@Thyrador can you check if your configuration is saved with guiscrcpy from the pip package or the AppImage?
Neither of them will remember the settings.
I am not sure if I can snap a window to scrcpy's window. The code for scrcpy and guiscrcpy are completely different. scrcpy is written in c++, guiscrcpy is written in Python.
guiscrcpy
was written so that I do not have to interfere with scrcpy's SDL window. If you want to use a snapped version, but might have a slower latency, then you would want to use @barry-ran 's QtScrcpy.guiscrcpy
andscrcpy
are running independant of each other; regardless they are in the same package. The aim ofguiscrcpy
was to not interfere withscrcpy
's amazing speed.Had looked into that and it's all in chinese. The only thing I am good at in chinese is loving the food :D But I had something similar in mind. If it is not possible, I'm fine with it.
What does all Chinese mean? Should readme and software interface be in English? I am also looking for foreign friends to help translate other documents, is anyone willing to help?
@barry-ran I guess you should have UI and Readme in English. Your project is cool; I will try to translate it to English.
@barry-ran I guess you should have UI and Readme in English. Your project is cool; I will try to translate it to English.
That's so grateful
What does all Chinese mean? Should readme and software interface be in English? I am also looking for foreign friends to help translate other documents, is anyone willing to help?
Hey @barry-ran . It just meant that your UI and documentation is in Chinese, so for people outside of your country it is not possible to understand it. If you will it open to the rest of the world is up to you, but it wouldn't be just me being grateful about it :) This requires the software to actually be at least in English. I'd be glad to help, but I don't understand Chinese at all, unfortunately. But if you or @srevinsaju get it translated to English, I'd be willing to help and translate it into German, if you want.
@Thyrador, In case you missed this: https://github.com/srevinsaju/guiscrcpy/issues/113#issuecomment-623262060
What does all Chinese mean? Should readme and software interface be in English? I am also looking for foreign friends to help translate other documents, is anyone willing to help?
Hey @barry-ran . It just meant that your UI and documentation is in Chinese, so for people outside of your country it is not possible to understand it. If you will it open to the rest of the world is up to you, but it wouldn't be just me being grateful about it :) This requires the software to actually be at least in English. I'd be glad to help, but I don't understand Chinese at all, unfortunately. But if you or @srevinsaju get it translated to English, I'd be willing to help and translate it into German, if you want.
Hey @Thyrador, QtScrcpy currently supports Chinese and English. English should be displayed on non-Chinese systems. Otherwise, this is a bug. Is the software ui in Chinese on your system?
@barry-ran I wanted to inform you; The #Build
link on your Readme is broken
I didn't @srevinsaju but thanks for reminding :D
Let me check again, @barry-ran
@barry-ran I wanted to inform you; The
#Build
link on your Readme is broken
Thanks a lot, there is indeed this problem, I will fix it
@barry-ran also detailed instructions would be good since and it is easy to compile does not tell how to build it :P
Tried meson and make, didn't get it to build.
@barry-ran also detailed instructions would be good since and it is easy to compile does not tell how to build it :P
Tried meson and make, didn't get it to build.
@Thyrador Are we seeing the same document?
@barry-ran Yes. But I struggle at 4. Compile and run
I'm not a Qt-developer, so I don't really know how to compile it. That's where instructions (like terminal commands you need to enter) would be helpful.
@barry-ran Yes. But I struggle at 4. Compile and run
I'm not a Qt-developer, so I don't really know how to compile it. That's where instructions (like terminal commands you need to enter) would be helpful.
@Thyrador You may not need to compile QtScrcpy yourself, you can download the executable file directly in Release. If you are interested in compilation, you can refer to github action
I should have stated that I am running linux here :D I'm on Kubuntu 20.04.
I should have stated that I am running linux here :D I'm on Kubuntu 20.04.
Sorry, it's really not very good to compile
So you advise to not use it on Ubuntu?
@Thyrador, what barry
might tell is that; Kubuntu has many other dependencies. A software you compile on Ubuntu is easy to run on any manylinux2014
platform. Ubuntu has the minimum dependencies; any extra dependency will require you to install them and compile them. Kubuntu based on Qt includes most of the Qt Dependency; which might create a conflict between QtScrcpy's and Kubuntu's libraries; This is a possible reason which I concur / to my knowledge.
Linux libraries are based on LDD library definition and symlinks. Even if you have a binary of the QtScrcpy module, the compiled executable might not find some libraries on your system, and later fail. This is the basis of AppImages / snap package. This can later cause segmentation faults and sigint
's; It is not possible to compile and patch all the libraries into a single linux
binary; because this might cause something in C++ called stack-smashing
@srevinsaju thanks for clarification. Since I am not a Qt developer I am not aware of these things but it makes sense. Maybe @barry-ran can provide at least a AppImage or Snap too?
Yes @Thyrador , many of the users are also not familiar with Qt on C++/Python; this is the possible reason I had to put a lot of effort into packaging guiscrcpy and making it available for other users and for a wider distribution.
See README.md for more information on the different modes of packaging / distribution
Wish I'd started with linux development instead of windows 10 years ago so I would understand more of it as I do now.
@Thyrador Same here; I started with windows too :wink:
Finally someone who understands why I hate windows so much, right? :D How long did it take for you to get where you are now? Any suggestions where to start and what I need? I mean I learned C# mostly by myself, but that took me quite a while (I made lots of mistakes but learned from them). Even though I like learning by myself, it would be convenient to have a good starting point and at least know what to do and to avoid.
@Thyrador
Finally someone who understands why I hate windows so much, right? :D
Yes; I feel quite relieved; and indeed happy that I started using Linux at least now (I started only a year ago)
How long did it take for you to get where you are now? Any suggestions where to start and what I need?
This project has been started because of some personal necessity. I had to view my online classes on an android phone; because I didn't have an ethernet connection; So I developed guiscrcpy
when I was in 10th grade (If I concur); And ever since then I have been working on this project; I started working on it from Windows (before, in my 10th grade); Now after one and a half year; I am on Linux; happier than ever (lol); Maybe Windows is not built for me; Windows is built for people with patience
I mean I learned C# mostly by myself, but that took me quite a while (I made lots of mistakes but learned from them).
Wow! Thats cool. I do not know C#; I tried learning that; But I did not understand pointers and all. If you are interested in sharing your C# knowledge to guiscrcpy; then we could make the toolkit buttons work faster;
Even though I like learning by myself, it would be convenient to have a good starting point and at least know what to do and to avoid.
Yes; I concur. I have the same opinion. The best way to start. is to get involved. To start from knowing nothing; to becoming a project board developer is to start from documentation. If you are interested in helping guiscrcpy's development; I would suggest you to look into #60; I am very poor in documentation; or help guiscrcpy
to be available in another language;
While doing the above; you will naturally learn the language and the project structure
scrcpy has a client that communicates the adb shell taps
are based on https://github.com/Genymobile/scrcpy/issues/231#issuecomment-414111753
This is the master brain of @rom1v. The problem is that; I have no knowledge of C# or C; which forces me to depend on adb
for the toolkit; If the C version of @rom1v's scrcpy fast input thingy is implemented in guiscrcpy; then it would make guiscrcpy
as good as scrcpy in speed; because it doesn't interfere with SDL
I have been looking for contributors and sponsors; No one yet: lol
@Thyrador Yes; I feel quite relieved; and indeed happy that I started using Linux at least now (I started only a year ago)
Haha, now I feel bad :D Switched over to Linux about 4 years ago and am happy about it. Still have to use Windows at work (virtual machine) so I still can develop. Really like Jetbrains Rider but converting some of the huge projects to .NET Core I am working on is not just time consuming but also such a pain in the ass.
This project has been started because of some personal necessity. I had to view my online classes on an android phone; because I didn't have an ethernet connection; So I developed
guiscrcpy
when I was in 10th grade (If I concur); And ever since then I have been working on this project; I started working on it from Windows (before, in my 10th grade); Now after one and a half year; I am on Linux; happier than ever (lol); Maybe Windows is not built for me; Windows is built for people with patience
Whew, now I feel old :D But I know what you mean. You need a lot of patience and acceptance for all of Windows' flaws. You can hear me constantly ranting about Windows at work, because Update broke something again, Windows messed up ACL/Permissions (AGAIN!), it decides to just hang all of a sudden and there's no error or something that would lead you to the issue. And guess what the suggestion from Windows support was? "Reinstall Windows". I fucking hate it. I absolutely can't stand it. I mean, that's not what I expect from an operating system. Just doing all over and over again, just because something doesn't work anymore. I mean Linux on the other hand can cause you nightmares too, tbh. But there wasn't a single instance where I couldn't solve a problem that occured. I broke my LUKS container the other day and damn that gave me a hell of a time. But I somehow managed it to get it working again (thanks Internet and weird, random guys!) so I didn't lose a damn thing in the end. Also what I really love about Linux is the fact that you can customize it in nearly every way so your productivity will be increased a lot. But not just that. I also like how well most of the integrations work, how theming works and most of all: tabbed views in my "explorer" (yeah, sorry Dolphin :D). I mean that is something Windows still didn't get to work until now. And they also dropped the development in the middle of testing. Using different workspaces are also a absolute mess on windows and looking for Explorer integrations for SFTP or stuff like that? Nuh-uh. So many things that are just there on Linux would improve Windows alot, if they'd ever decide to do it right or just implement it. And get rid of the abomination called permission management. I should stop here because I start ranting again :D
Wow! Thats cool. I do not know C#; I tried learning that; But I did not understand pointers and all. If you are interested in sharing your C# knowledge to guiscrcpy; then we could make the toolkit buttons work faster;
C#, not C++. C# makes use of the .NET framework so you need either wine to run it on Linux (would impact the performance I guess) or developing in .NET Core would require Mono (I'm at the beginning on learning how .NET Core works). Creating a gui (WPF) for Windows isn't much of a problem, though. If it is what you want. I am just preoccupied with lots of work, so I have to see how much time I can put into it, if neccessary.
Yes; I concur. I have the same opinion. The best way to start. is to get involved. To start from knowing nothing; to becoming a project board developer is to start from documentation. If you are interested in helping guiscrcpy's development; I would suggest you to look into #60; I am very poor in documentation; or help
guiscrcpy
to be available in another language;
Well, translating is the least problematic, I guess :D Helping with development is something I'm definitely interested in. Not just guiscrcpy. But it would be a good start (also started C# development with a simple launcher/updater for a private server for Aion, later some Java - but forgot most of it :D)
While doing the above; you will naturally learn the language and the project structure
Same with C#, Razor, HTML, CSS, JS, etc :D
scrcpy has a client that communicates the
adb shell taps
are based on Genymobile/scrcpy#231 (comment)This is the master brain of @rom1v. The problem is that; I have no knowledge of C# or C; which forces me to depend on
adb
for the toolkit; If the C version of @rom1v's scrcpy fast input thingy is implemented in guiscrcpy; then it would makeguiscrcpy
as good as scrcpy in speed; because it doesn't interfere with SDL
That sounds interesting. But there's quite a difference between C and C#. I mean I have created some scripts almost 15 years ago for a private server for Ragnarok online, which was entirely in C. But man, that was about 15 years ago :D
I have been looking for contributors and sponsors; No one yet: lol
It's because of what scrcpy actually is and that it isn't something that is widely used (most people just take their phone instead of mirroring it to the screen.
PS: Sorry for the delay; was having online classes during lockdown; l am in g now;
No need to apologize. Just don't make sure you won't miss your classes because you are excited or too busy answering my silly questions :D
@Thyrador
Really like Jetbrains Rider but converting some of the huge projects
I like the Jetbrains IDE; guiscrcpy is built completely on Jetbrains PyCharm; They might sponsor me a professional version of PyCharm because of guiscrcpy
Still have to use Windows at work (virtual machine) so I still can develop.
Have the same feeling; For every release of guiscrcpy
; I have to make sure everything works not only on Linux and Mac; but also on Windows; because most of my users are gamers; and all are mostly from Windows
But I know what you mean. You need a lot of patience and acceptance for all of Windows' flaws. You can hear me constantly ranting about Windows at work, because Update broke something again, Windows messed up ACL/Permissions (AGAIN!), it decides to just hang all of a sudden and there's no error or something that would lead you to the issue. And guess what the suggestion from Windows support was? "Reinstall Windows". I fucking hate it. I absolutely can't stand it. I mean, that's not what I expect from an operating system. Just doing all over and over again, just because something doesn't work anymore.
I had got tired of reinstalling Windows again and again; Windows systems don't last for long; I never had to reinstall Linux; because of the way it is. I still have to keep a VM for development purposes.
Also what I really love about Linux is the fact that you can customize it in nearly every way so your productivity will be increased a lot. But not just that. I also like how well most of the integrations work, how theming works and most of all: tabbed views in my "explorer" (yeah, sorry Dolphin :D).
Similar opinions; I am a KDE Plasma user too :wink:
C#, not C++. C# makes use of the .NET framework so you need either wine to run it on Linux (would impact the performance I guess) or developing in .NET Core would require Mono (I'm at the beginning on learning how .NET Core works). Creating a gui (WPF) for Windows isn't much of a problem, though. If it is what you want.
I did not know. thanks for that information; I thought C++ and C# are similar just like how C and GNU C++ are
I am just preoccupied with lots of work, so I have to see how much time I can put into it, if neccessary.
No worries; Its only if you have time; Everyone are busy
Well, translating is the least problematic, I guess :D Helping with development is something I'm definitely interested in. Not just guiscrcpy. But it would be a good start (also started C# development with a simple launcher/updater for a private server for Aion, later some Java - but forgot most of it :D)
Yes every open source development teaches us something. I work part time for a non-profit educational organization; I actually learnt how to manage things by working in an organization; Code must be readable; must have formatting; etc. And everyone have their opinions to put in; Some disagree; Some like it. I learnt Object Oriented Programming at the Google Code-In. You should look at release v1.11 of guiscrcpy
and compare it to 3.7. You will see how much I learnt.
Actually @rom1v has also helped me a lot. rom1v actually pointed out all of my mistakes, and helped me correct them. He was the first stargazer of the guiscrcpy
project. It was cool
That sounds interesting. But there's quite a difference between C and C#. I mean I have created some scripts almost 15 years ago for a private server for Ragnarok online, which was entirely in C. But man, that was about 15 years ago :D
Yes, its a quite while ago indeed. But thanks for helping make guiscrcpy
better. The last active issues were quite number of months ago; Thanks tbh
No need to apologize. Just don't make sure you won't miss your classes because you are excited or too busy answering my silly questions :D
Sure; Its fine :smile:
@Thyrador I like the Jetbrains IDE; guiscrcpy is built completely on Jetbrains PyCharm; They might sponsor me a professional version of PyCharm because of
guiscrcpy
Nice :) Hopefully they will sponsor you and the tools you need.
Have the same feeling; For every release of
guiscrcpy
; I have to make sure everything works not only on Linux and Mac; but also on Windows; because most of my users are gamers; and all are mostly from Windows
Well, I am a gamer too. There are a handful games I have to run on Windows (otherwise I can't play them or with friends). Other than that I use Linux for most of the games I play. Running them through Lutris and Proton works like a charm (most of the time :D)
I had got tired of reinstalling Windows again and again; Windows systems don't last for long; I never had to reinstall Linux; because of the way it is. I still have to keep a VM for development purposes.
Tbh. I had to reinstall Linux on a few occasions, but that was due to my own fault (completely messed up the system without making any backups). But that was in my experimental phase where I knew nothing :D
Similar opinions; I am a KDE Plasma user too wink Oh, so we're in the same boat. KDE Plasma here too :D
I did not know. thanks for that information; I thought C++ and C# are similar just like how C and GNU C++ are
Haha, I wish it would be that easy. They're worlds apart from each other.
No worries; Its only if you have time; Everyone are busy
Sure. If I can help, I'm glad if I can contribute something.
Yes every open source development teaches us something. I work part time for a non-profit educational organization; I actually learnt how to manage things by working in an organization; Code must be readable; must have formatting; etc. And everyone have their opinions to put in; Some disagree; Some like it. I learnt Object Oriented Programming at the Google Code-In. You should look at release v1.11 of
guiscrcpy
and compare it to 3.7. You will see how much I learnt. Actually @rom1v has also helped me a lot. rom1v actually pointed out all of my mistakes, and helped me correct them. He was the first stargazer of theguiscrcpy
project. It was cool
Yeah, I can imagine. Not sure how big my flaws are currently, but I sometimes look over some older code and think: "Who the fuck wrote that shit?" :laughing: We all do learn from our mistakes. Some make them quite often until they realize what they did wrong, some get pointed in the right direction. At the company I work for I now have to teach 2 youngsters how to properly code and develop applications. Me, of all people. I never got taught these things and am very bad at explaining things :laughing: At least a few of my recommendations weren't that bad, so it isn't all for nothing.
Yes, its a quite while ago indeed. But thanks for helping make
guiscrcpy
better. The last active issues were quite number of months ago; Thanks tbh
Well, you did the work. So thank you for it. I just waved my finger pointing at things I think could be better. :P
@Thyrador ping
1. After closing the gui, for some reason the settings won't stay. If I choose to change the bitrate, disable/enable toolbars or pass various arguments, it all will be lost after I restart the application.
2. When having multiple scrcpy windows open, it gets hard to determine which toolbar is used for which window. If possible, they should get snapped to the scrcpy-window (will switching orientations be okay with it?)
3. Creating *.desktop-files from the settings: so you can easily create shortcuts to devices you frequently use. This would be very convenient.