-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add RFC: Redesign properties to suit small screens #50
base: master
Are you sure you want to change the base?
Conversation
- this may harm accessibility | ||
- that said, many of the included themes use 10pt or 11pt as a "small" size for certain controls | ||
- in my code, I have chosen 11pt | ||
- the OBSPropertiesView is re-used by OBSBasicSettings to display certain controls which do not require a narrow layout |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's because I'm tired (recently woke up) when I write those lines.
But I feel like OBSPropertiesView
are considered in this RFC as something that is only used by source and filter which is wrong, Properties API is almost used by any object (struct) type provided by libobs (encoder, services, outputs…) even if not actually used, other RFCs are here to change that.
Edit: IIRC even the DeckLink UI use it.
Edit 2: I forgot, scripting use it too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Properties API is almost used by any object (struct) type provided by libobs
Yes, but I'm not modifying the properties API, just the view.
Properties API is used in lots of places, but OBSPropertiesView is only used by window-basic-properties (which includes the transitions window), window-basic-filters, window-basic-settings, AJAOutputUI, and DecklinkOutputUI.
I've already accommodated the fact that OBSPropertiesView is used in places other than the properties and filters with the wideLayout flag, which displays everything as it already is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OBSPropertiesView
is for me bound to the Properties API, this is the type that interpret it.
Otherwise maybe it's just the wording "re-used" that lead me to that, but it just nitpicking at this level.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Edit: IIRC even the DeckLink UI use it.
Edit 2: I forgot, scripting use it too.
And for that, my changes to OBSPropertiesView still supports the current layout.
In general I'm very much in favour of using inspectors in sidebars for this as this is the pattern used by most pro apps (and most macOS applications for that matter) anyway (as explained in the RFC). The constraints created by inspectors also encourage more thoughtful design of the UI elements themselves (and their layout) as well as authors to consider how to present the options (and how many). Though this might also require adding support for "expendable" areas and probably the ability to add additional tabs (to avoid throwing an entire smorgasbord of options into a single pane). |
Summary
Redesign the properties window and view to suit smaller screens.
This proposal comes in three parts:
Motivation
It is, and always has been, my belief that OBSBasicProperties does not make efficient use of screen real estate, particularly on smaller displays. To my mind, this comes down to the vertical layout of the window. The issues are:
Examples
Links