Compact Brush Toggler

A couple of months ago I ask for a way to quick toggle individual brush property on/off

With help of some forum regular I manage to create something similar albeit in a not efficient approach. :sweat_smile:

It’s originally for just personal use, if anyone want to try - the plugin can be download here.

I can’t promise anything, it works for me…

Install
Go to Tools->Scripts->Import Python Plugin from File

Usage
Select a brush,
Click on a button to toggle pressure on and off.

Demo

NOTE

  • There are some issue, one is it occasionally toggle the eraser mode if it happens that the previous state toggled it on/off.
  • It also works by traversing QObjects till it get to BrushEditor then checking/unchecking checkboxes there. So not very efficient and somewhat hackish…
  • If you check/uncheck the brush property pressure of from BrushEditor it will not be reflected back to the docker until you switch brush.

you can check @TheTwo who is proposing for a tool that cover some of the function of this one similar

20 Likes

Awesome! I didn’t realize this had been released already! :open_mouth: Can’t wait to try it out, this will be super handy! :grin:

1 Like

it don´t work on my krita… :cry:
This plugin it some that krita needs

I have been using this on krita 5 beta 2 for a while and it’s really handy, though it has some bugs like not detecting that a brush is using the pen for opacity. But good job on it

1 Like

What’s your OS and Krita Ver?

1 Like

Im glad to hear that. ^-^

Yeah, there issues like that, that i think is my plugin getting outrace by krita triggers. I might redo this in the future.

1 Like

Kubuntu 21.10
krita 5.0.2

1 Like

Very nice,small and effective plug in.
Downloaded today and still experimenting…
So far it is working very well for me :slight_smile: .
Thanks for sharing !

1 Like

Thanks very much , I love this plugin :heart_eyes:

1 Like

I’m back at my home [for the time being] so I’ll look into the opacity issue if time permits. :sweat_smile:

1 Like

Some update.

Opacity/Flow initial state should load up properly now [not sure if for all].
Added Overlay Mode for smudge brush.
Layout change.
ui

6 Likes

Neat plugin :+1: thank you!
I copy pasted the Overlay Mode lines and added Color Rate as well since I somewhat regularly change it to 0 with the right click popup palette when painting with smudge brushes. Also changed the button colours to fit my Krita theme better. :slight_smile:

Skärmavbild 2022-03-12 kl. 01.08.12

Bug I ran into:
Brush size/color rate/flow/etc get reset if it was changed with popup palette sliders or shift drag unless the Brush Editor is open (which affects brush performance negatively when painting).

Some greedy thinking: Being able to assign hotkeys; temporary toggle style similar to @wojtryb’s Tool Modifier plugin. GitHub - wojtryb/kritaToolModifier: krita plugin for switching tools temporarily (Like how you can temporary toggle smooth mode in 3D sculpting applications like Blender or smear paint in Verve Painter.) ^^

2 Likes

there are couple of things i cant really do with the plugin,
one of them is reflecting a change from - brush editor / i tried but it was like trying to outrace it.

Ill check on the case with pop up pallet change afaik, the plugin only affect change if you click on it.

OTH - i dont really want to add so much on to it, since the foundation code is rather hackish and i think inefficient in the long run. [it walks the brush editor tree till it find the checkbox]

My wish is to hopefully redo this, this time by extending on krita code and directly calling the toggles instead of locating checkboxes and checking them.

I look into adding the Color Rate tonight so that they are aligned, since right now there are three things to check.

does the property has check box on the list and a checkbox on the panel?
does it only has checkbox on the panel?
does it only has checkbox on the list but not on the panel.

edit: Saw the bug - noted. Ill try see if i can mitigate it. Seems that it only happen if things are change in popup but not from settings in the toolbar.

OTH i found a weird behaviour with toolbar controls and popup pallete value.

2 Likes

Hello I think i manage to atleast make sure the value dont reset. Now this only works when palette is close when toggle. Ill test it some more once i get back to work and clean up my code.

Why? I think there is a bug with the interaction of brush editor to the palette that has nothing to do with the plugin . i will be filing a bug report on this.

i.e.
Open Popup Pallete
Open Brush editor,
Change the value one of the following slider;
Size, Opacity, smudge length, Color rate;
watch how the slider in the pallete will only have 3 value depending on where the slide is in the editor.
0 or .50 or 1

2 Likes

Hello, here’s the fix. kinda. I have not merge it yet, need to update the doc. [also added color rate]

I only resolve it for the more common setting in the palette. I don’t think I will be able to catch all of them.

In a way I understand the palette - editor function and learned the following.
Changes in the palette are not reflected directly to the editor i think until the editor have been open.
That’s the trickiest part. This plugin function by walking the editor.

Changing value from editor does not reflect well to the palette.

This fix is pretty hacky, imo.

I think it’s in the life of it that i should really start studying rewriting it - and extending some krita functions.

can you comment if there is a slow down. I think my pc cant truly reflect the effect of all those traversing on performance.

2 Likes

Tested and I have to open the brush editor once every time I change the brush values for it to stick.
I also noticed the values only get reset if the brush is using a texture brush tip (Predefined tab). (both in this update and master)

:slight_smile: :+1:

Yes, for me the canvas rendering stutters and gets worse after some time. (macOS 10.13.6, Krita 5.0.2) Sometimes it takes a while before any stutter appears though.


Lines when stutter appear to the right

I’ll also have to disable the plugin when sketching and frequently change between pencil and eraser brush since there is a little bit of hiccup every time. Acceptable tradeoff for when painting and I change brush less often though. (master and this update)

OpenSUSE Tumbleweed, Krita 5.0.2, on same computer:
The canvas/cursor still stutter but the lines comes out smooth. The pause when changing brush also happen but krita still records brush strokes during the pause and catch up thereafter unlike on macOS.

(I’ve got a Windows 10 install as well if you want me to try it there too.)

enterEvent and leaveEvent might help to isolate when to chech the children.

1 Like

Thank you I will look again on it this weekend.

Hi, this is my first post and my first use of this plugin, and my first attempt at importing any plugins.

I get an error when trying to import the plugin through Tools > Scripts (screen grab below).

I also get this error when trying to import the Pie Menu plugin. (Both suggestions I got from here)

I am on a mac running macOS 12.2.1 (Monterey) - are plugins cross-platform?

I found some help in the Krita Manual (Managing Python Plugins) on how to manually install a plugin (a bit like the manual process for Blender), and got the Compact Brush Toggler running.

2 Likes