GithubHelp home page GithubHelp logo

alfredosequeida / venus Goto Github PK

View Code? Open in Web Editor NEW
25.0 4.0 6.0 62.46 MB

Venus aims to be a cross-platform tool to automatically change your desktop wallpaper to something random using images from Unsplash.

License: MIT License

Python 100.00%
linux macos windows wallpaper desktop-wallpaper pywal resolution hacktoberfest cross-platform osx

venus's People

Contributors

aaronellington avatar alfredosequeida avatar amine250 avatar brennop avatar coma-toast avatar jstriebel avatar mryakobo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

venus's Issues

malformatted images from unsplash

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.

Permanently save images

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.

Not working

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

freebsd support

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

Windows 10

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.

hangs when running on Windows 11 with Python 3.12

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>

Resolution Settings should filter images and not resize images

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:
venus_l0u8t4cl

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.

Cant find a config file

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!

Using id originally from unsplash.com to help finding photo source

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.

Support Multiple Monitors

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.