Blender development todo list -- User Interface
Open, NormalPublic

Description

NOTE: this is a direct dump of https://wiki.blender.org/index.php/Dev:Source/Development/Todo/UserInterface (without cherrypicking the [still] valid items)

General 2.5 targets

  • Support in operators for 'menu names', remove all custom names in UI scripts.
  • Key map menu on splash with preset configs
  • New 2.5 key configuration
  • Prompt on unsaved changes dialog for all OSes, make exit methods consistent (ctrl q, clicking X, etc.) [D566 has landed, but do this on unsaved changes before doing "Open/Open Recent" as well? see T55328]
  • Horizontal layouts is currently not well supported (T23154). Tabbing has been removed.
  • Selecting Fonts and "Styles" for drawing UI (font sizes for panel headers etc) has to be implemented still

General todo items

  • Consistent method for generating/appending/reordering/removing customizable lists of tools (tool shelf, custom menus, etc). If this can't be done quickly, then remove customization options for tool shelf and leave for a later release.
  • Editing multiple datablocks at once.
  • Saving thumbnails currently saves the 3D view, which isn't useful for blend files primarily using the sequencer: See T34112
  • Reduce memory usage of font caches for utf8 fonts (T34627)
  • Search function: Unicode is case sensitive when it shouldn't be (T43221)
  • Rendering user interface for stereo might produce artifacts caused by changes inbetween of view renders (T46478)
  • Support font rendering using sub-pixel bitmaps. Should fix jagged drawing of some fonts without anti-aliasing enabled (T53041).

Properties Editor

  • Undo looses buttons stored path (T40046)
  • Default property units is not always what users expect it to be T40312

File Path handling

  • Implement generic system to handle cross platform paths, relative paths, network drives, shortcuts, stream input files, etc.
  • Path editing and commands in Blender now still leave 'trails' (old strings readable). (T35712)

Issues per category

Left Mouse selection conflicts with defaults

  • Since Blender doesn't have a modal UI (select mode, transform mode, view move mode, etc), we designed it to have basic actions default assigned to distinct mouse buttons (left = tools, middle = view, right = select). Users who prefer left-mouse select still experience conflicts, for example with Painting tools that allow selection too. See T35031 for discussion and design ideas.

Mouse Support

  • X11 Isn't using true grabbing since it can lock the OS, see T39144
  • Continuous grab doesn't work when the Blender window goes outside of the screen, see T50005

Tablet Support

  • Tweak events (hold-drag) need user preset for adjusting the behaviour of pen clicks to register as mouse click.
  • Blender will work properly with only one of several tablets plugged in, see T33206
  • Fix conflicts with tablets in absolute mode and Continuous Grab enabled (i.e. by ignoring Continuous grab if events come from tablet), see T43106

NDOF / 3D Mouse

  • Note: default usage keeps view pivot the same, so you can use it for modeling. Options for panning or free fly mode are with modifier keys. You can set own preferences via the User Preferences keymap editor.
  • The Space-Navigator software on windows seems to be causing problems T42694

Keymap Editing

  • Add modal keymap to View2D (and other modal view options)
  • Check for key conflicts. (operator wm.keyconfig_test already does that but only prints result to console due to high number of false positives)
  • Check for key conflicts when assigning a key, see T35588
  • New default 2.5 keymap.
  • Allow Mouse Events to work with Custom Modifier Key T32641, T34822
  • Keymap conversion is not always correct across Blender versions T44115
  • Blender hotkey priority is defined by order but hotkey editor does not allow for order editing T53710

File Browser

  • Create button types for File Browser buttons (mostly hardcoded, atm)

Blender Window Manager

  • <none>

Support Keyboard layouts

  • Qwerty keyboards are still default for a lot of Blender hotkey code. It was in our 2.5 spec to add proper handling for other keyboards (like Azerty, that has no number keys on top). The way how 'raw keys' are being generated in Ghost needs review. (T28393)

Menu

  • Resolve the case when the mouse isn't able to select the last used item in a menu see: T32542
  • Some menus are too wide to draw reliably for narrow windows. T34500
  • Menu shortcus are not always consistent between different areas T38967
  • Preset Menu's always show their last-set value, even after file-reload. (T43363)
  • Add assign shortcuts option to Menus. T51095

Search menu

  • Search (space) doesn't show hotkeys for operators (like Mark Seam) that in a collection, like CTRL+E. Unsure what best solution would be, but definitely worth investigating.
  • ID search menu has got fixed width which isn't convenient to choosing long datablock names, see T33294

Events

  • Pressing non-modifier key before releasing previous non-modifier button is treating as second key with modifier of first key, which is confusing in some cases (see T29586)
  • Need to implement two queues of events for dominant and secondary operands so it'll be a general way to apply some tool and navigate through viewspace.
  • ESC presses to stop render or simulations now don't use events, but set the "G.is_break" always before events get handled. That's to ensure an ESC is working always, but it conflicts with pressing ESC in buttons or FileWindow etc.
  • Implementation of mouse "Press" versus "Tweak" versus "Click" and "Release" event is very fuzzy, and seems to be not much in control for KeyMaps. Main reason is Select-activate operator, that marks an event "Handled" as well as "Pass through". See T34206, T35859
  • Modal operators should be able to have a *sloppy[] context that follows the mouse T36711
  • Currently, Blender always generate a 'click' event before generating a 'double click' one. Though this is desired in most cases, in some it is an issue (see T40009). Maybe we could add a new event type, 'simple click', that would only get generated in addition to a 'click' one, when we are sure there is no 'double click'?
  • Holding buttons generates key-repeat events, making it impossible to have actions execute while a key is held. T40537
  • Modifiers keys should probably be reworked, currently in some cases (like <alt-tab>-switching between windows) wrong modifiers states can remain in wmWindow, this should be managed by Ghost (see T40155).
  • Seems some operators doesn't check where event came from when dealing with different zoom methods T37372
  • Holding a modifier key before activating a window, Blender doesn't update that the modifier is being pressed. T40317

Notifiers (redraws)

  • Current RNA property definitions don't handle cases for redraws of button values over multiple editors (like rna editor in outliner should reflect in properties window). Ton will resolve.

Macros

  • UI to create/record/edit them.
  • Python can't set with properties for nested operators yet when calling a macro.
  • Macro options can't be edited in the toolbar T35079

Toolbars, Property views

  • Save positions in file, implement useful memory here as well (per mode, object type?).
  • Set properties, icons, text for items.
  • Different shapes, horizontal, .. ?

Regions

  • Scaling window down and up multiple times or changing DPI causes wrong region/areas. Example T23664, resize prob T19691, T19720, T22775, T33153 and T50866
  • Scrolling on pop-up regions doesn't behave properly, see T28199.
  • Popup dialog box buttons for operator can only be pressed once T35154

Undo, Redo and Operator Context

  • Global undo doesn't work with editing text. (also mentioned in Editors category) (T24543)
  • Redo panel in 3d view has operators from all editors.
  • Redo in editmode fails for ops that are not in editmode, like 'New Image' texture and "Edit texture space" (future todo)
  • Can't redo when not in right region/area. (fixed now in 3d view)
  • Redo for operators that depend on mouse position doesn't work.
  • Redo after Undo fails T39887
  • Running operators in background mode.
  • Undo still clears history list, need better integration.
  • Redoing operators should give reports in some cases, see (T21060).
  • Patch for more elaborate operator context poll (T21888) (needs review still). Operator context and rna context are still problematic...
  • Run operator, change a property somewhere and then redo operator reverts the property ((T28482), T31231)
  • Redo operator behaves wrong when run from edit mode and operator changes data not related on topology and geometry (see (T30968))
  • It's not currently possible to create a key logging python script that captures all events, there is no way for the operator to always receive events or get the context as the mouse moves ((T28969))
  • Memory usage of global undo might be improved in cases like removing CustomData layers (T31377)
  • Undo 'Create Transform Orientation' leaves a blank menu (screen data becomes out of sync with the scene) (T42468)
  • Undo/Redo 'Create Transform Orientation' does not handle Use After Creation option well (similar issue as above) (T46011).
  • Undo 'Bake' currently fails (T45788)

Undo stack

  • Redesign undo stack to get rid of problems caused by global and local stacks. Some of known limitations:
    • Text editor vs global undo conflict, same for texture painting
    • Unable to undo changes made to modifiers stack when user is in sculpt/edit mode
    • Armature editmode undo doesn't restore pose constraints.
    • Changing frame number followed by operator redo resets frame back (see (T28871)).
    • Undo during painting doesn't restore expected object data, see T38436
  • Undo stack isn't aware about memory usage which easily leads to all memory used and crash ((T30730)).
  • Mixing object modes confuses hook remapping on undo after toggling edit mode T41226

Toolbox

Windows

  • Better updates between windows when i.e. playing animation: (T21412).
  • Closing a render window invalidates material preview render area: (T23848) (temp fix in rev 32040)

Interactive Updates (slowness)

  • Immediate update when dragging button can be slow,<br>can give problems when setting very high number for e.g. subsurf, can lock up. see (T24137).

User Preferences

  • Saving into separate files.
  • Missing theme colors: Timeline yellow key lines, manipulator, 3d view length text, ...
  • Theme colors need to be exposed in less messing way, so it'll be clear which exactly UI element is controlled by this color (see (T26947))
  • Resetting defaults doesn't update presets menu T34454
  • Some options can't be easily decoupled between user_pref.blend and startup.blend T48112

Drag & Drop

  • Add support for multiple (but similar) items to be dragged and dropped

Screen grab / Screen cast

  • Screen cast (video) was only added as a demo, is slow as well. Needs to be finished.
  • Multiple usability problems (T47926, T47927)

UI Widgets

  • Todo
    • Port operator names from UI scrips to operators
    • Color coding in buttons only works when animated property is in "own" ID data (for example, a material driver is on object level, and doesn't color button purple)
    • Tab-key cycle to new button should skip option buttons: T23666
    • Make tooltips for properties show shortcuts, in case an operator exists that changes this property
    • Remove time for tooltip to appear after the the user has waited for the first one. Reset this timer when the user moves away from viewing tooltips.
    • Couple usages of UILayout.template_preview will display only the first, see T28822.
    • Some interface elements are getting misaligned when toggling some property, see T32188
    • prop_search() buttons cant be created by the auto-ui, and currently need to be done manually in a draw function. see, T35154
    • Add back alt+scroll for non-RNA pulldown menus, to cycle into values. Not so easy to do, probably can only be handled with a dedicated callback? T39374
    • Alignment tips from the scripts not always gives expected results T28391 Dimensinal UI items (like e.g. normal size or object's position) do not take into account scene's scale setting, which makes them pretty much unusable with big or small scales (e.g. 0.001 in metric, making millimeter as default unit, values change way to quickly, T41308).
    • Dimensions buttons dont support multi-drag T38587
    • ColorPicker/menu closing behaviour when opened over other area T22476
    • ColorPicker HSV values currently ignores color pipeline T41287
  • Proposals
    • The maximum (100%) value for scroll bars is usually too small in 2d views such as Node Editor etc. (you can never zoom out far enough using the handles)
    • Make the Import and Export commands single operators. The import/export file format can then be chosen from a menu inside the file browser. [http://www.reynish.com/files/blender25/exporters.png Mockup]
    • RNA Path Builder widget/mini-outliner for setting up Drivers and Keying Sets
    • List Template popup for quick overview/search of many items. [http://www.reynish.com/files/blender25/console_ui.png Mockup]
    • jendrzych made a good proposal on how to improve the listview for materials/textures [http://img76.imageshack.us/img76/4686/datablockminibrowserpro.png Mockup.]
    • Implement new clean modifier list [http://tenderlovingdesign.com/storage/blender/Modifier_Proposal.pdf Mockup]
    • Drag support for reordering textures, modifiers and constraints.
    • Tweak console list. It is very hard to distill the essential information here.
    • Make Info window stick to the top or bottom of the screen and remove ability to drag it. This causes some issues with the menus disappearing and is no longer needed.
    • Animate sub-regions in and out
    • Scroll bar wdiges could hide if not needed
    • Disable most entries in the File menu when FileBrowser is open (Clicking open while a filebrowser for opening files already exists opens a new one in the info area)
    • Limit Operator vs Tools resizing so there isn't a way to lose Operator area.
    • Gamma correction options for Histogram and RGB curves widget
    • Check on negative colours interaction with HSVCIRCLE widgets
    • Text selection background for sliders is using the same color as for slide bar (T30881)

Presets

  • Remember the chosen preset for things like subsurface scattering and cloth. Would also be good to change the shown preset name to "custom" when a value defined by the presets is changed. See T23597.
  • Preset names are always CamelCase T31295.

Archived Design Tasks

This list is for for user interface tasks which have no conclusion.

No resolution or activity in over 3 months,
archiving, listed in the wiki.
Can re-open when we have time to handle this one.

  • Tool settings panel shows useless internal data T37438.
  • Update brush icons T37960.
  • Rework Renderer Menu T37742.
  • Making the mode selection dropdown list in the Editor headers consistent across all editors that use them T38254.
  • Presets & ID browser. Move + and x into the menu T38082.
  • Sequencer - Display timestamps using standard timecodes instead of a custom method T38242.
  • Unify Shading settings T37835.
  • Use brightness to communicate information depth T38036.
  • Improve visual distinction between Editors T38038.
  • Unify viewport info and menu T37845.
  • Blender Default Settings: Rendering T37475.
  • Improve visual connection between properties screens and areas T37702.
  • Tools with no settings pollute the 'redo' panel T37443.
  • Unify Shading settings T37835.
  • Transform tools redo panels show options that don’t make sense. T37446.
  • 'Redo' panel: Some redo settings don't make sense to edit T37439.

Details

Type
To Do

Related Objects