Feature request for dedicated Eraser Tool

Of course, but not all of us are used to using the pop-up palette in that way, the ideal is that there is an option for everyone.

5 Likes

Guess I’ll throw my random opinion in.

I like Krita’s eraser methodology. Being able to turn any paint-applying tool into a paint-removing tool is useful and I wouldn’t give it up.
But.
There are 2 problems I have with the current eraser-mode on the brush that a dedicated eraser tool would technically be a fix:

  1. Having a dedicated button to switch to eraser and a dedicated button to switch to brush would help with forgetting which mode I’m currently using during speedpainting. This can also be fixed by creating ‘turn eraser mode on’ and ‘turn eraser mode off’ shortcuts, rather than the ‘toggle eraser mode’ button I’m forced to use.
  2. A lot of my brushes are textured and never fully fill in the spot with color. This means my eraser is textured and never fully erases what I want it to. I need a way to define a different brush for when eraser mode is on.
4 Likes

My current solution for this has been to use ten brushes to bind my eraser of choice to ‘e’, and then put the transparency painting mode on ‘c’ (like how CSP does it and because it’s conveniently next to the swap foreground/background color on ‘x’).

This is also an idea from CSP, which allows you to make any number of tool preset categories, put anything in them, and bind them to any key, but I think an ideal solution would be allowing the hotkeying of brush groups, grouped by tagging. Each group would remember the last selected brush within it (again, similar to CSP).

IDK how feasible this is, especially because hotkeying brushes at all currently relies on a plugin, but it would allow you to have a tagged group just for erasers, or even multiple groups for different use cases (hard vs soft erasers, etc.).

I know I’ve historically gotten a very bad reaction when I suggest “lifting” features from other software, but the modularity of this approach solves this problem, and is extremely useful to workflow with all other brushes as well.

2 Likes

Hello,

If you’re using the ten brushes plugins then maybe you could test my plugin:

The only requirement would be using Krita 5.2, that it still in Beta. However I would be glad if serve you alright, specially if you desire only an Eraser Tool.


About your idea. It is possible, definitely, I even thought of making a plugin 90% similar to your idea, but with some functionalities more.
I just didn’t it because a plugin like this would be “required” to have a Graphical Interface, and I didn’t have the experience to make it as my first plugin.
Who knows, maybe this could be my second published plugin (no promises).

Cheers

4 Likes

Well, ten brushes comes included with the appimage, I haven’t installed any additional plugins myself because I’m paranoid about stability since Krita tends to crash enough already :sweat_smile: (5.1.3 has been pretty stable so far though – knock on wood).

I’m personally not really interested in the narrower scope of just a dedicated eraser tool, but I’ll try to test your plugin on 5.2 when I get some time.

As for requiring new GUI, maybe it wouldn’t if brushes were selected using the current brush docker and/or right click popup? Those already filter based on tag, so maybe they could be made to switch tags in sync with whatever key you press. IDK anything about feasibility here though.

Thanks for your plugin work :pray:

From this week’s development notes

This looks like our feature request may make it in for Krita 5.2 :pray:

1 Like

Quote from the merge request:

This action emulates switching between a pen tip and pen eraser, which switches between stored brush presets.

Seems not quite the same as this request, it doesn’t force any brush to become eraser, more like flipping a stylus with eraser end.

As it reads it is the behaviour introduce in my earlier Plugin.

Even in this request there were users who had this implemented behaviour as their expect Eraser Tool. Not to mention that it seems to be rather annoying/confusing to select a tool, and being ‘locked’ with every brush as an eraser. For this just hitting e seems more reasonable.


Just took a look, and while the name suggest an eraser it function as a second “brush slot”, independent of the brush selected. It has its charms, not gonna lie.

-Pros:

  • Different of my Plugin you only need one shortcut to change brushes.
  • If you only select erasers on the second slot is pretty much my plugin (kind of).
  • You can use as having two ‘favorite’ brushes to switch from one to another.

-Cons:

  • It doesn’t check and filter the type of brush selected for each slot
    • Pro to one, Con to other.
  • The user has to specify the desired slot before changing presets.
    • Selecting a Brush don’t activate the ‘brush slot’, and selecting an Eraser don’t activate the ‘eraser slot’.

After thought: Making this into a classic Eraser Tool could be feasible (and easy), as you could force the eraser mode whenever the second slot were active.

2 Likes

So eraser tag filtering wasn’t part of the merge request? That doesn’t mean it cannot be added later though.

E: Merge request: Add Toggle Eraser Preset action (!1689) ¡ Merge requests ¡ Graphics / Krita ¡ GitLab

@freyalupen thanks for your work on this! Do you have plans to expand upon your merge request by incorporating the features requestes in this topic (e.g. filter by a (custom) eraser tag/ by eraser brush mode)?

I think the dedicated eraser tool in this request means a separate brush type tool which only erases no matter the type of brush preset from any tag. This tool will have it’s own brush oreset history and options in my opinion. It is different than having the second slot limited to eraser tag or any particular tag.

4 Likes

@raghukamath I think that’s what most people would want indeed. But, I would like to synchronise the eraser tool with my brushes docker. I usually pick my erasers from another tag than I do with my brushes. I would like a complete separation of the two, so that if I switch to the eraser tool, I want the brushes docker to switch to the eraser tag and switch back to the previously used tag when I change tools.
This would help to get rid of any eraser brushes in every tag, which I now have to include for getting to my erasers easily. So, that would mean a big tag clean-up.

Brush docker tag synchronisation would also mean you can have textured brushes included in your eraser tag(s) if you want to.

The reason is that I usually use non-textured erasers for precise erasing (I tend to work with many layers so I can decide what to preserve and what to erase). And I would use eraser mode for textured erasers.

@freyalupen would a brush docker Tag synchronisation be hard for you to implement as option in the user preferences?

1 Like

That sounds really good!

I’m not sure if switching the brush category when switching to the eraser tool is the best option. Let’s say I have a “Favorite” category, where brushes, erasers and maybe other tools are mixed. When I’m painting with brush “F1” (a brush from that category) , then use “F2” (an eraser from that category) and afterwards want to use “F3” (a different brush from that category), I would have to use an extra step to get to “F3”, which is to first switch to the brush tool again so that my “Favorite” category is visible again. This is a process that happens quite a lot in normal painting but would maybe result in a lot of extra clicking at the end of the day.

But maybe I didn’t understand your proposal correctly.

I would think there are 3 options:

  1. No brush category filtering (i.e. don’t change brush categories)
  2. Change categories to and from the eraser category, perhaps specify the name in an input box (e.g. I label my tags with numbers to order them, so erasers can be “0. Erasers”)
  3. Exclude tags from filtering (e.g. you have a Sketch tag which has both erasers and regular brushes, by excluding the tag, the Eraser tool won’t switch if this tag is active)

The idea is basically that in real life if you pick a pencil, you’ll reach to a certain box/ tray/ drawer. Markers are in a different box/ tray/ drawer and so are erasers. By filtering tags you get rid of the brushes that are meant to be erasers when you don’t need them (when the eraser tool is inactive) (2.). You can enable/ disable this behaviour in the preferences (1.). Moreover, since you can have brushes in multiple cafegories, you can add textured brushes to the eraser category to use in eraser mode (thanks to the new merge request), but you can also have eraser brushes in multiple tags. So your erasers compatible with watercolours can be under the watercolour tag. In that case, you’ll want to exclude the watercolour tag from the filtering (3.).

2 Likes

I’d certainly go for option 1.

A lot if not most artists have a “Favorite” or “Quick” collection of brushes. And if the program allows it, there are several tools mixed in there. This allows to “one-click” through everything that you often need. As soon as I’m moved out of that list, it becomes much less powerful. You would spent most of the time in such a category.
I’m not sure. Does Krita have a “Quick Access” docker like CSP has, where you can throw in whatever you need? If so, the other two options might be worth considering. If there’s only one docker, it might get annoying for some user.

Unfortunately, Krita has not this kind of “box”, where you can collect everything you often use.

Michelist

1 Like

No, you only have one docker. You do have a favourites tag category to put your go-to brushes in.

Thing is, I would want there to be 8 erasers, markers, pencils, some paint brushes, etc. so I end up having to scroll (or set tiny brush thumbnails - not ideal either). And switching tags is done through a dropdown, so that’s pretty tedious if you need to do that often (cannot be fixed easily either). The only other alternative I could think of is to add subfolders to tags to collapse and expand certain brush folders within a tag. But that would probably be a big change to ths code and sqlite database for the tags.

1 Like

Or another brushes docker that you can set to a different tag category. That would also help.

Made a new feature request following this discussion:

1 Like

I guess a quick access docker like in CSP would be best. There I have brushes, erasers, rulers, selections tools and even something like “flip horizontal” in there.

2 Likes

My take on this idea is;
the ‘Toggle Eraser Preset’ action I implemented switches between a stored ‘brush’ and ‘eraser’ (any preset you choose while ‘Eraser Preset’ is inactive or active, respectively).
Perhaps it’s possible to implement (optionally) switching between a stored ‘brush tag’ and ‘eraser tag’ with this action as well, so that when you switch to the ‘brush’ it would show the tag you were choosing brushes from, and ‘eraser’ would show the tag you were choosing erasers from (whichever tag that might be).
But I haven’t looked into it yet, so I’m not sure how easy it would be.

2 Likes