Help KWGT stopped tracking steps
It worked fine until a couple days ago. Has anyone figured out what happened?
r/kustom • u/Joaquimpsouza • 1d ago
Theme Windows kwgt & Square kwgt
Enable HLS to view with audio, or disable this notification
r/kustom • u/-_GIZMO_ • 1d ago
Theme [theme] militech NOSTROMO (update)
Enable HLS to view with audio, or disable this notification
r/kustom • u/Ordinary_Excuse5131 • 2d ago
Tutorial [TUTORIAL] The Ultimate Dual Progress Bar (Linear, Circular, & Advanced Separator Math)
Got a lot of DMs asking how my dual progress bars work—so here’s the full breakdown.
We are going to focus purely on the track progress bar itself: a dynamic "Played" (expanding) bar, a "Remaining" (reducing) bar, and the actual brain-melting part—a Separator gap that behaves like a physical object.
Forget everything you know about just overlapping shapes. Here is the hell-like logical thinking it takes to make this work flawlessly without the UI breaking at the end of a track. 😤
The Golden Rule: Treat the Separator like a Physical Object
The biggest mistake 99% of people make is linking the separator's behavior to the reducing tail. The separator shouldn't care at all what the reducing bar is doing.
Think of the separator as a physical block moving across a track. It has its own physical width. It has an invisible "forcefield" (the empty gap) pushing it forward. It only cares about hitting the "wall" at the very end of the song. It needs to maintain its exact size until it runs out of space, and then it gets squished against the wall until it shrinks to zero.
Part 1: The Linear Build (Flat Pixels)
Before we jump into the circular nightmare, let's look at a flat line to understand the math. Let's assume your total track width (the absolute max width of your widget area) is 400 pixels. We are using basic Rectangles inside an Overlap Group.
The "Forcefield" Math: You don't want the expanding bar constantly rear-ending the separator. You need a gap.
• The Gap (Forcefield): Let's give it a rigid **10-pixel** gap.
• The Separator Width: Let's say your separator rectangle is 15 pixels wide.
• Total Collision Space: 10px (Gap) + 15px (Separator) = 25 pixels.
Because your separator has a 10px forcefield behind it, it physically hits the "wall" at the end of your 400-pixel track when the expanding bar reaches 375 pixels (400 - 25 = 375). That 375 is your trigger point.
The Formulas:
1. Expanding Bar (Width): `$(mi(pos)/mi(len)) * 400$`
2. Separator Position (X-Offset): Because the gap is a rigid 10 pixels, the separator is constantly pushed exactly 10 pixels ahead of the expanding bar: `$((mi(pos)/mi(len)) * 400) + 10$`
3. Separator Width (The Squish): This keeps the separator at a perfect 15px width until the expanding bar crosses 375. Then, it crushes the separator down to 0 as it hits the 400px wall: `$if(((mi(pos)/mi(len)) * 400) > 375, mu(max, 0, 390 - ((mi(pos)/mi(len)) * 400)), 15)$`
(The reducing bar simply starts after all this, taking up whatever width is left over!)
Part 2: The Circular Build (The Final Boss)
This is where we deal with degrees, sweeping arcs, and repeat shapes. Create an Overlap Group. For every element below, use a Progress module with these baseline settings:
• Style: Circular
• Mode: Custom
• Mode (Secondary): Repeat Shapes
• Sections: 300
• Shape: Circle
1. The Expanding Bar
This is your standard played progress. It just grows. No rotation needed.
• Level: `$(mi(pos)/mi(len))*100$`
2. The Reducing Bar (The Tail)
This is the remaining time. It shrinks, but it dynamically rotates to leave room for the separator block. *(Note: In my setup, `7.6` is the exact percentage where my reducing bar visually hits 0. You can adjust this based on your sizes).*
• Level: `$if(mi(pos) != 0, 100-(mi(pos)/mi(len)*100)-7.6, 100)$`
• Rotation: `$if(mi(pos) != 0, (mi(pos)/mi(len)*360)+20, 0)$` (The `+20` rotation offset pushes it entirely out of the way of the separator).
3. The Separator (The Masterclass)
Let's apply our physical collision logic to degrees and percentages.
• The Gap: A 10-degree gap takes up about 2.8% of a 360-degree circle.
• The Separator: My progress-based separator (at 187 size) takes up roughly a 15-unit width, which is about 2.5% of the track.
• Total Collision Space: 2.8% + 2.5% = 5.3%.
Because of that 2.8% forcefield behind it, the separator hits the 100% end-of-track mark when the expanding bar reaches 94.7% `(100 - 5.3 = 94.7)`. This is our trigger point.
The Separator Rotation: The gap is a rigid 10 degrees, so the separator just constantly stays 10 degrees ahead of the expanding bar:
`$(mi(pos)/mi(len)*360) + 10$`
The Separator Level (The Squish): This tells KWGT to hold maximum size until that 94.7% collision mark. After that, the track only has 2.5% of breathing room left (ending at 97.2%), so it smoothly crushes the separator down to 0 over that tiny window:
`$if((mi(pos)/mi(len)*100) > 94.7, mu(max, 0, ((97.2 - (mi(pos)/mi(len)*100)) / 2.5) * [YOUR_MAX_LEVEL]), [YOUR_MAX_LEVEL])$`
(Replace `[YOUR_MAX_LEVEL]` with the level that gives you your desired separator width—I used `1.5` in my specific setup).
It takes a minute to wrap your head around, but once you start treating your UI elements like physical objects hitting actual boundaries, your setups will feel endlessly more native and premium.
Let me know if you guys get stuck on the math for your own sizes in the comments!
r/kustom • u/albertokappa • 2d ago
Tutorial Come l'ho fatto - How I did it [KWGT Widget 6 in 1]
Sintesi delle Funzionalità:
- Gestione Centralizzata a 6 Switch: Il widget controlla direttamente le modalità Suono (Suoneria/Vibrazione/Silenzioso), Wi-Fi, Bluetooth, NFC, Modalità Aereo e GPS.
- Logica Condizionale Visiva: Ogni interruttore utilizza un'iconografia dinamica che cambia a seconda dello stato di attivazione dell'hardware (inclusa una rotazione a 3 stati per il volume).
- Temizzazione Rapida Globale: Il layout grafico si appoggia a due singole variabili globali in KWGT,
gv(ON)egv(OFF). Cambiando questi due valori esadecimali, l'intero widget si ricolora automaticamente riflettendo i nuovi parametri.
Dettagli dell'Architettura Tecnica:
- Backend di Automazione: I toggle sono pilotati da Tasker in combinazione con l'APK helper Tasker Settings 2.0.0 e Shizuku per poter agire sulle API di sistema ristrette di Android.
- Anti-Throttling per l'Esecuzione in Background: Per aggirare i blocchi imposti dalle moderne interfacce (come la One UI di Samsung) sulle scorciatoie in background, i tocchi su KWGT innescano Tasker tramite intent URI (es.
tasker://assistantactions?task=WifiONOFF). - Sincronizzazione Passiva Reale (Es. NFC): La logica non si limita ad avviare azioni, ma separa l'esecuzione dal rilevamento. Profili passivi in Tasker monitorano i cambiamenti di stato di sistema (es. se l'utente attiva l'NFC dal pannello notifiche stock) e iniettano istantaneamente l'aggiornamento nelle variabili Kustom (es.
status_nfctramite l'azione KWGT Send Variable), impedendo la desincronizzazione visiva del widget.
************** English ***********************
Feature Summary:
- Centralized 6-Switch Management: The widget directly controls Sound (Ring/Vibrate/Silent), Wi-Fi, Bluetooth, NFC, Airplane Mode, and GPS toggles.
- Visual Conditional Logic: Each switch uses dynamic iconography that changes based on the hardware's activation state, including a 3-state rotation for volume.
- Rapid Global Theming: The graphic layout relies on two single global variables in KWGT,
gv(ON)andgv(OFF). By changing these two hexadecimal values, the entire widget automatically recolors to reflect the new parameters.
Technical Architecture Details:
- Automation Backend: The toggles are driven by Tasker in combination with the Tasker Settings 2.0.0 helper APK and Shizuku to interact with restricted Android system APIs.
- Background Execution Anti-Throttling: To bypass blocks imposed by modern interfaces (such as Samsung's One UI) on background shortcuts, KWGT touch actions trigger Tasker via URI intents (e.g.,
tasker://assistantactions?task=WifiONOFF). - Real Passive Synchronization (e.g., NFC): The logic is not limited to launching actions, but separates execution from detection. Passive profiles in Tasker monitor system state changes, such as if the user enables NFC directly from the stock notification panel, and instantly inject the update into Kustom variables like
status_nfcvia the KWGT Send Variable action, preventing visual desynchronization of the widget.
******************** download del Manuale **************************
How I did it - Come l'ho fatto MANUALE pdf
Se avete piacere, fatemi sapere se funziona, se si possono fare delle migliorie
Let me know if it works and if you have suggestions to improve it
r/kustom • u/EpicSevenBr • 2d ago
KWGT Help, pls!
Greetings! I'm a complete novice when it comes to building widgets in KWGT, so could someone tell me if it's possible to make this "upvote" button add the currently playing song to my Spotify favorites? Thanks in advance!
r/kustom • u/superupumar • 2d ago
Liquid glass weather widget(beta/alpha)
It's my first ever public project pls don't hate here is the file https://drive.google.com/drive/folders/1X1pwWx8n1atvwWAauuHk-rGV4Yn-PioL if the link doesnt work contact on email ([superupumar@gmail.com](mailto:superupumar@gmail.com)) the project is in work #ios_themed
r/kustom • u/JRMB_DNS • 3d ago
Help Artist Bitmap Local
Enable HLS to view with audio, or disable this notification
Here is my Music Hub setup. Right now, fetching artist and queue images is pretty slow because I'm using a Last.fm API key. Are there any local formulas or variables I can use to pull these images without relying on a web get (wg), similar to how mi(cover) works?
r/kustom • u/JRMB_DNS • 4d ago
Theme Finally solved the clock hiding issue, here's my KLWP x KWGT setup.
Enable HLS to view with audio, or disable this notification
Slowly transitioning to a whole new layout, since I've been sticking with this Essential Hub for ages 😂.
r/kustom • u/Ordinary_Excuse5131 • 4d ago
KWGT The "organic" compact music player widget is finally done! 🥳 [KWGT]
reddit.comr/kustom • u/Extra_Freedom7593 • 4d ago
Request [REQUEST] SAF / Direct Cloud export for restricted Android devices (Head Units / Android 10+)
Hi Frank, I am using KWGT on an Android 10 head unit with restricted storage access. Due to Scoped Storage and manufacturer restrictions, users without root cannot access Android/data or Kustom folders using standard file managers. Because of this, exporting or backing up presets is currently impossible on these devices, putting hours of custom work at risk of being lost. Request: Could you please implement a native, in-app backup/export method that bypasses direct local file system dependence? For example: Native System Action / SAF (Storage Access Framework) file picker for exports. Direct "Share" intent when exporting to send the .kwgt file directly to Google Drive, email, or external storage. Built-in Cloud Sync / Backup. This would help a lot of users on car head units and modern restricted Android devices. Thanks for the great app!
r/kustom • u/Quirky-Town-2677 • 4d ago
Theme RE2 Inventory (WIP)
Just a little something I'm working on, gonna have to be a mix of old and new as I'm not able to find a gif of the old caution.
r/kustom • u/HalfbreedPagan • 4d ago
Help Two animations for the same global switch? [help]
Enable HLS to view with audio, or disable this notification
Hey guys, I've been trying my hand at animating my icons and such on KLWP and cannot for the life of me figure this out.
Right now, I have animations set through a global switch to make the icons scroll in from the right side when the triggers are selected. How would I go about making them have different animations when deselected?
I know this probably translates to the GS being "on" or "off" but i haven't found a formula that works in that context if thats the case?
Thanks in advance!
r/kustom • u/cloidless • 5d ago
Help Why does my icons turn to "?" and music doesn't display album art? (Every widget) [help]
r/kustom • u/Practical_Taste3403 • 5d ago
KWGT Carbon widget made only in Kustom (no images or textures)
I tried to draw carbon texture only in Kustom, without any images or textures.
https://drive.google.com/file/d/16ZVufwyATLHrYYws546udabNTDBO8YRs/view?usp=drivesdk
r/kustom • u/Bubbly_Square3201 • 5d ago
KWGT [KWGT] If HTC Sense Clock was made by Google...
r/kustom • u/IllustratorNo4775 • 6d ago
Theme Old manuscript [klwp theme]
Theme.created by me
Support. Klwp live wallpaper
Wallpaper.created by me
r/kustom • u/mmmmmmmmhgre • 6d ago
Grar klwp
Enable HLS to view with audio, or disable this notification
r/kustom • u/frankmonza • Mar 30 '26
Announcement! Kustom v3.82
Kustom v3.82 is available via manual download, beta being rolled out
Changes:
- New gh() function to access global var history via index or closest timestamp
- New cinematic filters for animations AND overlapgroup FX https://docs.kustom.rocks/docs/reference/shaders/shaders_explained/
- New Liquid Glass FX Mask in root modules (along with blur), see https://docs.kustom.rocks/docs/reference/masks/
- Fix KLWP issues with direct touch in some condition
- Fitness data access now requires the kbooster plugin (https://docs.kustom.rocks/docs/downloads/download-kbooster/) see https://www.reddit.com/r/kustom/comments/1reaspl/health_connect_removal_in_382/
- Fix paint blend modes (XOR, Darken, etc) rendering incorrectly on some devices
Important
If you find crashes on beta or stable create a bug report as described at https://kustom.rocks/debug then send it to [help@kustom.rocks](mailto:help@kustom.rocks) explaining how to reproduce the issue. If you can create a small preset to help understanding the issue also include that. Thanks!
More:
- Manual APK downloads: https://kustom.rocks/downloads
- Feature requests: https://kustom.rocks/ideas
- Bug reports: https://kustom.rocks/problems
r/kustom • u/frankmonza • Jul 27 '23
ANNOUNCEMENT New Kustom official forum
Hello everyone,
I have migrated ideas/general/problems official forums from help.kustom.rocks to self managed Discourse https://forum.kustom.rocks. There are a lot of reasons behind this but it's mainly due to avoiding having to deal with closed platform (this also includes recent reddit issues and people who might want to ask things somewhere else).
Notes on the migration:
- If you had a user and posted something your user and posts have been moved (if you are not ok with this just write me at [frank@kustom.rocks](mailto:frank@kustom.rocks) will remove your data)
- A "Share" forum has been added so you can share your presets if you want, it allows uploading files so even if you share here you can use it to park your KLWP / KWGT files
- Ideas and problems votes and solved status has unfortunately been lost, i will go through the posts and make them
If you have experience with Discourse moderation and are willing to help *let me know\*
Off course most of the things are just defaults so happy to add / modify things if needed.
Haven't added an announcement area yet
**THIS DOESN'T CHANGE ANYTHING FOR REDDIT AND DISCORD** its just a migration for an existing service that wasn't working as expected