Replies: 1 comment
-
Hi @vdobrov42 I agree with you about checking the requirements and displaying a nice user-friendly message instead of Python stack trace: #187 is now created The Ethernet/Wi-Fi solution is not great indeed, because as you have seen some theme use the Wi-Fi metrics, some the Ethernet metrics and some use both... And some desktop computers also have 2 Ethernet connections but no Wi-Fi! Maybe the best solution for every computers would be something like "Main network interface" / "Secondary network interface", then ensure that all themes would at least use the main interface As for the packaging, this is also a great idea! The theme files would also be needed, so maybe the .exe would have to be zipped with the config file and theme files. The downside is that the releases would become platform-specific (one for Windows, one for Linux&MacOS). I also had the idea to create an installer in #116 and maybe an associated update mechanism. FYI on this project there are already some pipeline "Action" with Github CI, that test the software for every merge, create automatic theme screenshots, check for dependencies versions... feel free to have a look: https://github.com/mathoudebine/turing-smart-screen-python/actions the code of the actions is in the repository: https://github.com/mathoudebine/turing-smart-screen-python/tree/main/.github/workflows Don't hesitate to open PR if you want to contribute! |
Beta Was this translation helpful? Give feedback.
-
Howdy!
I would like to thank you for continued support of this utility. I was surprised to find such well managed repo after having to reinstall Windows and then having need to find utility that supported these 3.5 inch screens. That latest update definitely brought some quality of life updates, such as auto shut off on system shutdown and automated adjustment of internet speeds from bites to kilobytes and so on.
A couple of things that stood out to me after pulling the latest, however. I didn't realize that I needed to re-run requirements via 'python3 -m pip install -r requirements.txt' because a new library was introduced (babel~=2.11.0). So my local repo was failing to run because of a missing package. What do you think about adding a check for required packages and error'ing out when packages are missing? I mean, I did get the run time error, but it's not as user friendly.
And another thing I've noticed that has to do with network source identification. I've been using the screen in landscape mode with 'LandscapeMagicBlue' theme. My machine is connected via Wi-Fi (not what I would prefer, but that's what I can get right now :) Anyways, after setting config.yaml to 'Wi-Fi', the theme didn't display anything. I thought I had to specify the full network adapter name, but no, it's just the theme by default was looking for ETHernet connection.
NET: INTERVAL: 1 ETH:
In the theme.yaml, I had to switch ETH to WLO, and that did the trick. I then continued looking at where these values were coming from and found they were coming from
class Net:
from stats.py, and I think this code can potentially be abstracted to process either ETH or WLO depending on the values specified in the config. Otherwise stats code looks identical between ETH and WLO. I can see the sensor values being passed through to the Net classsensors.Net.stats(network_type, interval)
And then I continued thinking what else could help make this user friendly. Packaging this into exe! This could possibly be done via pyinstaller or py2exe. I've had success with pyinstaller in the past for example. But that would probably be dependent on having the config generated by the utility instead of being included. That's something I realized I had to revert before being able to pull the latest because the current implementation tracks config changes, and for average user that's another layer of complexity. And that made me think about setting up a jenkins pipeline to make development and releases easier... Anyways, I kind of went down the rabbit hole.
I really think this is one cool project, and props to you all for supporting it. Let me know what you think about these ideas. I would like to help and contribute.
Beta Was this translation helpful? Give feedback.
All reactions