AM+ Layout Designer Updates
Version 6.0
Whats New:
Button order (left → right in toolbar): π¨ Theme · π Romlist · π Load .nut · πΎ Save .nut · π Clear All · β Help · π Updates
Tooltips — hover any topbar button and a small bordered popup appears below it:
ButtonTooltipπΎ Save .nutSave the current layout.nut code to diskπ UpdatesVisit the website for news and updatesπ Load .nutLoad an existing layout.nut fileπ Clear AllRemove all elements and reset the layoutπ RomlistOpen the Romlist Editor in its own windowβ HelpOpen the built-in help & referenceπ¨ ThemeChoose a colour theme
The _attach_tooltip helper is reusable — you can call self._attach_tooltip(any_widget, "text") anywhere else in the app to add tooltips to other widgets too. Tooltips dismiss on mouse leave or when you click the button.
Version 6.1
Whats New:
Elements Look Better
Version 6.2
Whats New:
Standard menu bar (top-left, always visible):
MenuItemsFileNew Ctrl+N · Load Ctrl+O · Save Ctrl+S · Layout Info · Preview · ExitEditDuplicate Ctrl+D · Delete · Bring Forward/Back · Clear AllViewChoose Theme · Load/Clear BG ImageToolsRomlist Editor · CFG Generator · Reference · AM+ Docs · Snippet ManagerHelpHelp & Reference · Check for Updates/Website · About
Topbar — now just 5 core buttons a novice needs every session: π Load .nut · πΎ Save .nut · π Clear · βΆ Preview · π¨ Theme
Left panel — trimmed to 3 tabs: Elements · Modules · Snippets
Right panel — trimmed to 2 tabs: Properties · layout.nut
Everything advanced (Romlist, CFG Gen, Reference, Docs) is in Tools and opens in its own full popup window — out of the way until needed.
Version 6.3
Whats New:
Here's a summary of everything cleaned up:
Dead code removed:
- _toggle_appearance() — orphaned, never called
- _build_romlist_tab_stub() — Romlist is now a Tools menu popup only
- ORIENT_OPTIONS constant — defined but never referenced anywhere
New shared helpers (reduce repetition):
- _cfont(size, bold=False) — replaces all ctk.CTkFont(family="Courier", size=N, ...) calls. Used 67 times in the file, now a single 3-line function
- _ENTRY_KW dict — replaces repeating fg_color=COLORS["panel2"], text_color=..., border_color=... on every CTkEntry
- _COMBO_KW dict — same for CTkComboBox
- _btn() — reduced from 10 lines to 5
File structure — clear section headers:
# βββ ATTRACT-MODE PLUS LAYOUT DESIGNER
# βββ CONFIGURATION & CONSTANTS
# βββ THEME & COLOUR SYSTEM # βββ DATA MODEL (LayoutElement)
# βββ CANVAS (LayoutCanvas)
# βββ PROPERTIES PANEL (PropertiesPanel)
# βββ MAIN APPLICATION (AttractLayoutBuilder)
# ββ Styling
# ββ Widget helpers
# ββ UI Construction
# ββ Left panel tabs
# ββ Right panel tabs
# ββ Element operations
# ββ Canvas / resolution helpers
# ββ Background image
# ββ Code generation
# ββ Code editor
# ββ File I/O
# ββ Snippets
# ββ CFG Generator
# ββ Romlist Editor
# ββ Reference tab
# ββ AM+ Docs tab
# ββ Preview / Launch
# ββ Dialogs
# ββ Updates & tools
# ββ Theme picker
# ββ Help
# βββ ENTRY POINT
Spacing: Trailing whitespace stripped from every line, excess blank lines compressed.
Version 6.4
Whats New:
Three ways to add a preview image to any element:
- Drag and drop — select the element first, then drag a PNG/JPG/MP4 from Explorer onto the canvas. The file gets assigned to that element's preview
- Browse button — in Properties > CANVAS PREVIEW section, click Browse to pick any image or video file
- Type the path — paste directly into the Preview File entry
Works on all visual types:
snap · video · boxart · marquee · wheel · flyer · fanart · artwork · surface · image
Video support (MP4, AVI, MKV, MOV etc.) — extracts the first frame using opencv-python
Key behaviour:
- Preview images are display only — never written to layout.nut
- The existing box outline, icon, name label, selection handles, resize — all still work exactly as before when no preview is set, and the border/handles draw on top of the preview image when selected
- β Clear Preview button removes the preview and restores the placeholder box
- Cached per element — resizing stays fast
Updated 05-28-2026
Remember To Overwrite The Exe <-- False positive
Beta
Create Your Own Website With Webador