Toolbox Docker Redesign

Hi all!

In extension of the main UI Redesign topic, this topic has been created to consolidate ideas about how Krita’s Toolbox Docker can be upgraded in the future.

All ideas are welcome, this is an open discussion :slightly_smiling_face:.

To kick off, here are some existing ideas, collated by the amazing @slightlyangrydodo:

Feel free to add!

7 Likes

Two points I brought up in the prior topic that I think are worth mentioning again:

First, I personally like how Blender has the toolbar tied to the side of the viewport, and it can be hidden/revealed with a quick keypress (though I think the on-screen toggle for this could be much clearer in Blender). It’s such an integral part to the software that its worth keeping close at hand at all times, but a lot of it can be navigated with keyboard shortcuts as well so it doesn’t need to be visible all the time.

A big part this is converting the toolbox from being a docker into being something floating on top the canvas area in a fixed position relative to the side of the canvas (though it could be wise to allow options for left side/right side, or even top/bottom).

Second, something Blender likes to utilize is a context sensitive UI. When you’re in Sculpt-mode, the toolbox switches to sculpting tools. When in Modelling-mode, the toolbox contains tools for 3D modelling. While Krita doesn’t have “modes” in the same way, it definitely think this could be worth looking into with regards to the type of layer a user is currently on.

For example, when you’re working with a File Layer it might be worth hiding the tools that can’t be utilized on such a layer (brushes, shapes, etc). This idea could also probably be applied to the Tool Options docker (this is already context sensitive! :smiley: ) and/or the main toolbar, where things might change name (from ‘size’ on Paint Layers to ‘line weight’ on Vector Layers) or get hidden/revealed depending on if they’re useful for current type of layer (afaik you can’t utilize Eraser Mode on Vector Layers, so maybe the button on the toolbar should be hidden in favour of other.

Hiding/revealing buttons and tools based on context would have to be weighed against something Krita already does with some tools, like the text tool or calligraphy tool, where the software creates a new layer of the correct type for you. Doing something like automatically adding a Transform Mask to a File Layer if the user applies a transformation might be worthwhile doing. The Calligraphy Tool on the other hand might be better off if user had to be more explicit with using on a vector layer (or maybe just merged with the Freehand Path Tool instead). Text Tool is more of a grey are for me personally. I think of it specifically as a Vector Tool, but I can definitely imagine newer users just wanting access to it at all times.

2 Likes

All these points I agree with!

I had a mockup of this which I’ll post for continuity:

I had a similar idea for Vector workspaces; some of the non-vector tools like dynamic brush etc. could be dulled out as well. It’s a great idea!

4 Likes

Hi! I read this and got some thoughts. I think it would be good to group the tools intuitivly by their purpose. As I played around with it I saw six separate main groups of tools:

  1. Drawing (pixel)
  2. Selections
  3. Drawing (vector)
  4. Canvas handling
  5. Layer/selection handling
  6. Text

Does it make sense? I did a “mockup” from your one, to cluster the tools:

3 Likes

I would agree for the most part. But keep in mind there are limitations with how much grouping you can do with these icons. There’s been points raised about grouping hindering discoverability, but that’s not always the case if you do it intuitively.


Krita currently has 35 visible toolbox icons (disregarding the crossed out icons from source files, I still don’t know what they are for).

Most of these icons fall into delineated categories like pixel, vector, selections etc. But when you get to special tools, assistants, even canvas handling, there are quite a few overlaps. (Perhaps even the Shape tools can be considered assistants, as the Krita is calculating the shapes for you?)

In any case, there will always be arguments for and against certain groupings, a large number of which will be decided by precedent. Existing users might not like having differently positioned icons without proper reasoning.

Something to keep in mind when approaching this is: what works already, what doesn’t work, and what benefits will the user get from changing these features?

(I also grouped the Text icon as a Vector tool, which seems reasonable.)

Cheers

If this grouping were to actually happen, I would like to have additional tool presets included for efficiency e.g. separate icons for square, rectangle, circle, oval selection - so I don’t have to dive into tool settings every time I want a square or circle. Come to think of it - how do you even do an equilateral triangle?!! :face_with_raised_eyebrow:

It’s funny how much irritation a couple of extra steps can cause when you’re a stupid lazy human… :innocent:

By the way - I feel the reference tool should be in it’s own category rather than being grouped with assistants.

5 Likes

@Mythmaker That’s a good idea about custom shapes, aren’t shapes like rectangles, squares, circles and ovals already dealt with by holding Shift and dragging?

The reference tool is an awkward function to group definitely I think, it’s hard to figure out where that would be suited; near the canvas pan tools maybe?

Here is an iteration of @hellozee’s Toolbox idea, source files here. I mainly switched the positions of some tools and increased the speed of the popups. The tool positions definitely need a bit of thinking to make them intuitive for users, if things are grouped.

5 Likes

Come to think of it - how do you even do an equilateral triangle?!! :face_with_raised_eyebrow:

Excellent question. A great addition to the current toolset would be a “Polygon Shape Tool” that lets you draw shapes with X number of sides. Would also be nice if that also could be implemented for to create brush tips (like the current default circle and square ones).

4 Likes

Good idea! Maybe that could be an extension of the rectangle tool perhaps, and have the number of sides as a tool option?

I agree and I also like to go directly to rectangle, ellipse, polygon, etc and be able to see them there from the start.
I’m sure (I hope) this behaviour will be a selectable option in the Settings, maybe with more than one option to suit the needs and preferences of different users.

Yes, Shift_drag (after click) gives the rectangle -> square and the ellipse -> circle transition. Ctrl+drag (after click) gives the ‘start point as corner’ -> start point as centre’ transition.

At the moment, I have the Toolbox across the top of the window (1280 x 1024 monitor) and have room for maybe another 12 icons (with 16 x 16 icon size) if that ever happened. With a vertical Toolbox, I can’t see four of the icons so I can understand why the grouping and pop-out will be useful for people with a vertical Toolbox and/or smaller screens or tablets.

For grouping as proposed, will the existing coding tools and libraries automatically take care of and account for a horizontal Toolbox?

I don’t think that’s a good idea since the rectangle is a commonly used shape that many people would want to use quickly and easily without having to consider Tool Options. Having said that, if the Tool Options automatically defaulted to X = No.of sides = 4, every time that the ‘rectangle’ tool was selected than that should work out ok.

3 Likes

I have no idea, that might be a question for @hellozee. If you’re referring to the concept code, I can recall seeing something about toolbox orientation, but I’m not too sure.

Yes, I think that would be a good idea!

This is a subject that gives you lots of thoughts and I’ve just had another:
If you specifically want to do some work that needs lots of triangles or pentagons or hexagons, etc then it would be better to have a separate polygon tool, as suggested by @Kapyia, with Tool options that are persistent.
That would be less confusing for new users.

3 Likes

Also (they keep on coming :slight_smile: ) the Setting options for the grouping could itself have subgroup selectable items so that you could have ‘shape’ drawing tools group enabling separate from ‘selection’ tools group enabling, to give users more choice over how the Toolbox was presented.
Maybe store this as part of Workspace parameters?

2 Likes

Ok interesting! In the same way of Inkscape?
image

As in have some icons of the toolbox individually disabled/ removed form view?

1 Like

Well I wrote that concept in one afternoon after seeing the new toolbox of blender. It surely could be worked upon, but I didn’t bother to work on it after it did what it was meant for which is trending on hackernews for a day, :stuck_out_tongue:.

5 Likes

The Inkscape polygon tool is very flexible and useful, when you get used to it. e.g, if you choose a 3-corner polygon, you can still get a six-sided regular shape if you drag it’s line-centre control point.
I think just creating a regular X-sided polygon would be enough but increased flexibility and options are always welcome.

For the grouping options, I didn’t mean disabling/removing from view, I meant enabling grouping or not on a particular set of tools (e.g shape tools). That way, users could have e.g. line, rectangle, ellipse, freehand-polygon, regular-polygon(??) and polyline all expanded-visible on the Toolbox if they wished, while having all e.g. selection tools grouped, or whatever they decide on.

Overall enabling/disabling of a group on the Toolbox is a possibility but that would be very confusing and people would forget that they’d done it and then wonder where some tools had gone. Some people wouldn’t even realise that they’d done it.

2 Likes

Quick and simple ideas have a habit of growing :slight_smile:

1 Like

Solid achievement!

Ok I understand. I guess that would be pretty involved to code an input for the user; I wonder how much use that feature would get? Even creating tutorials and documentation including that feature might be hard to standardise, if there are various configurations the user could create with it. But I could see some cases where that would be useful too!

Oh that’s great, looks rad. So cool to see ideas in action.

1 Like

I didn’t know about that! :exploding_head:

Unfortunately I’m just a ‘stupid lazy human’ who doesn’t read the manual! :grin:

I do like that mock-up in the video. Even though it’s an extra click, I think having things grouped like that helps to find what you need when you want a tool you don’t use frequently. Plus it’s less visual clutter against the canvas.

2 Likes