Elastic Dashboard new features suggestion

Im working on new features for the Elastic Dashboard , currently i have added the following features:

  • Copy & paste for widgets
  • Auto switch for tabs according to robot state (can be turned on / off in the settings)
  • Option to disable snap to grid from settings
  • Angle offset for the YAGSL swerve widget

any other features anyone would like to suggest, or anything that annoyed you while using elastic ?


Could you add a way to change Elastic’s UI scale independent of the scaling of the laptop it’s running on? I like to keep my laptop at its default 150% scale but it makes it harder to fit all the widgets I use during matches on a single tab.

Elastic also doesn’t seem to work with a taskbar set to “automatically hide” (e.g., Elastic prevents the taskbar from popping up when the cursor is moved to the bottom of the screen).

Sure thing!

1 Like

This seems really cool!
Is this a fork of yours or do you plan on making a PR to the original repo?

its currently a fork but will be sent as a PR

1 Like

I really appreciate all of the outside contributions to improve elastic!

This would be a really good feature to have

At the moment I think it would be best to let users implement this manually in robot code using the Shuffleboard API. There’s a function to switch tabs, and it gives a lot more control over which tabs to switch to

I wouldn’t be opposed to this, but it could be a bit annoying if users wanted to put 2 widgets next to each other, if a user is dragging a widget onto another widget, will it snap the edges together?

Haven’t really thought about adding something like this to the swerve widget, what’s the primary use case for it?

Overall these are great ideas, excited to see these new features in the future!

1 Like

Can you send a screenshot of this?

I’ve been trying to figure out this issue for a while, I believe it might be a limitation of flutter apps on desktop. @mjansen4857 might know more about this issue as he has more experience in developing flutter apps for desktop

About the angle offset, some swerve libraries have a diffrent direction for what the 0degrees are, so the offset allows to clear it out

Here’s what it looks like at 150% scaling (what I normally work with):

And here’s what it looks like on 100% scaling (what the scaling of the laptop we used at competitions was):

Note that the empty space here would be taken up by DriverStation.

At lower scales the widget titles take up less room, which lets me fit in more widgets. Right now, it’s hard to fit enough widgets on screen at 150% scaling with DriverStation open.

it doesnt remove the grid entierly, it acts like the grid size was really small, which gives more position freedom for the widgets

I don’t have access to elastic atm, but couldn’t you just set the number of grid blocks to a really high or low number? Whichever one increases the cell count.

It doesn’t seem like flutter has a way of auto scaling the screen to different DPIs without doing some major code changes. However, I believe the size being dependent on the screen scale is an intended feature of windows. I believe if you right click the exe file and go to properties, there is a way of changing the DPI settings for just the app

You can, but it allows you to switch between the two modes without losing the value you kept

1 Like

Apparently Windows only has a system-wide DPI scaling setting and doesn’t allow you to set the scale of individual apps to something other than the global display scale. I tried changing the high DPI settings in elastic.exe’s properties, but I couldn’t get it to work. I also couldn’t find any non-anecdotal evidence of changing DPI properties actually working for adjusting the scale anywhere online. It seems like the only way to change the scaling on just Elastic is to change the global scaling to the desired scale, open Elastic, and then change the global scaling back.

had a hard time wiht some of the features in the code, working on code documentation

Which parts in particular were giving you trouble? In the 2nd branch in the main repo I’m refactoring a lot of stuff to make some parts easier to modify

pretty much everything is unclear of how it works

I didn’t know if this was already added recently, but the camera stream widget needs to support the compression setting, and it would be nice if it displayed the bandwidth usage. This was mentioned in a different thread a month or two ago.

I’ll see and try to add it

Added the bandwidth display:
and it seems that it already supports the compression setting, i might be wrong