Show-Canvas And Full-Screen Position Fix Plugin (Krita 5)

Please note: This plugin is to test a patch that will hopefully make it into Krita 5.1, please report any issues or any positive results in real world testing. You can also use it in Krita 5 just fine too.

Show-Canvas And Full-Screen Fix

v.0.01

This is a temporary plugin that overrides the shortcuts for show canvas, full screen and toggle dockers to maintain canvas position.(Krita 5)

Usage Details

Go to Tools->Show-Canvas And Full-Screen Fix->Enable to activate.

After activation, you can use show canvas(TAB), full screen(CTRL+SHIFT+F) and toggle dockers(configure in shortcut manager) to use. The plugin is shortcut aware so if you change to custom shortcuts, it will still work just fine. Using show canvas, full screen or toggle dockers from the Menu will use the OLD functionality. This has been left untouched so one can test both side by side.

This script will by default create a temporary overlay to reduce flickering. You can increase/lower it in Tools->Show-Canvas And Full-Screen Fix->Config... (0 would disable the overlay)

Important

Please report any issues with wrong positioning, flickering or other issues on krita-artists.org (Make sure to include your operating system and if you are using subwindow or tab document mode. Videos of issues are welcome). If you do not experience flickering with the default 200ms setting, try lowering it or setting it to 0 and please report your experience.

This plugin exists to help test a patch that will try to make it into Krita 5.1, so please report both positive and negative results. If you are using Krita 5.1 Alpha, do pay attention when this patch does hit master so that you can disable this plugin to avoid issues.

11 Likes

Does anyone have any feedback about real life usage yet? and their preferred timeout setting?

1 Like

So far it works very well, I have set the timeout to 50.

2 Likes

0 seems to work perfectly fine for me on KDE Plasma 5.23.5 on Debian sid, using the appimage and subwindow mode. I wouldn’t really consider setting a higher value myself since I hate any sort of delays getting in the way of my work, especially when they eat additional inputs (for example, tapping Show Dockers twice in a row acts as you only tapped it once)

Minor bug: The position doesn’t stay in place if the user is currently holding left click on the canvas in panning mode.

Also, how is “flicker” defined here? And what exactly is the overlay? Because I don’t see any sort of animation/fade when using this, even if I set Plasma to use non-instant animations, and toggling kwin compositing doesn’t seem to make a difference either.

Thanks for testing.

When animation is enabled on kwin, it seems to cause a flicker as the window disappears and then reappears in full screen. There is also a jump effect on the canvas.

The overlay is pretty much a widget that shows up on top to cover the flicker. So the transition looks more smooth.

The overlay passes through all input, it does eat up consecutive toggle events intentionally. But that can be avoided with a bit more coding.

Do note, that if you have kwin animations enabled by default, but kwin has crashed. The animations won’t work until you restart or swap compositors.

Edit: also on the topic of the space bug, that is actually a separate bug that sometimes happens when using the tab in general. I may be able to fix it in the c++ patch if I find the cause, but it is probably difficult to do so with python.

Here is a video showing the transition with 0 and 200. It is pretty clear 200 gives a much more smoother transition with no flicker:

1 Like