-
-
Notifications
You must be signed in to change notification settings - Fork 501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: resizable grid #2531
feat: resizable grid #2531
Conversation
Two thoughts so far:
|
I see your point, and changing the size with these is unlikely to be a frequent occurrence. In the exports I have gone with a data structure that will allow us to have different sizes for each page, as I can see value in having that. If we do that (soon? later?) that may have some impact on whether this growing can be done? Disabling the growing in the grid can be easily done, its controlled by one property in the component, as this ungrowable mode is needed for import and a couple of other places. It could even start off as having a config option to allow this growing
Yeah I agree that would be useful, but I expect that its going to get very long very fast. We support 5 different streamdecks, 3 loupedecks and many xkeys models. that list is only going to grow over time. which are the common ones to be paired up? |
Gotcha. Yeah if per page sizing is in the future, then the "grow" function makes more sense. I was thinking that page size would be for all pages, so in that sense if makes more sense to allow adjust via button editor.
True. I think at least having the major players by usage (I'm assuming all the stream decks are at the top) would be helpful. I'm betting once we start getting into specific x-keys models, those using that kind of device are less likely to need a preset to understand what to do. But that may be a generalization. |
Other than a bit more testing, I think I have done everything that needs to be done as part of this. |
y/x and not x/y ? |
@bryce-seifert Thanks for giving it a test
|
3 & 4 just tested and look good to me now |
# Conflicts: # webui/src/UserConfig.jsx
UI is pretty crude right now, but functional:
Definitely needs some thought on UX, I don't think buttons saying 'Grow' are very clear, and it would be good to customise the amount it grows by.
Once the grid is larger than the display area, it becomes scrollable:
The 'home position' button reposition the scrolling to have 0/0 in the top left corner. When the page loads it will go to this position too.
Some work has been done to make the panel more friendly at smaller screen sizes, primarily by hiding the button labels when space gets tight:
The size is also editable in the userconfig:
Some more keyboard shortcuts have been added for navigating the grid. When the grid panel is in focus, the arrow keys will move which button is selected, and pageup/pagedown will cycle through pages. In both cases, it will wrap around when reaching the end/beginning of the row/column/pages.
The emulator is now not limited in size, it can be increased to larger than 8x4.
The satellite api allows for adding surfaces which are larger than 8x4
TODO:
Other APIs?