2024-03-26 User Interface Meeting

User Interface Module Meeting 2024-03-26T16:00:00Z

Regular User Interface module meeting for planning and coordination. Last meeting was March 12th, next meeting on April 9th.


  • Julian Eisel
  • Hans Goudey
  • Harley Acheson

Merged Since Last Meeting


  • UI: Splash Screen Import Changes #118224
    • Requires sign-off by Pablo.
  • Revert File Confirmation:
  • UI: Outliner “File Mode” Manage User Count #118691
    • We all prefer a one-column solution so that we can use them consistently elsewhere where we don’t have the extra space. Using “empty shield” and “full shield” to indicate the addition of fake user isn’t ideal when real users are also involved but is good enough. Possibly not enough differentiating between items that have no users from ones that have multiple real users but no fake user. And when items have multiple users it can look like we are counting shields. So we have a good indication of “protection” but miss a connection to “users”. But #118691 is probably as best as we’ll get for now.


  • Discussion of Roadmap items, mostly marveling at Julian’s TreeView sizing/scrolling changes.
  • WIP: Shift Extrude and Duplicate of meshes and objects #118968
    • We’ll try to arrange a joint meeting with the Modeling module to see how best to deal with modeling-related requests. Maybe having a meeting at Campbell’s start of day would allow Hans, Harley, and any North American module members to attend.
  • UI: Blinking Text Cursors #116595
    • We still like this and will try to make it a target for 4.2. Needs a check by Pablo (colors, opacity, blink speed, etc) then it needs a code review.
  • UI: Screen Area Docking #104665
    • Harley reminded module members to please try this.
  • UI: Theme Color Tooltips #117815
  • UI: Button to Save Custom Themes #119491
    • Harley concerned that we might not be able to add the same for keymaps. It was decided that it was okay if that is the case. Harley will post a PR for “keymap save” so it can demonstrate why it would function in unexpected ways there.
  • We also discussed the Extensions UI and all prefer the already agreed-upon format.

Confirmations Always On

  • OBJECT_OT_simulation_nodes_cache_bake (when existing bake data) - "Overwrite existing bake data
  • FILE_OT_delete - “Delete selected files”
  • TEXT_OT_unlink - “Delete active text file”
    • These are all important enough that we should just leave them alone for now.

Keymap Configurable Confirmations

  • MARKER_OT_delete - “Delete selected markers”
  • ANIM_OT_keyframe_delete_v3d - “Delete keyframes from selected objects”
  • ANIM_OT_keyframe_clear_v3d - “Remove animation from selected objects”
  • ARMATURE_OT_delete - “Delete selected bones”
  • MASK_OT_delete - “Delete selected control points and splines”
  • MBALL_OT_delete_metaelems - “Delete selected metaball elements”
  • OBJECT_OT_delete - “Delete selected objects”
  • ACTION_OT_delete - “Delete selected keyframes”
  • CLIP_OT_graph_delete_curve - “Delete track corresponding to the selected curve”
  • CLIP_OT_delete_track - “Delete selected tracks”
  • CLIP_OT_delete_marker - “Delete marker for current frame from selected tracks”
  • GRAPH_OT_delete - “Delete selected keyframes”
    • The delete confirmations have added benefit when objects are out of view - accidentally deleting something unseen. Having the ability to know if unseen items are selected could let us change these to only warn in that case. This could be a nice future investigation. How quickly and easily can we tell if at least one selected item is out of view?

Non-delete confirmations to keep

  • TEXT_OT_reload - “Reload active text file”
    • Keep for now. There are times when these are shared and user counted.

Non-delete confirmations to remove

  • ARMATURE_OT_separate - “Move selected bones to a separate armature”
  • CURVE_OT_separate - “Move selected points to a new object”
  • OBJECT_OT_vertex_parent_set - “Parent selected objects to the selected vertices”
  • OBJECT_OT_parent_no_inverse_set - “Make Parent without inverse correction”
  • FILE_OT_directory_new - “Create New Directory”
    • We decided that the above are all explicit operations that have easy recovery. Make a new directory by accident? Just delete it. Others can be undone easily or have very clear invocation - hard to do by accident.

Confirmations still to be decided

  • GRAPH_OT_keys_to_samples - “Convert selected keys to samples”
  • NLA_OT_make_single_user - “Make each action single-user in the selects strips”
    • For these two we will ask the Animation module to discuss and decide.

Experiments & Tests