Brainstorming/UI/BrushSelector

From MyPaint

Jump to: navigation, search
This is a brainstorming page, a place for new ideas and suggestions.
To contribute, please follow the these guidelines and help us keeping the wiki organized.

[edit] Suggested Brush selector popup (with tags)

Brush selector, showing "All brushes" filter (Griatch)
Brush selector, a filter containing some pencil-like brushes (Griatch)

The main problem with the current brush selector (B key) is the difficulty in quickly locating brushes in it, especially as the number of new and interesting brushes increase with every release. Deleting brushes on-disk is an option, but who's to say you will never need a particular brush as you try different styles and techniques in your work? This suggestion allows the user to filter the mass of brushes in the way currently desired.

The suggested brush selector is completely separate from the Brush editing dialogue and only concerns itself with organizing brushes in an effective way. It is important to note that no brushes are ever physically moved or deleted on disk using this pop-up. Such operations should be the realm of the brush editing window.

However, whereas the pop-up functionality should be there for rapid selection of brushes, there should also be some way to enter the window into a more persistent "Edit" mode (not to be confused with the Brush edit mode Ctrl+B!). This could happen when tapping B briefly, by a different keyboard shortcut, or by having an Edit button somewhere in the window.

The popup looks similar to the current selector except it has a new scrollable area on the right side that initially contains only one entry, the "All brushes" folder. The "folders" in this list are actually filters used to show only sections of "All brushes" in the left brush area.

A filter (the "folders" seen in the screenshots, maybe this should look like a cup of brushes or something) has the following properties:

  • A filter can be created using the "New filter" button at the lower right.
    • Creating the filter should open a requester for giving it a name.
    • Possibly it would be of interest to rename filters by double-clicking them, as GIMP does with layer names
  • Clicking on the filter folder icons displays a new brush area related to that filter.
    • The brush area only displays the brushes that have been added to that filter (so a newly created filter will initially show nothing)
    • Each filter's brush area works the same way as normal; i.e. you can change the internal order of brushes by drag&drop.
    • The "All brushes" brush area is special and always shows all brushes available to mypaint (it's a 'show all' filter).
  • Brush icons can be dragged from any brush area to a filter folder
    • This operation adds this brush to the filter, and from then on the brush appears in that filter's brush area.
    • Click-Dragging a brush icon from a filter to another does not remove it from the source filter, only adds it to the new filter.
  • Click-Dragging the brush from a filter's brush area and releasing it outside the popup window's edge removes it from the current filter.
    • Again, this does not remove the brush itself from any other filter or from the system
    • Brushes can not be removed from "All brushes" this way (only by deleting them on disk)
  • A filter can be deleted using the trashcan icon.
    • This removes the filter, but does not affect brush files
    • The "All brushes" filter can not be deleted.
  • A filter can be duplicated using the copy icon.
    • This allows for having a "base set" of brushes that you always like to use, copying them to a new filter for different painting projects

The advantage of this system over a tagging system is that it does not actually tie to the brushes themseleves. Each filter (or maybe brush set is a better choice of name?) can contain any mix of brushes, regardless of how they might be "classified". You don't have to remember if your favourite brush is tagged as "pencil" or "charcoal", you can group those you use at the moment, making each set small enough that finding the right brush becomes a non-issue. If new brushes are added chronologically to "All brushes", this would also make it trivial to create new sets for testing when they are added to the program.


Note also that this does not concern other aspects of keeping tabs on brushes (such as how brush icons are displayed (should they have editable text/name?) as well as possibly indicate which brushes are currently stored with the Ctrl+0-9 quick keys (this would easiest be a small number in the upper corner of the respective brush icon).

--Griatch 19:07, 12 August 2009 (UTC)

So I guess you would have your brush+folders dialog at B, and the "Edit" panel below the current would become an own dialog that is not attached to the brushlist (but possibly to the brush settings).
Something I miss in this proposal is an escape route from the tag-mania, in the sense of "don't teach the users about tags until they ask for them". I expect MyPaint will ship with a few default brushfolders, most of them containing brushes that a single artist has published. But one of them should contain the default brushes to be displayed to new users at startup, with the folder list hidden. One great thing about the current brush selector is that the only non-brush item is the small "Edit" expander... maybe your dialog can have a "Brushsets" expander in this place, and have (several rows of) tags at the bottom?
And talking about popups. When I hold down B I think I would only want to see the brush list, no folders at all. Hitting B only shortly would bring up the full dialog (permanent with window decoration, but centered at the cursor position).
--maxy 18:28, 16 August 2009 (UTC)
I think this is what I will try to implement:

--maxy 20:31, 4 October 2009 (UTC)
It looks good to me, I like the tagging system for the brush list Deevad13:56, Monday, October 05 (UTC).