Skip to content

Dashboard UI#2083

Open
ada-tv wants to merge 37 commits intooverte-org:qt6-upgrade-rebase-1from
ada-tv:qt6/qml-dashboard
Open

Dashboard UI#2083
ada-tv wants to merge 37 commits intooverte-org:qt6-upgrade-rebase-1from
ada-tv:qt6/qml-dashboard

Conversation

@ada-tv
Copy link
Copy Markdown
Collaborator

@ada-tv ada-tv commented Feb 19, 2026

A replacement for the tablet and QML desktop UIs, done in userland JS without needing special C++ support.

Press Escape or the left secondary button to open the dashboard, or hold them down to open the legacy toolbar/tablet.

Windows can be dragged across the window rail, or pinned so they won't stick to the rail and won't be hidden when the dashboard is closed.

dash_2026-04-07.webm

New Notification UI

On the bottom of the screen on desktop, and floats to follow the users's view in VR. Supports having an icon and an image, but only screenshot notifications currently use this functionality. An API to expose these to other scripts will be added in a later PR.

The blue line on top goes from right to left to show how long the notification bubble will be visible for.

image

New Script Log

Available in Dev Tools, visible when the "show developer tools" setting is enabled.

image

TODO

  • Opening and closing windows
  • Grabbing and moving windows
  • Bumping windows aside/finding a place to open new windows so they don't overlap
  • Dash window IPC, a la OverlayWindow
    (required for contacts app to work, QML's builtin XMLHttpRequest doesn't have the baked-in authentication header that interface scripts send to the directory server, the chat app also needs IPC to work)
  • App bar IPC, a la TabletProxy
  • Docs for the IPC module
  • Fallback for legacy tablet apps Not planned, would require scripts to be modified anyway and the old tablet will still be accessible for apps that require it, though no guarantees of it staying maintained
  • Theme/contrast/motion settings
  • The four major system apps working (avatars, contacts, places, chat)
  • Create app access (for now will just open the legacy tablet and the existing native desktop windows)
  • Access to the running scripts and asset server dialogs
  • Daily-driveable

TODOs for follow-up PRs

  • Use stock utilMath instead of vendored copy (waiting on utilMath JS module #1980)
  • 2D desktop mode that uses native windows
  • Stylus/finger touch support, grabbing the windows with your hands
  • Constraints on the windows so they stick to the rail when grabbed (might be hard)
  • Standalone tool/widget/applet windows that don't stick to the rail and can be attached to your controllers
  • Real create app integration (might not be possible until a create app rewrite is done)
  • Get window dragging actually working in VR (it's not usable yet because of unrelated bugs in the QML mouse input code and VR laser scripts)

@ada-tv ada-tv added enhancement New feature or request work in progress Do not merge yet NLnet Controls / Interaction Issues relating to the user input, controls, touch, or other direct interaction Qt6 labels Feb 19, 2026
@ada-tv ada-tv marked this pull request as draft February 19, 2026 16:07
@ksuprynowicz ksuprynowicz force-pushed the qt6-upgrade-rebase-1 branch from b828525 to 0bf906a Compare March 1, 2026 14:02
@ada-tv ada-tv force-pushed the qt6/qml-dashboard branch from ac8c42a to 84e99a8 Compare March 4, 2026 13:50
@ada-tv ada-tv added needs CR This pull request needs to be code reviewed needs QA This pull request needs to be tested System Script Functionality that's implemented as a script run by default, rather than in C++ and removed work in progress Do not merge yet labels Apr 7, 2026
@ada-tv ada-tv marked this pull request as ready for review April 7, 2026 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Controls / Interaction Issues relating to the user input, controls, touch, or other direct interaction enhancement New feature or request needs CR This pull request needs to be code reviewed needs QA This pull request needs to be tested NLnet Qt6 System Script Functionality that's implemented as a script run by default, rather than in C++

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant