tweak_view: complete UI rewrite proposal (v2)#22
Open
BraedenP232 wants to merge 3 commits intoSniffleupagus:mainfrom
Open
tweak_view: complete UI rewrite proposal (v2)#22BraedenP232 wants to merge 3 commits intoSniffleupagus:mainfrom
BraedenP232 wants to merge 3 commits intoSniffleupagus:mainfrom
Conversation
This commit introduces a proposed v2 rewrite of tweak_view with a modernized UI and extended functionality. The goal of this rewrite is to improve usability (especially on mobile), provide visual editing feedback, and add guardrails around layout modification while preserving the core purpose of the original plugin. Key improvements: - Fully responsive UI layout - Live overlay selection with visual bounding boxes - XY nudge controls (+/- 1 / +/- 10) - Custom shape support (Line, Rectangle, Ellipse) - Import/export of tweaks via JSON - AJAX-based state synchronization - Reset functionality This rewrite is intended as a proposal for a v2 branch and does not aim to replace the original implementation without maintainer approval. Original functionality has been preserved where possible, and the original author is credited in metadata.
BraedenP232
commented
Feb 19, 2026
Author
There was a problem hiding this comment.
- Improved responsiveness and sizing behaviour across display modes and resolutions.
- Fixed several layout and event-handling edge cases (deferred redraws, stale state updates).
- Removed unused variables and cleaned up helper functions for maintainability.
- Decided to hide 'color' input field as it's irrelevant for most users, can be added later but adds more ui complexity.
- No functional behaviour changes besides UI improvements; existing plugin hooks preserved.
| Pic 1 | Pic 2 | Pic 3 |
- Fix duplicate-ID bug causing XY inputs to not update live across mobile/desktop panels; replaced getElementById with querySelectorAll helpers (getInputVal, syncInputs) so both panels stay in sync - Clamp XY coordinates to screen bounds in both JS (before API call) and Python update_elements (before applying to widget), preventing out-of-bounds values from crashing pwnagotchi - Expose screen width/height via api/state (__screen__ key); display in topbar stats and as a hint above XY inputs in the properties panel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
To me
tweak_viewis a staple to Pwnagotchi so I've been working on a rewrite to give it a fresh look. After sitting on it for a bit, I figured I’d open this as a proposal rather than just keeping it local.This is not meant to overwrite the current plugin without discussion. I’m thinking of it more as a potential v2 direction and wanted to get your thoughts before doing anything drastic.
Screenshot:
What this is
A pretty significant UI rewrite focused on:
I kept the core idea and behavior intact — this just wraps it in a more interactive editing experience.
What changed / what’s new
UI / UX
Editing Improvements
Custom Shapes
Import / Export
Under the hood
How would you prefer to handle this?
Totally open to direction here. Options I see:
v2branchHappy to restructure things however makes the most sense for the project.