Thumbnail Editor (Undo, Brush Visibility)

I’m slowly getting used to Krita 5 and I have to say - it works very well so far. I’m now in the process to recreate (and probably improve) some brushes I used in Photoshop. This also means to create some brush thumbnails.

At the moment creating the thumbnail is a bit tricky. I love the possibility to include one of the existing thumbnails (which are quite well designed). But when it’s about to add a brush stroke to it, it’s very hard to get it right at the moment. For one I can’t see the brush outline and size which makes itt hard to see what I’m going to draw. Especially when using pen pressure settings like size and rotation enabled. I also can’t change the size of the brush while I’m in the thumbnail editor and am stuck with the size I used before I opened the editor. But most importantly, I can’t undo the brush stroke. And when I’m not happy with the way I drew it, I have to reload the icon and start all over again. In the worst case, I have to get out of the editor completely, change my brush size/color and get back into the editor again.

So here are a few suggestions …
*) Make undo work in the thumbnail editor
*) Make the brush outline visible inside the editor
*) Let the user change the brush size while being inside the editor
*) Maybe even make it possible to change the brush color as well

These things would be great for the scratchpad of the brush editor as well which is also a bit limited in these regards.

Keep up the great work.

1 Like

you can “open/load” the .kpp with krita and edit it like an image, it’s easier for making thumbnail :wink:

1 Like

Thanks for the suggestion. Is there a quick way to open that file from the brush editor or one of the menus? Or do I have to mahually search it via the file explorer and open it?

Aside from that workaround - the improvements would be appreciated as well. It’s just a quicker way.

1 Like

you can drag and drop the file from file browser

1 Like

Yeah. That would be a manual way. I was wondering if this could be done quicker via an option inside Krita (via a menu or a button inside the brush editor or brush selector).

1 Like

I assume the correct folder is “…\AppData\Roaming\krita\paintoppresets”. But I was wondering how that content is handled when you have Krita 4 and 5 installed? Won’t this become a complete mess when the parent folder is just named “krita”? Are both versions accessing that folder at the same time?

Your assumption is correct.

However, you should never run two Krita installations in the same user account, precisely because it can (will) lead to problems. In the worst case, it can lead to the loss of self-created resources, such as your presets (KPP files).
If you want to use different versions at the same time, the safest way to separate this is to use different user accounts, a good usable (convenient) solution how to set this up I described here before. The only thing that doesn’t work when running different Krita versions at the same time is drag and drop for the installations in the foreign user context, that only works with the installation in the logged in account (or with an extremely risky hack that I won’t publish).

Michelist

1 Like

Thanks for the feedback.

It should be possible to use different versions of a program without having to create different user accounts. If I do that in Windows, I would have a completely different work environment for the new user. That’s not a good option.

In Blender for example, it’s no problem to use a lot of versions next to each other. I use versions from 2.79 to 3.0 next to each other without any issue. Each version has its own resource folder in the appdata folder. A similar thing should be considered for Krita to keep things sorted for the future.

For now I have manually created a “krita5” folder and changes the paths in the configuration. Just to be on the save side.

But remember that the versions still share the settings path, the kritarc is in the local path, no matter where you put the resources. Or did you patch Krita to a different settings path?

Michelist

1 Like

No patching done. I wouldn’t even know hoe to do that.

Maybe this could be an option in the future. It makes a lot of sense to have those settings separated with the option to transfer the old settings to the new version if necessary.

Blender was designed with the idea in mind that it should be able to run from a USB drive, so each version is installed seperately and entirely within the appdata folder. This also means that the entire program and any of its resources are not shared between the installations. What you’ll usually see with other applications is that the version specific settings and resources are split in the appdata folder, but then, you can pretty much only migrate your settings to the latest version and there is no way to, for instance, save your presets and configurations and use them across both installs. But this is all user experience though, I’m not a programmer myself.

1 Like

Well - Blender was the first thing I thought of. And for that matter - Krita could also be run from a USB stick, right? For both Blender as well as Krita I download the portable version and unpack them. It should not matter where to. But both of them create preferences folders in the user directory. The difference is that I do not have to worry to mess anything up when I test a new Blender version. In Krita, I’m not that sure for now. I just installed a plugin and I was only able to install it into the default “krita” folder, which means that it’s automatically installed in Krita 4 as well. Installing it into my created “krita5” folder and having to configuration point there, didn’t seem to work.

So it’s all a bit chaotic. As long as I’m testing Krita, I do not mind too much. But thinking ahead, this can be rather ugly when testing newer versions of Krita or going back to older ones.

And Photoshop doesn’t mix settings, plugins, brushes etc. neither between different versions. And probably a lot of other programs as well. It’s not only about Blender.

If you’re on Linux, this is easy: you can use the XDG environment variables for that. This is how I start my dev builds, as opposed to the build I use to paint with, it’s a shell script. On Windows, that doesn’t work, unfortunately.

The reason different versions of Krita don’t use different configs/resource folders by default is that people expect to keep their resources and settings when they update.

base=$HOME/dev
dev=$base/i-$1
QTDIR=$base/deps
DEPSDIR=$base/deps

export PYTHONPATH=$HOME/dev/deps:$HOME/dev/deps/PyQt5:$dev/deps/sip:$dev/share/krita/pykrita/PyKrita:$dev/share/k
rita/pykrita:$dev/lib/:$dev/deps/usr/lib/python3.5/site-packages:$PYTHONPATH
export PYTHONHOME=$HOME/dev/deps/
export LD_LIBRARY_PATH=$HOME/dev/deps/usr/lib:$HOME/dev/deps/lib:$LD_LIBRARY_PATH

export XDG_DATA_DIRS=$QTDIR/share:$base/share:$XDG_DATA_DIRS:/usr/share
export XDG_CONFIG_DIRS=$base/etc/xdg:$XDG_CONFIG_DIRS:/etc/xdg
export XDG_DATA_HOME=$base/.share-$1
export XDG_CONFIG_HOME=$base/.config-$1
export XDG_CACHE_HOME=$base/.cache-$1

export PATH=$dev/bin:$QTDIR/bin:$PATH

export QT_PLUGIN_PATH=$dev/lib/plugins:$dev/lib64/plugins:$dev/lib/x86_64-linux-gnu/plugins:$QTDIR/plugins:$QT_PL
UGIN_PATH

export QML2_IMPORT_PATH=$dev/lib/qml:$dev/lib64/qml:$dev/lib/x86_64-linux-gnu/qml:$QTDIR/qml
export QML_IMPORT_PATH=$QML2_IMPORT_PATH

export PKG_CONFIG_PATH=/home/boud/dev/deps/usr/lib/pkgconfig:/home/boud/dev/i/lib/pkgconfig:/usr/lib/pkgconfig:/u
sr/local/lib/pkgconfig:/opt/gnome/lib/pkgconfig:$PKG_CONFIG_PATH

c=`echo -e "\033"`
export QT_MESSAGE_PATTERN="%{appname}(%{pid})/(%{category}) ${c}[31m%{if-debug}${c}[34m%{endif}%{function}${c}[0m
: %{message}"
unset c

$dev/bin/krita
1 Like

Thanks a lot - I’m on Windows though.

And as for the settings - why not just import them from previous versions if needed.

1 Like

I second these suggestions, undo especially would be really great addition to the thumbnail editor, however just so you know in krita 5 you can already change the color while using the scratchpad

I kinda disagree with this, its actually much more troublesome in my experience. For a bundle i did i had to edit the kpps because i wanted a different background color for the preset images and it was a pain. Editing the kpp you cant make use of the handy preset icon library to position things for you. ended up creating a template file and hiding and showing layers as i wanted elements in the picture.
Not to mention i had to figure out where the icon library images were located to be able to use them.
Honestly creating the thumbnails was the most time consuming part of bundle creation.

If i can add a suggestion:

  • be able to change the background color when using the icon library, maybe be able to select from a list of files
1 Like

I might be willing to work on the thumbnails manually for now. But the folder where the thumbnails are supposed to be is a complete chaos and I have no clue what’s important and what not. So I would not feel comfortable about editing any files there.

So far I have created 4 brushes (well 3 brushed and one eraser) and my brushes folder (which I assume “paintoppresets” is) looks like that …

No clue what’s going on there.

Such a file thing could be resolved with a thumbnail size preview of all of the preset images in a single file with the names listed adjacent to it, if one person is willing to go over it, the entire community would benefit. Just thinking out loud here.

At this point, at least for me, the manual effort for making a custom library with brush icons is too much of a hassle to try and tackle. So I’m interested in seeing the approaches.
What I am thinking is that it might help to have the brush icons in colour SVGs be overlaid on top of the autogenerated/ custom strokes. The icons could then be easily shared and edited in terms of colours, as well as customised. That is, considering you want them to look like the default ones…? Most software is currently transitioning to SVG’s because they are scaleable and thus future proof, again thinking out loud here.

I don’t think it can, actually. Krita very rarely removes everything from there. However there will be issues like versions from Krita 5 will appear like separate resources in Krita 4.

There might be also an issue with tasksets, when you open Krita 5, it will move them to another folder and then Krita 4 won’t find them.

But most things work fine with both versions. Though remember that the whole thing about Krita 5 is that it has a different resource system. If you change the whole system of organizing a resource folder, then of course there might be some issues when you run a version before the change and after the change.

Also in Krita 5 you can set it to use a different resource folder if you want, in settings. If that doesn’t work for you for some reason, please report on bugs.kde.org.


@AndreasResch watercolor brushes and Mypaint brushes are also in that folder, so even if you didn’t make any brush, that folder wouldn’t be empty.

@Hologram lots of those are in the “Preset Icons” vector library, in the Vector Libraries docker. I think only the little additions for the top left corner are missing?

2 Likes

The brush preset folder seems to be badly organized. I deleted all the krita folders from my user directory and started Krita again. I now have a “krita” folder there as well as a “krita5” folder (the one I specified in the configuration). In the “paintoppresets” folder there are 30 default brushes now, while the amount of default brushes is much higher - so some of them are there. All together in one folder. Next to them the default “tag” files. This should have been put in a proper folder infrastructure and I should either see all the default brushes or none.

If I want to install a plugin, I have to put it in the “krita” folder as it won’t work in the “krita5” folder. There isn’t even a “pykrita” folder there.

When I click the “Open Resource Folder” button in the Resource Manager (Krita 5), I’m sent to the “krita” folder, where there aren’t any resources at all, as the brushes are in the “krita 5” folder now. The default ones for now. But I already have reported that issue.

So managing resources at this point isn’t easy. The Bundle manager isn’t flexible enough to make this an easy task and the folder structure is too chaotic.

I would have a “krita” main folder that may or may not contain files that would be needed by all installations of Krita. But preferably all the Krita versions should have their own respective folder beneath the main folder so in case I want to back up my preferences, I can just ZIP the whole folder up and don’t have to worry about anything or to include any old garbage that I don’t need any more.

Here is what my Blender preference folders look like. As you can see I have tested and used a lot of versions and even created some backup and test folders for Alpha and Beta phases. I never had to worry to lose anything here. If I wanted to revert to older preferences, I was just able to rename the folders and everything was working again.

I guess now is the time to change that in Krita 5 - otherwise you will drag that issue all the way to Krita 6 or the next time you tackle the resource system again.

1 Like

Not really tiar, the presets icons in the vector library are from krita 3, the 4 preset icons and emblems are only available as images in the folder used by the icon library.

1 Like