Please note that I can still add more colors or properties, fix inconsistent color usages which were unnoticeable with built-in themes, or improve theming in other ways.
So I’d recommend setting closest
parentTheme value to the colors you use in your theme & wait until theme creator will get to the stable release before sharing theme files.About wallpapers in themes:
Right now you can only choose one of Telegram wallpapers to be used when your theme is active. Or disable wallpaper at all and set any solid color as a chat background. Later you will be able to include custom wallpaper in theme file, but at the moment please focus more on finding better colors for your theme, I hope features I came up with are good enough for this purpose.
wallpaperUsageId is difficult to understand, but is very important property, if wallpaper is a crucial part of your theme. I will try to describe how it is used:1. Telegram X remembers currently used wallpaper for wallpaperUsageId=0, wallpaperUsageId=1, and for each custom theme separately when wallpaperUsageId=2.
2. Telegram X remembers last used light and dark theme. When you delete custom theme, it is automatically updated to
parentTheme value. This is also used for auto night mode.3. When you switch to / apply custom theme with
wallpaperUsageId set to 0 or 1, following logic applies:- Check last used theme with the same
wallpaperUsageId- If stored wallpaper is default for those theme, change wallpaper to the one specified through
wallpaperId- If stored wallpaper is non-default for previously used theme, keep old wallpaper.
- When
wallpaperUsageId is set to 2, this logic does not apply. Telegram X will remember which wallpaper was used with your specific theme.TLDR:
- if your theme only slightly differs from
parentTheme, do not change wallpaperUsageId- if your theme significantly differs from built-in themes, or specific chat background is a crucial part of your theme, set
wallpaperUsageId to 2.Examples:
- You create iMessage-like theme with plain white background. Set
wallpaperId to 0, wallpaperUsageId to 2, and bubble_chatBackground to white color.- You create WhatsApp-like theme and want to have similar to its background by default. Set
wallpaperUsageId to 2, wallpaperId to 19.- You just change accent colors of one of the built-in themes. Keep
wallpaperUsageId default, set wallpaperId to the one that looks best with your theme (hold wallpaper thumbnail in Settings > Themes > Wallpaper to see its ID)