UI Experiment: Top Bar Quick Buttons #116967
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#116967
Loading…
Reference in New Issue
No description provided.
Delete Branch "Harley/blender:TopBarIcons"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Just an experiment in adding an option to show quick icon buttons in the Top Bar
This looks like a very interesting experiment! If this "quick bar" would accept any operator as a button (maybe taken from a list akin to the Quick Favorites and/or saved in Preferences) it would be fantastic for general use. I think something like that would cover the use of many of those little "one button" add-ons and would also help for first timers or people coming from other software to ease the migration.
Total customization would be ideal, but that potentially requires adding, removing, reordering, dealing with grouping separators, etc. I personally think a minimum implementation might just be a right-click menu where you can toggle user preferences for showing hard-coded sections. As in there would be 10 checkboxes and you could enable "File I/O", "undo/redo", "animation controls", etc. Then someone (else) can carefully craft and improve those sections. Might be enough for most users who would actually use this kind of thing?
If this space just has api and custom buttons can be added from there community will do the rest
Would we be able to expand this using Python, rather than C/C++? I can see this being very popular in my game dev studio.
Fairly certain you could do this as it is now. It is really just an extra region added to the TopBar with content entirely in a python file. A python addon could add to this as easily as it could add a button to any editor's header.
Can you explain why?
Great that it can be modified in Pyhon (hopefully by artists with limited coding skills)
It will be popular in my studio because it will allow the repetition of tasks to be done quicker. If I have to export a racing track from my 3d program to a mobile phone or console 30 times a day then this would speed up my workflow.
Having a button with an icon (of the art you want to export) and maybe some text would speed up work and lead to less confusing errors (artists saving over the wrong file)
If a different artist could load the top bar quick buttons then we could work on art we were unfamilar with and know its the racing track is being exported to the correct place.
I think kromar/blender_Shelves: Custom Header Buttons could be a nice inspiration for the customization part.
It adds a menu to chose different sets of buttons, which can be customized in the addon's preferences.
I guess this current change could at least allow this addon to have its own dedicated space instead of using the workspaces tabs bar. But perhaps it can serve as inspiration for the future.
I would really love this kind of things to be part of Blender. I miss that kind of ease of access in Blender compared to other softwares, especially when working via tablet or maximized viewport. Being able to make your own compact palette of tools and options is amazing.
Great experiment! It's very "industry-standard" of sorts, but it also seems... lazy. I would by all means try to avoid the browser plugin era of the 2000's. What would be some arguments for implementing this? Could we solve the problems those arguments touch in better ways? I think it's important that Blender doesn't just keep duct-taping on "solutions" without a clear vision for its UI. An incredible challenge for a swiss army knife software, but doable with careful consideration.
The year 2005 in one image
That's a good summary of our feelings in the UI module as well.
I'm glad I made this, because for many ideas I can't really get a sense of them without actually seeing and using it. And sometimes failures with them lead to different and better solutions. So I love working prototypes.
I think lots of production artists would bite your leg off even to have this 'lazy' implementation :) At the momement we dont have anything.
What is it about this that seems useful? Why? What is the minimum requirements for something like this?
I am no UI designer, just a random user with experience using different softwares in addition to Blender trying to voice thoughts to make it better.
I understand you fear it would give too big of an opportunity for dumping any random thing in one place and making a mess?
If so, I think that's the state of the viewport sidebar right now, even with the workspace filtering. But I don't think the culprit here is the existence of said sidebar, nor of a potential buttons-topbar. Instead, I feel like it's a combination of things, like a lack of good options / directives for addon devs to inject their GUI, the lack of accessible user customizability, ...
I actually think that implementing "more suitable GUI targets", and pushing user customizability, are genuine solutions to these concerns.
A FOSS example of this kind of design philosophy of "have a top bar you can populate yourself" that I think is done well is in the musical notation app Musescore:
That "Note Input Bar" can be docked where you want, or even left floating around. And you can choose what to show in there with a drop down list:
Their lead designer explained how they redesigned it a bit for v4
Another FOSS example is painting app Krita:
This one also allows showing multiple toolbars at once via a drop-down menu.
It doesn't mean a mess can't be done. You can get a 2000s browser. But the baseline out of the box is clean, and all the tools to control it are given to the user so that they can fix or avoid the mess, or make it their own if they like it.
Whereas now, you can't avoid having a mess with only a few addons installed, and you can solve the mess only by disabling addons, which is quite a flow-disruptive action to perform.
Accessibility: having a way to make your "palette of tools and options" is of a great help, allows you to choose your tools once and then let yourself go in the flow of work with all your needs at disposal with no interruption. And when using tablets and pen, buttons definitely feel better than having to unfold menus and panels.
GUI alternatives: addons GUI that are often shoved "by default" in the viewport sidebar just to add one button or are hidden in submenus or accessible only by operator search could be buttoned there either by the addon dev or the user himself.
Empowering User: Not only let the user chose what they want, but make it easy to do so. Don't make it a requirement to be an addon developer. Lower the barrier of entry from "learning python and bpy and addon development" to clicking three buttons a six-year-old could do.
Flexibility: because it is versatile and user-customizable, you could have anything you want there. Especially if you allow multiple layers/tabs/presets. It makes it easier to have different "kinds" of toolbars for different kinds of needs: thematic (file management, pipeline/project management), department/task oriented (animation, sculpting, ...), user-specific (toggle between shot-cam and face-character cam, order dinner button, toggle specific sets of overlays, toggle specific selection restriction sets, ticket my lead, ...)
Checkout
From your project repository, check out a new branch and test the changes.