A smart desktop app that automatically sets beautiful wallpapers of your choice, adds quotes if you want, greetings based on the time of the day, and shows the current weather of your city(if you want) on the wallpaper. Customization options for you like options to choose wallpaper types, type any genre name get wallpaper! (e.g. Minecraft, Hacking, Coding any! just type it!), add your own image from your pc as wallpaper add your own quotes, schedules how often the wallpaper should change automatically based on your settings, and more(go to GitHub for more detailed features and usage) must try it, you are bored with same wallpaper, i know..
Euan Ripper
Check their projects out: Conways game of life in p5.js, Sand Pile Symmetry
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
I have completed the project! yay,
All the things i implemented:
- Option to select type of wallpaper
- Option to select quote
- input for user type text to get wallpaper of their choice( eg: gaming, hacking,....)
- Option to select how often should the wallpaper change ( optional if user don't want to)
- input for user to enter their custom quote for their custom image
- input for user to enter their city for weather ( optional)
- check box if user wants to get greetings based on the time of the day!
- auto scheduling the task i.e. changing of wallpaper based on user settings!!
as always got lot of bugs and errors took too much time to resolve them :)
Added a separate container for time based schedule of wallpaper change with options:
- Don't change for permanent set of wallpaper applicable for custom wallpaper uploaded by the user
- and in 2 hours, 5 hours,.. 24 hours to change wallpaper in mentioned hours automatically after setting it in task scheduler and added disable state to task schedule option for custom wallpapers
Made app responsive using python's threading, now it def feels like responsive,
added timeouts for api call to make app responsive, added some messagebox for messages
Now user can set the custom image with their custom quote!
- Implemented setwallpaperstylefit,resizecustom_img functions which helps to set the custom image uploaded by the user to fit the screen and not get zoomed wallpaper!
- Added some more weather conditions like mist, smoke, haze etc..
- Added input for custom quote in ui and implemented state to change like disabled if user selects different type of wallpaper and all..
For this feature also ran into issued like -
The original image of the user is getting edited by the program so need to create a copy of it
Custom quote is not appearing for the custom image uploaded by the user
and there are more had to debug a lot! :)
Next steps:
make ui responsive
try to implement auto setting the windows scheduler + ask user to how often wallpaper should auto change
Ran into a bit of a problem while working on next feature. Initially, when users selected a wallpaper type, they could also pick any quote option after that. But that caused some confusion because users could mix quotes like select wallpaper of different type then select quote of different type.
So, I experimented a little and came up with a better way to handle it. Now, users can only select from specific quote options depending on the wallpaper they choose. The quote options are:
None – if they don’t want a quote at all.
Default – which fetches a quote from and after that the wallpaper acc to quote fetched.
Custom – where users can add their own text as a quote on the wallpaper.
Added a new feature:
- users can now upload their own image for the wallpaper and combine it with quotes, weather info, and greetings. This makes the app much more flexible and personal.
- Added button 'Upload image' which will be disabled if user doesn't select custom option
Next steps:
Now i only got image from user so i have to make changes to user uploaded image acc to their settings
Now wallpapers update immediately based on user settings.
I integrated three quote:
anime quotes(improved),
movie quotes,
famous-people quotes and none for no quote
In main.py I added if/else logic to pick the perfect quote source based on the UI option and added some params to set_wallpaper().
If an API returns 404, the code picks local list of quotes so the app still set a wallpaper (need to improve this).
Next steps:
try to kill the spider which runs on screen while writing devlogs
make the UI responsive,
improve API return formats,
and improve error handling.
Now I can set wallpaper with desktop gui
Modified ui a bit, my main.py has the script to change the wallpaper and ui.py had tkinter python ui code. So had to think how do i connect both and finally connected both in simple way by making main.py code into function named it setwallpaper with params like type, city, etc.. and imported in in ui.py, when user clicks on btn 'Set!!' a function wallpaperset(present in ui.py) will be called with params from user and inside this set_wallpaper will be called with user's settings and wallpaper will be set!.
Next step is:
modify ui more,
change quote func acc to user settings,
change weather city acc to user input and implement the greetings acc to user settings
Added custom fonts for better ui, added option to select type of wallpaper user want(Nature, Anime, Movie for now), added option to select type of quote user want(Nature, Anime, Movie or optional), input entry for the city for user's city weather(optional), time based greetings checkbox
Started ui development using CustomTkinter a python Ui-library based on Tkinter
which is far better that normal Tkinter
This Project is a continuation of the script I created for #aesthetic. The script fetches anime wallpapers from an API, fetches quotes, overlays the quote on the image, overlays dynamic greeting based on the time of day, and shows the weather based on the user’s city on top of the image. Next, I’ll turn this into a GUI and add more cool features!