alfredosequeida / venus Goto Github PK
View Code? Open in Web Editor NEWVenus aims to be a cross-platform tool to automatically change your desktop wallpaper to something random using images from Unsplash.
License: MIT License
Venus aims to be a cross-platform tool to automatically change your desktop wallpaper to something random using images from Unsplash.
License: MIT License
I was running some tests and at some point I got a malformatted image from unsplash. I don't know exactly how that happened, but it completely broke my dock, prevented me from changing wallpapers and even using shortcuts such as cmd+tab. (I'm on MacOS).
I found a solution for fixing my computer, but I'm wondering whether there should be some kind of file validation to make sure that the image is valid and that it can be safely used as a wallpaper.
I will try to provide more details If I happen to stumble on this problem again in the future.
Is there / can there be a way to save the images permanently to a selected directory instead of storing as temporary files?
As a flag or configuration option.
I have not tried and use your application yet so forgive me if this feature already exists.
The .gif
alone is 16.9 MB in size. Outsourcing it to some other host would make the repository significantly smaller in size.
It hasn't been working for the last couple of weeks on my bspwm set up. This is what I get.
➜ ~ venus
Traceback (most recent call last):
File "/usr/bin/venus", line 6, in
from pkg_resources import load_entry_point
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 3252, in
def _initialize_master_working_set():
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 3235, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 3264, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 583, in _build_master
ws.require(requires)
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3.8/site-packages/pkg_resources/init.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'venuspy==1.0.1' distribution was not found and is required by the application
Hello,
First of all, thanks for this amazing tool.
I wonder if it's possible to support Unsplash collections since the wallpapers curated there are prettier and of a better quality.
I could see an API available for it: https://unsplash.com/documentation#get-a-collections-photos, I haven't looked through the code, but I guess it would be just a matter of an addition to the configuration file.
Cheers
I had to add the following lines in the source to make it work on freebsd12:
elif 'freebsd12' in platform: from venus.os_tools import linux as system
from there I just had to install the py36-dbus and feh packages, and enable dbus in the system config, and it works now
I did a little testing on windows 10. First thing I had to do was copy over the os_tools into the sitepackages directory after pip install.
After running venus it successfully removed the background but didn't set a new one. Hope that info helps working towards windows 10 usage.
On Windows 11 it hangs when running in the cli or using the Config wait setting.
Python 3.12 installed
Tried running multiple ways and always have to Ctrl+C to cancel since it's stuck for a long time.
C:\Users\joao>py -m venus
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\joao\AppData\Local\Programs\Python\Python312\Lib\site-packages\venus\__main__.py", line 5, in <module>
sys.exit(main())
^^^^^^
File "C:\Users\joao\AppData\Local\Programs\Python\Python312\Lib\site-packages\venus\venus.py", line 103, in main
time.sleep(int(wait_time_config))
KeyboardInterrupt
^C
C:\Users\joao>
C:\Users\joao>venus
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\joao\AppData\Local\Programs\Python\Python312\Scripts\venus.exe\__main__.py", line 7, in <module>
File "C:\Users\joao\AppData\Local\Programs\Python\Python312\Lib\site-packages\venus\venus.py", line 103, in main
time.sleep(int(wait_time_config))
KeyboardInterrupt
^C
C:\Users\joao>
Downloaded images not always conform to the resolution specifications on the Venus config. What I noticed was that some of the wallpapers seemed to be a zoomed and cropped version of a larger wallpaper.
This example shows unsplash returning an image that doesn't fit the resolution filter.
I have the Venus config file filtering for images with the following resolution: 2560×1600
However, unsplash returned an image with 3648×5472 resolution cropped to 2560×1600.
This is the link to the original image: https://unsplash.com/photos/iMM8WRNllBw
However, this was the image downloaded by Venus:
After reading unsplash's api, it looks like the w & h parameters are meant to dynamically change the image output, not filter images from your query. This behavior is somewhat intuitive, and it can lead to Venus downloading less than ideal wallpapers.
I'm considering a few approaches, but it looks like a potential solution would be to query unsplash's api for a list of photos, analyze the results, filter images based on the resolution, and pull a random photo from the results.
I installed it with
sudo pip install venuspy
but it didnt make the config file, so i made one, and now it says that it doesnt have any section headers.
Can I see a default config file as I couldnt find one!
Now venus will download photos to OS temp path using filename such like venus_7ztb88uy.jpg
, which 7ztb88uy
is not the original id from unsplash.com url, for example: https://unsplash.com/photos/z5jH3tdupIo
. This makes it hard to find out the photo's source.
I think it will be convenient to implementing this feature.
Regards.
Would integrating some some of scheduler and settings be in scope?
Doesn't look like pywal integration is implemented for MacOS.
Hi, support for the Linux desktop environment Xfce4 is missing. Can we add it?
Would it be possible to add support for multiple monitors? I currently use 2 monitors, and Venus only changes the wallpaper for my main monitor.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.