info
PurgeTSS is a toolkit for building mobile apps with the Titanium framework. It adds practical utilities for styling and setup work.
It includes utility classes, icon font support, an Animation module, a simple grid system, and the shades command for generating custom colors.
If you build UI-heavy screens, PurgeTSS keeps you from hand-writing long TSS files.
What it does:
- 23,300+ utility classes for colors, spacing, typography, layout, and more.
- Parses XML files and writes an
app.tsswith only the classes you use. - Customizable through
config.cjs, with arbitrary values for one-off sizes and colors. - Icon fonts for Buttons and Labels: Font Awesome, Material Icons, Material Symbols, and Framework7-Icons.
build-fontscommand generatesfonts.tsswith class definitions andfontFamilyselectors for any font you drop in.shadescommand generates color palettes from a hex value.- Animation module with 2D transforms, draggable views with collision detection, sequential animations, and position utilities.
- Grid system for aligning and distributing elements in rows and columns.
Table of Contents
- Installation
- Commands
- App Assets
- Customization
- The UI Module
- Best Practices
- Grid System
Changelog
v7.12.1
purgetss brand --notesnow targets Titanium's launcher Activity instead of only the app theme. Titanium appliesTheme.Titaniumdirectly to the generated launcher Activity, so adding splash items only to the<application>theme could still leave Android 12+ using the SDK's default background. The notes now print a completesplashscreen.xmlplus a launcher-onlyTheme.SplashScreenderived fromTheme.Titanium, with the launch color defined in one place.- Font Awesome Free updated to 7.3.1 — 23 new icon classes (
.fa-lotus,.fa-codeberg,.fa-copilot,.fa-substack,.fa-tesla, …), none removed. sharpupdated to 0.35.3 andglobto 13.0.6.
v7.12.0
- Android launch background snippets in
purgetss brand --notes. The notes covered the iOS launch image and the Android launcher icon, but never the color Android draws before Titanium creates the first Window — so a run that set a brand background still flashed the default theme color at launch.--notesnow printsandroid:windowSplashScreenBackground(Android 12+ system splash) andandroid:windowBackground(native window) to merge into the existing app theme. --noteswording no longer names onlytiapp.xml: the command edits neithertiapp.xmlnor the Android theme resources, so it now reads "platform launch/theme snippets".completions-v3.jsonreports SDK 13.4.0.GA — metadata label only, the properties map is unchanged.
v7.11.2
images.filessync silently gave up on any config with comments — including the onepurgetss initgenerates — because the scanner tracked quotes but not comments. Only the write-back toconfig.cjswas lost; the SVG pipeline still generated the PNGs.parseTssMap()dropped every property following an escaped quote, and classes carrying a nested object ('.text-xs': { font: { fontSize: 12 } }) never entered the TSS map at all — so the SVG pipeline resolved dimensions from an incomplete map.- Android
themevalues keep their quotes in custom rules:theme: 'Theme.AppDerived.NoTitleBar'used to be emitted unquoted, which Alloy cannot compile. Generateddist/utilities.tssis byte-identical to the previous release.
→ See the full changelog for older releases (v7.11.1 and earlier).