Change your lockscreen/homescreen wallpaper to something that’s useful, intelligent, and beautifully designed.
User Guide ❚
version 3.0
Intro
I created this Shortcut as a way to always have visible (on the lock screen and home screen wallpaper) the date, a mini calendar, reminders, a list of upcoming events, and the weather at a glance. Initially, in the early stages of iOS 13 Public Betas we had an action in Shortcuts to set a wallpaper. Having that paired with the addition of Automations was going to make this seamless (I was going to set it to run automatically twice daily). Unfortunately the wallpaper action hasn’t made it back into Shortcuts quite yet.
Through user feedback I have put a TON of time/effort into learning Shortcuts and creating a highly configurable WallAgenda shortcut. I will highlight the settings below. Before I get there, though, I wanted to give a brief description of how the shortcut will function.
Description
This version is vastly different from previous versions and therefore requires users of older versions to go through the setup once more. Don’t worry, you won’t regret it. Please note that this shortcut will only work on iOS 13 devices. Additionally, if you’re using an iPad then your results might not be ideal. When/if I have the money to buy an iPad I will add support for the iPad.
On the first run you will be prompted to enter your home and work addresses (if you so choose) and/or select a contact card to obtain address information. The information you input is contained only within your own version of the shortcut and is not shared with me or anyone else.
After that initial setup you will receive a prompt to select your device. Since the action for device details doesn’t reveal the iDevice you’re using, I had to prompt the user to select from the list. This is important because the shortcut references your device with a factor (either 2.0 or 3.0 depending on device) to set proper cropping, etc. Your selection is saved in a configuration file in /Shortcuts/WallAgenda/ in iCloud (Files.app) and once you set it (assuming you don’t delete the file), you shouldn’t have to do that again -- unless you change devices.
The shortcut will also call out to RoutineHub, where the versions are released, and prompt you to update if an update is available. A JSON file is also saved in the same file path with the date last checked so it’s not bugging you or checking too often (set to only check once a week). I was initially going to utilize UpdateKit, but didn’t want to rely on another shortcut in order for mine to update properly.
I’ve added support for automatically cropping images that aren’t necessarily meant for your device (ie it’s the wrong pixel dimensions) and the ability to select a photo from your own Photos App library as the background image.
The result is a beautiful image that you can set as your homescreen or lockscreen (or both!) wallpapers. This currently has to be set manually, but it’s really quick and easy to do this. I recommend running the shortcut in the morning after you wake up (maybe set an automation to run the shortcut when you stop your alarm) and at night when I go to bed (maybe set an automation to run the shortcut when you turn on Do Not Disturb).
If you need to change filters and calendars, you can find the actions by scrolling down in the shortcut. Look for these (Today, Tomorrow, and Reminders):
Settings
- What To Include
- Notes: This is a nested dictionary. Setting any of the following dictionary values to False means the rendered wallpaper will not include that particular section of data. It may be helpful to change a few of the values to False if you have a smaller screen, larger font sizes, and/or only want to take up one row of homescreen app icons instead of two.
- Dictionary Values:
- Today Calendar
- Default Value: True
- Tomorrow Calendar
- Default Value: True
- Reminders
- Default Value: True
- Weather
- Default Value: True
- Linear Calendar
- Default Value: True
- Today Calendar
- URL: BG Img
- Notes: Leaving this blank will allow you to choose an image from your own Photos App library, Files, or Clipboard URL. If the sizing isn’t right for your screen then you’ll be prompted later on to auto-resize the image. There will also be an option to use that photo every time so you don’t have to reselect it (saves to the WallAgenda folder of iCloud/Files).
- Example Value: https://www.setaswall.com/wp-content/uploads/2018/09/1242x2688-Wallpaper-012.jpg
- Weather Location
- Example Value: 1
- Options:
- 1 = Device Location
- 2 = Address From Contact Card
- Notes: You can change this freely as you want. If you enter a number other than 1 or 2 then the shortcut will default to the device location. If selecting #2 for the address from the contact card, note that the first address in the contact card is used. If you need to change contacts/addresses later then simply open your Files app (iCloud) and tap into Shortcuts > WallAgenda > Address, delete the Address file and rerun WallAgenda (you will be prompted to select a new contact).
- Events to Fetch
- Default Value: 8
- Notes: Increase or decrease this number as space allows on your home or lock screen. Your font sizes will impact how many events you are able to display.
- Reminders to Fetch
- Default Value: 2
- Notes: You can set individual filters and which reminders lists you are pulling from the Reminders action a little ways down.
- Max Characters
- Default Value: 64
- Notes: This is a limit to the number of text characters for a calendar event. Any characters beyond this limit will be truncated. You may need to adjust this based on your screen size, font sizes, etc.
- Separator
- Default Value: ❚
- Notes: This is a simple text symbol to separate the time from the event title. Please note that the color can be changed in the nested dictionary for Font Colors > Today Separator, or Tomorrow Separator, or, Reminder Separator.
- Reminder Icon
- Default Value: ○
- Notes: This is a simple text symbol to precede the date/time of reminders. Please note that the color of this symbol is the same as the Reminder Separator and can be changed in the nested dictionary for Font Colors > Reminder Separator.
- View Release Notes
- Default Value: False
- Notes: If set to True then you will be prompted to review the release notes for the current version. You can also view release notes for prior versions as well.
- Preview Image?
- Default Value: False
- Notes: If set to True, you will be prompted to view the final image prior to saving it (helpful for when you’re making tweaks and you don’t want to save each and every test to your Photos App).
- End w/ Photo App?
- Default Value: True
- Notes: This will allow you to have the final result of the shortcut open the Photos App so you can proceed to set the wallpaper.
- Font Sizes
- Notes: This is a nested dictionary. Options for the css font size values in the nested dictionary, with the exception of Weather include: xx-small, x-small, small, medium, large, x-large, or xx-large
- Dictionary Keys:
- Data Body
- Default Value: x-small
- Today Date Head
- Default Value: small
- Tomorrow Date Head
- Default Value: small
- Reminder Head
- Default Value: small
- Weather
- Default Value: 1
- Notes: Values range from 1 to 7 with 1 being the smallest and the equivalent of the css font size of xx-small.
- Data Body
- Font Colors
- Notes: Proper color names or HEX codes are allowed as values here. See the color chart here if you want a quick reference: http://tinyimg.io/i/fzImmuf.jpeg
- Dictionary Keys:
- Today Date Head
- Default Value: DarkGray
- Notes: Font color for the text header on the top of the shortcut where the current date resides.
- Today Weather
- Default Value: Dark Gray
- Notes: Font color for the weather information in the today header.
- Today Time
- Default Value: White
- Notes: Font color for the event times text.
- Today Event Name
- Default Value: White
- Notes: Font color for the event names text.
- Today Separator
- Default Value: #007AFF
- Notes: Font color for the icon used to separate the time and the event title for calendar items in the today section.
- Tomorrow Date Head
- Default Value: Gainsboro
- Notes: Font color for the text header of the tomorrow section.
- Tomorrow Weather
- Default Value: Gainsboro
- Notes: Font color for the weather information in the tomorrow header.
- Tomorrow Time
- Default Value: Gainsboro
- Notes: Font color for the event times text.
- Tomorrow Event Name
- Default Value: Gainsboro
- Notes: Font color for the event names text.
- Tomorrow Separator
- Default Value: Gainsboro
- Notes: Font color for the icon used to separate the time and the event title for calendar items in the tomorrow section.
- Reminder Head
- Default Value: Gainsboro
- Notes: Font color for the text header of the reminders section.
- Reminder Time
- Default Value: Gainsboro
- Notes: Font color for the event times text.
- Reminder Event Name
- Default Value: White
- Notes: Font color for the event names text.
- Reminder Separator
- Default Value: DarkOrange
- Notes: Font color for the icon used to separate the date/time and the title for reminder items in the reminder section.
- Linear Cal. Text
- Default Value: White
- Notes: Font color for the short month name, days, and day numbers in the linear calendar.
- Linear w/end H/L
- Default Value: #333333
- Notes: Font color for the background highlight of days and day numbers falling on the weekend.
- Linear w/day H/L
- Default Value: Black
- Notes: Font color for the background highlight of days and day numbers falling on weekdays (black means there’s no highlight).
- Linear Today H/L
- Default Value: #007AFF
- Notes: Font color for the background highlight of the current day and day number.
- Today Date Head
- Head BG Colors
- Notes: This is a nested dictionary for the background colors of the individual section headers.
- Dictionary Keys:
- Today
- Default Value: Gainsboro
- Tomorrow
- Default Value: #333333
- Reminders
- Default Value: #333333
- Today
- Date Formats
- Notes: This is a nested dictionary for the formats of the various date information.
- Dictionary Keys:
- Today Date Head
- Default Value: EEEE, MMMM d
- Event Time Body
- Default Value: h:mma
- Reminder Date
- Default Value: M/d @ h:mma
- Today Date Head
- Adjustments
- Notes: This is a nested dictionary for making fine-tuning adjustments to make the data fit just right for your device. It is recommend you set the Preview Image to True when making changes here so you can see them without saving each image in your testing.
- Dictionary Keys:
- Data Area Factor
- Default Value: .442
- Notes: Changing this number to, for example, .342 should make the WallAgenda data only take up one row of homescreen app icons instead of two. Lowering this from the default of .442 will probably require you to set a few of the dictionary values of What to Include to False in order to have enough space to fit on your screen.
- Vertical Offset
- Default Value: 11
- Notes: Raising or lowering this will give you an additional fine adjustment of the data area so you’re not overlapping with homescreen app icons.
- Padding: Left
- Default Value: 20.5
- Notes: Raising (moving data right) or lowering (moving data left) this will adjust how the information appears on your screen horizontally.
- Opacity
- Default Value: 70%
- Notes: This allows for the background image to be slightly viewable through the data (the Lower Opacity needs to also have a value, preferably at 40%).
- Lower Opacity
- Default Value: 40%
- Notes: This allows for the white block have a little transparency so the background image is slightly viewable while the data is still viewable as well.
- Time Width
- Default Value: 45
- Notes: This controls the number of pixels allowed in spacing between the left side of the screen and the symbol separating the time and event title in calendar events.
- Top Div Line
- Default Value: 0px
- Notes: This gives a white line at the top of the data when set to anything larger than 0px. I don’t recommend altering this.
- Head Today Width
- Default Value: 100%
- Notes: Controls the width of the header background for the today section.
- Head Tomorrow Width
- Default Value: 45%
- Notes: Controls the width of the header background for the tomorrow section. Note that the value entered here is a percentage of the pre-crop width. Setting this to 45% on my iPhone Xs Max, when the wallpaper is set, stretches left to right about 80% of the way.
- Data Area Factor
- Head Reminder Width
- Default Value: 15%
- Notes: Controls the width of the header background for the reminders section. Note that the value entered here is a percentage of the pre-crop width. Setting this to 15% on my iPhone Xs Max, when the wallpaper is set, stretches left to right about 30% of the way.
- Beer
- Default Value: False
- Notes: Change it to True if you’d like - then next time around you can change it to False. No pressure (that’s why it’s set to False to begin with).
FAQs
Q: I saved a background photo to use each time I run WallAgenda, but now I want to choose a new one. How do I select a different photo from my iOS Photos, Files, or Clipboard URL?
A: Go into the Files App, tap on iCloud > Shortcuts > WallAgenda and delete BG Image. Now re-run WallAgenda and you should be prompted to choose your new photo.
Q: The text is too small to read, how do I make it bigger?
A: Go into the Shortcuts App, tap the three dots in the upper right of WallAgenda to edit, scroll down to the Settings section and look for Font Sizes. Tap on the nested dictionary (says 5 items) and replace the font size value on the right with something larger (see user guide for more information on options).
Q: I don’t want tomorrow’s calendar events (or reminders, linear calendar, today’s calendar events) to be part of my final wallpaper. How do I remove those?
A: Go into the Shortcuts App, tap the three dots in the upper right of WallAgenda to edit, scroll down to the Settings section and look for What To Include. Tap on the nested dictionary (says 5 items) and for each section you want removed from the final wallpaper simply change the true value to false.
Q: I want to change the location for the weather forecast - where is that done?
A: You have two options: current location or address from selected contact. To change this go into the Shortcuts App, tap the three dots in the upper right of WallAgenda to edit, scroll down to the Settings section and look for Weather Location. Change the value to 1 for current location, or 2 for address from selected contact. Please note that it will choose the first address in the selected contact card. This information is stored in the WallAgenda folder of iCloud/Files so you don’t have to select that address again. Consequently, should the need arise to change to a different contact card, simply go into the Files App, tap on iCloud > Shortcuts > WallAgenda and delete Address. Now re-run WallAgenda and you should be prompted to choose a different contact card.
Q: I chose the wrong device in setup (or I have a new device) - how do I reconfigure this?
A: Go into the Files App, tap on iCloud > Shortcuts > WallAgenda and delete DeviceModel.json. Now re-run WallAgenda and you should be prompted to choose your new phone.
Q: Can I preview the final wallpaper after making changes but before saving it to my photos album?
A: Yes you can! Go into the Shortcuts App, tap the three dots in the upper right of WallAgenda to edit, scroll down to the Settings section and look for Preview Image. Next to that is the value false (assuming you haven’t changed it to true). Simply change the false value to true and run the shortcut.
Q: Why is my final wallpaper result a blank white data area?
A: This is a problem with Shortcuts rendering of rich text to PDF. They’re working on a fix. Some people have reported success with force closing shortcuts, restarting their phone, and running WallAgenda again.
Q: How much time did you spend on this?
A: Don’t ask… too much time! But hey, you have tons of customizations built-in so hopefully I won’t have to make many updates in the future. Feel free to buy me a beer if you want. Just look for the setting in WallAgenda.
Q: How do I automatically set the wallpaper?
A: The Shortcuts team has removed (hopefully temporarily) the ability to automatically set the wallpaper, so for now you’ll have to manually set it. I usually set it in the Photos App with the share extension of Use as Wallpaper. I automatically run WallAgenda when I run my bedtime and morning routines (2x a day for up-to-date information).
Q: How do I save my settings so they’re not erased when updating WallAgenda?
A: If an update is available on RoutineHub and you’re prompted to update, you will be asked to backup your settings and adjustments. After installing the update and running the new version (3.0 and later), you will be prompted to use that backed-up file instead of the default settings within the shortcut (ie my settings).
Acknowledgements
Thank you to /u/Rickscloud for hours and hours of beta testing (10 different versions) in preparation for the big update to version 3.0. Also to /u/nilayperk for a HUGE assist with the linear calendar. To /u/TimAtamlibtoim for the structure and sparking the idea with his Forecast Wallpaper. To /u/enteeMcr for helping my brain fart with HTML image insertion with base64 encoding. To /u/Kberg31974 and /u/Pr0loser for help in limiting characters for some of my variable. And finally, to the end-user, for finding value in WallAgenda and the Shortcuts app. Hopefully your imagination is sparked and you create some cool things too.