KanvasBuddy - a Minimalist Toolbar

Changing the boolean values in the config.ini file lets you customize what actions/sliders/dockers KB contains :slight_smile: The screenshot is of KB with every feature enabled.

And as @malle_yeno very nicely demonstrated, with a little bit of know-how it’s not very complicated to add in even more features from Krita :wink:

2 Likes

As far as I know, I think it’s possible to add every single canvas action to KB. It would involve adding the action id to data.json, and then adding the ID for the object you made in data.json to config.ini. It’s essentially what I showed in my post, but you have to find out what your action is actually ID’ed as (which is totally possible, but I’ll admit that it took me like an hour or two to find out how, and I already forgot how I did it :sweat_smile: )

Another thing that I found tricky was finding out what the default icons Krita comes with are ID’ed as. I ended up just googling it and finding a github repo for a different project that had a folder with the icon IDs, haha. Of course, you don’t necessarily need a unique icon for each action (you can just copy the icon ID from a previous action), but I find it much more navigable to have it with unique icons.

1 Like


Hi, may I ask the author about this plugin? I copied KB script to proper place in Krita and then turn it on in Krita’s python settings, but then it doesn’t show as one of the addons availble. :o :frowning:
Why and what should I do?

Hi

Plugins are loaded at Krita startup, so you have to restart Krita and it should be ok :wink:

Grum999

@Grum999 Thanks for fast reply, but the problem is KB doesn’t show up after several restarts of Krita. I don’t know what’s going on. :o
Krita version is 4.3.0-beta1 (night stable fixed build).

KB is not in docker

In menu Tools -> Scripts, select KanvasBuddy

Grum999

1 Like

Yeah!!! That was it! Thanx!!! :smiley: :star_struck: :sunglasses:

@Grum999 @Drayldan note that if it was a proper docker, instead of extension, it would appear in Dockers where @Drayldan was looking for it :slight_smile:

Yes

But I don’t know (but I think) if it’s a technical choice from @Kapyia due to the fact the KB window have to be displayed in full canvas only mode (this is the goal of the plugin :upside_down_face:) and a proper docker, I’m not sure that it can be visible in canvas only mode… never tested this kind of plugin for now :grimacing:

But in any case, going in the menu is the way to display the plugin :wink:

Grum999

2 Likes

@malle_yeno Could you provide these two files (ready-made) ?
I am no programmer and when trying to change in the way you descibed, I got nasty error in Krita, that says ā€œJSONDecodeError: Expecting ā€œ,ā€ delimiter: line 97 column 9 (char 2696).ā€

No idea what to fix in order to not to do it even worse[r] …

Sure! My apologies, it would have made sense for me to actually put these files in my original post rather than just describe my process :sweat_smile:

So just to make sure everything’s right:

  • You don’t have to do anything to data.json. Just put it into the kanvasbuddy directory and replace the old one.
  • Config.ini has the three things I made set to 1. If you don’t like them, or you want to turn on other modules, change the 1s to 0s to turn them off, and vice versa to turn on.

Link to files: https://drive.google.com/open?id=1nbQgezx4i40Ls4o4dq6vjV6YvUpSEh7H

3 Likes

Really interesting how users are collaborating, Keep doing it! :slight_smile:

2 Likes

The palette in your screenshot is really cool! :sunglasses:

I’d not seen it before, but just found it in Krita - so thanks for posting! :wink:

I suppose I should try the KanvasBuddy too - I do like to keep my interface as minimal as possible!

2 Likes

@malle_yeno Big thanks to you for this. Now it works perefect! No need to alter it for the time being. :slight_smile:

@Mythmaker What a nice side-effect! :wink: I am glad I helped you to discover another fine Krita thing. :slight_smile:

2 Likes

Using this; thanks for creating it! Sweet tool to have :grin:

1 Like

I’ve just downloaded and installed it. All the functions seem to be working as intended, and overall it’s definitely a cool thing! - I have a feeling I’ll be using it frequently :+1:

I’m experiencing a problem with moving the KB around though. When I click and drag, it shakes/judders and lags far behind the cursor. I’m not sure if anyone else has mentioned the same issue - I scanned through the thread but didn’t spot anything. I tried clicking the pin icon but that didn’t seem to change anything. I’m using it on Linux (mint cinnamon).

Also - is there any way to resize the buttons? I find the bottom row a bit of a strain! :face_with_monocle:

Cheers! :slight_smile:

Hey, I noticed an interesting thing with KanvasBuddy. It doesn’t seem to use Krita’s defined maximum brush size for the size slider.

I was trying to make it so the size slider would be more fine tuned at smaller brush sizes (since I use 5-8 px brushes a lot, and I found that it’s hard to change them in the KB interface at these sizes because the entire slider represents 1000px). I figured that if I made Krita’s maximum brush size smaller, then KB would adjust the slider to size increments, thus making it easier to navigate smaller brush sizes.

What’s interesting is the KB’s size slider is locked to 1000px, even when the maximum defined brush size is smaller. And, the KB size slider allows you to exceed the maximum brush size as well! I had my Krita instance set to 300px max, but I could still go to 1000px max and draw with a brush that big.

1 Like

@Mythmaker
Interesting. I haven’t tested it on Mint personally, so I’ll look into it whenever I have the time! The only time I did see this problem was when running Linux on a vm, but I assume your aren’t :stuck_out_tongue: are you using some kind of UI scaling on Mint?

@malle_yeno
I’ll be honest, I completely forgot this was a setting in Krita… :laughing:
Thankfully there is a way to read Krita’s settings in the API, though I have to say that the method to do is very unintuitive. I’ll make sure to update KB to actually read the setting when I have the time!

In the mean time you can manually change this in kbsliderpresets.py.
The class is called KBSizeSlider (should be the first one in the script) and you can change the initialized max from 1000 to whatever value you like :slight_smile: you might also like to crank the value in ā€œself.setScaling(3)ā€ up to 4 if you need even more granularity in the lower value ranges! (3 is what Krita uses normally though)

2 Likes

I don’t think so… :thinking: I mean - I don’t really know what you’re on about, but no - I don’t think so! :stuck_out_tongue_winking_eye:

I don’t have accessibility features on if that’s what you mean?

VM = Virtual Machine, which is a software that pretends to be a computer so you can test software on it. If you don’t know what that is then you’re probably not using one :laughing:

When using a hi-res monitor (we’re talking something like 4K and upwards) software typically has to be scaled up in size to account for the much smaller pixels. This is referred to in Krita as Hi-DPI support.

Now, I’m pretty sure this shouldn’t be a problem, and that KB inherits window-scaling from Krita. I’ve tried KB on a higher resolution monitor with no problems before (though the computer ran Windows 10). But my thinking was that if the OS and KB/Krita have different ideas about how large a pixel is on the screen, things wouldn’t move around the same. :thinking: