2.8 UI Tools: Favourites Bar / Specials Menu Design #55027

Closed
opened 2018-05-10 23:08:29 +02:00 by William Reynish · 29 comments

For Blender 2.8, we want to add an easy way for users to access their most often used commands.

In Blender 2.8, we are adding a new menu called Favourites. It works like this:

The user locates a command in the menus that he/she would like to save as a favourite. The user right-clicks on it and chooses 'Add to Favourites'. This adds it to a new 'Favourites' section in the N-key area for quick access. Additionally, the old Specials menu (W key) will now reflect these same commands.

Screen Shot 2018-05-10 at 23.00.52.png

This way, uses can save a handy list of a few often used commands, and either access them from the Q-menu, or from the Favourites bar.

Screen Shot 2018-06-25 at 20.29.17.png

Once items are in the Favourites list, they can be either removed by right clicking on them, or re-ordered. Favourites are stored as a preset file in the Blender config folder.

For Blender 2.8, we want to add an easy way for users to access their most often used commands. In Blender 2.8, we are adding a new menu called *Favourites*. It works like this: The user locates a command in the menus that he/she would like to save as a favourite. The user right-clicks on it and chooses 'Add to Favourites'. This adds it to a new 'Favourites' section in the N-key area for quick access. Additionally, the old Specials menu (W key) will now reflect these same commands. ![Screen Shot 2018-05-10 at 23.00.52.png](https://archive.blender.org/developer/F3334021/Screen_Shot_2018-05-10_at_23.00.52.png) This way, uses can save a handy list of a few often used commands, and either access them from the Q-menu, or from the Favourites bar. ![Screen Shot 2018-06-25 at 20.29.17.png](https://archive.blender.org/developer/F3797649/Screen_Shot_2018-06-25_at_20.29.17.png) Once items are in the Favourites list, they can be either removed by right clicking on them, or re-ordered. Favourites are stored as a preset file in the Blender config folder.
William Reynish self-assigned this 2018-05-10 23:08:29 +02:00

Added subscribers: @WilliamReynish, @ideasman42

Added subscribers: @WilliamReynish, @ideasman42

Added subscriber: @antoniov

Added subscriber: @antoniov

@WilliamReynish Are any plans to allow hide a panel? Of course, you would need a way to show again the hidden panels.

This is something request by some users, specially for 2D artist using grease pencil. They don't want a lot of panels that they never use. We can hide them in python checking the mode, but it would be better if the user could customize what panels hide.

@WilliamReynish Are any plans to allow hide a panel? Of course, you would need a way to show again the hidden panels. This is something request by some users, specially for 2D artist using grease pencil. They don't want a lot of panels that they never use. We can hide them in python checking the mode, but it would be better if the user could customize what panels hide.

Two things:

  • We will probably add tabs for the N-key area, so that we can group things better. This is also useful to Addons with several panels
  • We have also discussed a generic way to show/hide panels, although may not be quite so necessary if we have tabs anyway.
Two things: - We will probably add tabs for the N-key area, so that we can group things better. This is also useful to Addons with several panels - We have also discussed a generic way to show/hide panels, although may not be quite so necessary if we have tabs anyway.

Added subscriber: @cedriclepiller

Added subscriber: @cedriclepiller

On this task, I can imagine people asking you the possibility to group favourites to make custom menus.
Rmb on the empty part, add menu, then place the favourites in this menu with a popover to see what's inside.

Can you add the possibility to hide tabs and tools?
Depending on what we work, there is a lot of things we never use.
For example, I'm not an animator so everything related to that is not useful for me.

Maybe it will be part of Blender 101.

On this task, I can imagine people asking you the possibility to group favourites to make custom menus. Rmb on the empty part, add menu, then place the favourites in this menu with a popover to see what's inside. Can you add the possibility to hide tabs and tools? Depending on what we work, there is a lot of things we never use. For example, I'm not an animator so everything related to that is not useful for me. Maybe it will be part of Blender 101.

Yes, that could be very useful, but may be outside the scope, at least for now. We believe that a very simple system like this will serve most users well.

Perhaps later on down the road, we could add more advanced configuration options. I expect more advanced configuration will be relegated for addons, such as the excellent pie builder tools.

Yes, that could be very useful, but may be outside the scope, at least for now. We believe that a very simple system like this will serve most users well. Perhaps later on down the road, we could add more advanced configuration options. I expect more advanced configuration will be relegated for addons, such as the excellent pie builder tools.

Added subscriber: @LucianoMunoz

Added subscriber: @LucianoMunoz

Would be nice if user could add any sort of command as a button without having to create an addon and go through that whole convoluted process.

Would be nice if user could add any sort of command as a button without having to create an addon and go through that whole convoluted process.

Luciano: That's precisely what the Favourites Bar is for.

Luciano: That's precisely what the Favourites Bar is for.

great!
will you be able to add a script as a button too?, like just paste it into it and when you click the button it will run the entire script?

great! will you be able to add a script as a button too?, like just paste it into it and when you click the button it will run the entire script?

Like he said, for now, it's as simple as possible, but later let's hope that will be possible.

Like he said, for now, it's as simple as possible, but later let's hope that will be possible.

Added subscriber: @ErickNyanduKabongo

Added subscriber: @ErickNyanduKabongo

This is just too good to be true

{meme, src=itsawesome}

This is just too good to be true {meme, src=itsawesome}

Added subscriber: @yorch

Added subscriber: @yorch

The "Favourites" Idea sounds very interesting, pushing more and more the personalization of the workspace, in simple ways.
One thing to bear in mind if this is going to replace (or merge with) the "Specials", is that the specials were context sensitive.
It would be really useful if the "Favourites" kept this behavior, if not it could become an all-purpose bucket that gets full too easily,
and having to skim over a bunch of operators or tools that are irrelevant for the task at hand, can make it cumbersome to use.
For instance, if you're looking for an operator that works in pose-mode, it'd be counterproductive to have it in the same bucket as a bunch of modeling operators.

And by the way, SUUUPER EXCITED for all that's happening in 2.8. Thanks guys !!!

The "Favourites" Idea sounds very interesting, pushing more and more the personalization of the workspace, in simple ways. One thing to bear in mind if this is going to replace (or merge with) the "Specials", is that the specials were context sensitive. It would be really useful if the "Favourites" kept this behavior, if not it could become an all-purpose bucket that gets full too easily, and having to skim over a bunch of operators or tools that are irrelevant for the task at hand, can make it cumbersome to use. For instance, if you're looking for an operator that works in pose-mode, it'd be counterproductive to have it in the same bucket as a bunch of modeling operators. And by the way, SUUUPER EXCITED for all that's happening in 2.8. Thanks guys !!!

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
William Reynish changed title from Favourites Bar / Specials Menu Design to 2.8 UI Tools: Favourites Bar / Specials Menu Design 2018-06-11 13:01:14 +02:00

Committed initial support for user favorites menu. 85c1e61375

Menu items are per space type and mode, they can be added & removed from the RMB menu.

Currently they can be accessed from the Q key, a panel to manage these needs to be added too (TODO).

Committed initial support for user favorites menu. 85c1e61375 Menu items are per space type and mode, they can be added & removed from the RMB menu. Currently they can be accessed from the Q key, a panel to manage these needs to be added too (TODO).

Re: "the old Specials menu (W key) will now reflect these same commands."

Is the intention still to remove the W-Key Specials context menu and only have favorites?

Also, not every space has an N-key region (user defined menus can be used in any space).

Re: *"the old Specials menu (W key) will now reflect these same commands."* Is the intention still to remove the W-Key Specials context menu and only have favorites? Also, not every space has an N-key region (user defined menus can be used in any space).

We could remove the W menu if there was a way to implement a default "favorites" menu by mode. I'm thinking in the current W menu I have in grease pencil (different for each mode). In this way we can provide a default and the user could customize it.

We could remove the W menu if there was a way to implement a default "favorites" menu by mode. I'm thinking in the current W menu I have in grease pencil (different for each mode). In this way we can provide a default and the user could customize it.

Added subscriber: @0o00o0oo

Added subscriber: @0o00o0oo

Just a quick question: Is there a plan to make the Favorites Bar optionally a floating panel?

It would make for a better UX if tools are being used in rapid succession and the Favorites Bar doesn't disappear every time.

Just a quick question: Is there a plan to make the Favorites Bar optionally a floating panel? It would make for a better UX if tools are being used in rapid succession and the Favorites Bar doesn't disappear every time.

In #55027#513160, @antoniov wrote:
We could remove the W menu if there was a way to implement a default "favorites" menu by mode.

There are some implications for this.

  • This means we wont have a 'default/static' context menu people can use when they sit down at any system, for tutorials etc (maybe this is OK).
  • While possible, it's unlikely a user defined menu will be as context sensitive as one defined in Python. - for eg, current edit-mesh context menu also checks for active vertex/edge/face modes - while we could support this it's made more complicated by some sections of the menu checking for this context, some not.
  • If we pre-populate user menus, it makes it less useful as an empty place for users to add their own items. Just as users are unlikely to clear an entire keymap and start from scratch, I think users would be wary of clearing all items (in case it's used in a tutorial for eg).

There are reasons we might want to have both a stock-standard context menu and a place for users to have their own custom commands.

> In #55027#513160, @antoniov wrote: > We could remove the W menu if there was a way to implement a default "favorites" menu by mode. There are some implications for this. - This means we wont have a 'default/static' context menu people can use when they sit down at any system, for tutorials etc *(maybe this is OK)*. - While possible, it's unlikely a user defined menu will be as context sensitive as one defined in Python. - for eg, current edit-mesh context menu also checks for active vertex/edge/face modes - while we could support this it's made more complicated by some sections of the menu checking for this context, some not. - If we pre-populate user menus, it makes it less useful as an empty place for users to add their own items. Just as users are unlikely to clear an entire keymap and start from scratch, I think users would be wary of clearing all items (in case it's used in a tutorial for eg). There are reasons we might want to have both a stock-standard context menu and a place for users to have their own custom commands.

Is the intention still to remove the W-Key Specials context menu and only have favorites?

I think, it is better to have both, just in case the favorite menu gets so long if we remove the special menu (W).

It would be good to make sure that "add to favorites menu" appears only when the operator can be added in the favorites menu e.g go to material panel -> custom property -> right click -> add to favorite menu , nothing happens. And there is places that we need "add to favorites menu" for example: snapping menu.

> Is the intention still to remove the W-Key Specials context menu and only have favorites? I think, it is better to have both, just in case the favorite menu gets so long if we remove the special menu (W). It would be good to make sure that "add to favorites menu" appears only when the operator can be added in the favorites menu e.g go to material panel -> custom property -> right click -> add to favorite menu , nothing happens. And there is places that we need "add to favorites menu" for example: snapping menu.

In the original concept for this, we thought of combining the 'Specials' menu with Favourites. We discarded that idea though, in favour of making the Specials menu more context sensitive, like a right-click menu.

This way, users can rely on the context (specials) menu to always be the same, while the Favourites menu can be tailored to users with specific workflows and use-cases that use more obscure tools and commands often.

The old Specials menu was trying to be both, a general contextual menu and also include some obscure commands at the same time, and the result was a random mess. With this separation, we think we can both make a more contextual, reliable, right-click-style menu, as well as a clean slate for user-defined favourite commands.

In the original concept for this, we thought of combining the 'Specials' menu with Favourites. We discarded that idea though, in favour of making the Specials menu more context sensitive, like a right-click menu. This way, users can rely on the context (specials) menu to always be the same, while the Favourites menu can be tailored to users with specific workflows and use-cases that use more obscure tools and commands often. The old Specials menu was trying to be both, a general contextual menu and also include some obscure commands at the same time, and the result was a random mess. With this separation, we think we can both make a more contextual, reliable, right-click-style menu, as well as a clean slate for user-defined favourite commands.

Added subscriber: @JonDoe286

Added subscriber: @JonDoe286

Agreed. I too think it's a smart idea to keep both.

W as it is currently. A 'Context Sensitive' Specials Menu. Like William mentioned, a 'Right-Click Menu' of sorts.

But a bit more Cleaned-up/Streamlined, so it only contains the absolute essentials which will always remain the same. Depending on which Editor Type, Mode, Components, Etc. So new and experienced users will always have a 'Default' to fall back to.

Q has been Amazing from a workflow standpoint, giving users the 'Freedom' to customize having a 'Quick Menu' at their fingertips. Two-Thumbs-Up :) I think the only thing needed is a small editor panel or preferences window tab so users can organize their favorites even better. Re-Ordering, Delete, Add Seperators, Etc.

The biggest bonus is, both Q-W are right next to each other. And functionally, they make a great Power Couple! :D

Agreed. I too think it's a smart idea to keep both. **W** as it is currently. A 'Context Sensitive' Specials Menu. Like William mentioned, a 'Right-Click Menu' of sorts. But a bit more Cleaned-up/Streamlined, so it only contains the absolute essentials which will always remain the same. Depending on which Editor Type, Mode, Components, Etc. So new and experienced users will always have a 'Default' to fall back to. **Q** has been Amazing from a workflow standpoint, giving users the 'Freedom' to customize having a 'Quick Menu' at their fingertips. **Two-Thumbs-Up** :) I think the only thing needed is a small editor panel or preferences window tab so users can organize their favorites even better. Re-Ordering, Delete, Add Seperators, Etc. The biggest bonus is, both Q-W are right next to each other. And functionally, they make a great **Power Couple**! :D

@JonDoe286 - menu editor is planned, I've already restructured the internals so we can more easily add a menu editor a5b7f1ef53

@JonDoe286 - menu editor is planned, I've already restructured the internals so we can more easily add a menu editor a5b7f1ef53

@ideasman42 Cool. That's awesome to hear man. Can't wait to try it out. :)

@ideasman42 Cool. That's awesome to hear man. Can't wait to try it out. :)
Sign in to join this conversation.
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
10 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#55027
No description provided.