#telegram #themes #parser #serialization #wallpaper #variables #tdesktop

tdesktop_theme

A Rust crate for parsing and serialization of .tdesktop-theme and .tdesktop-palette files

7 releases

0.3.2 Dec 28, 2020
0.3.1 Jul 2, 2019
0.3.0 Oct 21, 2018
0.2.0 Sep 27, 2018
0.1.2 Sep 24, 2018

#1978 in Parser implementations

MIT license

370KB
8K SLoC

Contains (Zip file, 335KB) tests/assets/cortana.tdesktop-theme, (Zip file, 1KB) all-wallpapers.tdesktop-theme, (Zip file, 1KB) no-all-background.tdesktop-theme, (Zip file, 1KB) no-background-jpg.tdesktop-theme, (Zip file, 1KB) tests/assets/no-colors.tdesktop-theme, (Zip file, 1KB) tests/assets/only-colors.tdesktop-theme and 1 more.

tdesktop-theme-rs

A Rust crate for parsing and serialization of .tdesktop-theme and .tdesktop-palette files.

Installing

Add this in your Cargo.toml:

[dependencies]
tdesktop_theme = "0.3"

Examples

See the tests directory for examples.

Documentation

See docs.rs for documentation.


lib.rs:

A crate to work with Telegram Desktop themes. Supports:

  • Parsing of .tdesktop-palette;
  • Parsing of .tdesktop-theme;
  • Serialization to .tdesktop-palette format;
  • Serialization to .tdesktop-theme format;
  • Dealing with wallpapers;
  • Editing themes;
  • Variables links.

Also can:

  • Resolve links;
  • Unlink variables;
  • Add themes (&theme + &other_theme);
  • Fallback to another theme (&theme | &other_theme);
  • Provide you with Telegram's default themes.

We also provide the default themes under the default_themes module. If you think we don't support something or you wish we had some feature, feel free to fill an issue on our GitLab repository.

Dependencies

~1.7–2.4MB
~45K SLoC