# KanvasBuddy - a Minimalist Toolbar

**URL:** <https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549>\
**Category:** Plugins and Scripts\
**Created:** [November 6, 2019, 10:09pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549 "2019-11-06T22:09:01Z")\
**Posts on this page:** 20\
**Page:** 10

<div class="post-metadata">

**Author:** ![SoniaBennett](https://krita-artists.org/user_avatar/krita-artists.org/soniabennett/32/53693_2.png) [@SoniaBennett](https://krita-artists.org/u/SoniaBennett)\
**Post date:** [November 26, 2022, 9:24pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/183 "2022-11-26T21:24:46Z")

</div>

That worked! Thanks a lot!

---

<div class="post-metadata">

**Author:** ![mop](https://krita-artists.org/user_avatar/krita-artists.org/mop/32/15797_2.png) [@mop](https://krita-artists.org/u/mop)\
**Post date:** [January 1, 2023, 2:01pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/184 "2023-01-01T14:01:07Z")

</div>

Amazing !! I Love KanvasBuddy !!! Thank you…Thank you so much… 😇 🙏 🙏

---

<div class="post-metadata">

**Author:** ![Jvarte](https://krita-artists.org/user_avatar/krita-artists.org/jvarte/32/52901_2.png) [@Jvarte](https://krita-artists.org/u/Jvarte)\
**Post date:** [January 15, 2023, 3:29am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/185 "2023-01-15T03:29:17Z")

</div>

A problem occurred in a Python script. Here is the sequence of  
function calls leading up to the error, in the order they occurred.  
??

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [January 15, 2023, 7:33am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/186 "2023-01-15T07:33:38Z")

</div>

You forgot that listing.  
May I ask which Version of Kanvas-Buddy you have used? The original by @Kapyia, the patched original by @SchrodingerCat, or the one by @Halcyoen? Only the last two will work with Krita 5, but I recommend @Halcyoen’s version.

Michelist

---

<div class="post-metadata">

**Author:** ![Jvarte](https://krita-artists.org/user_avatar/krita-artists.org/jvarte/32/52901_2.png) [@Jvarte](https://krita-artists.org/u/Jvarte)\
**Post date:** [January 28, 2023, 4:15am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/187 "2023-01-28T04:15:20Z")

</div>

More Thaks 🙂

> [@Michelist](#):
>
> You forgot that listing.  
> May I ask which Version of Kanvas-Buddy you have used? The original by @Kapyia, the patched original by @SchrodingerCat, or the one by @Halcyoen? Only the last two will work with Krita 5, but I recommend @Halcyoen’s version.
> 
> Michelist

---

<div class="post-metadata">

**Author:** ![KIO](https://krita-artists.org/user_avatar/krita-artists.org/kio/32/25124_2.png) [@KIO](https://krita-artists.org/u/KIO)\
**Post date:** [August 16, 2023, 7:00am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/188 "2023-08-16T07:00:53Z")

</div>

Hi!  
When I used Halcyoen’s KB in krita 5.2beta, I got an error and could not start.

 ![2023_8_13_23_58_51_216](https://krita-artists.org/uploads/default/original/3X/2/d/2dfc4ef8417407801c3019d15a5a155df9508edb.png)

```auto

TypeError
Python 3.10.7: E:\アプリ\Krita (x64)\bin\krita.exe
Sun Aug 13 01:22:55 2023

A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kanvasbuddy.py in launchInterface(self=<kanvasbuddy.kanvasbuddy.KanvasBuddy object>)
   55 # importlib.reload(uikanvasbuddy) # FOR TESTING ONLY
   56 self.isActive = True
   57 ui = uikanvasbuddy.UIKanvasBuddy(self)
   58 ui.launch()
   59 
ui undefined
global uikanvasbuddy = <module 'kanvasbuddy.uikanvasbuddy' from 'C:\\Us...\\krita\\pykrita\\kanvasbuddy\\uikanvasbuddy.py'>
uikanvasbuddy.UIKanvasBuddy = <class 'kanvasbuddy.uikanvasbuddy.UIKanvasBuddy'>
self = <kanvasbuddy.kanvasbuddy.KanvasBuddy object>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\uikanvasbuddy.py in __init__ (self=<kanvasbuddy.uikanvasbuddy.UIKanvasBuddy object>, kbuddy=<kanvasbuddy.kanvasbuddy.KanvasBuddy object>)
   48 self.layout().addWidget(KBTitleBar(self))
   49 
   50 self.panelStack = KBPanelStack(self)
   51 self.layout().addWidget(self.panelStack)
   52 
self = <kanvasbuddy.uikanvasbuddy.UIKanvasBuddy object>
self.panelStack undefined
global KBPanelStack = <class 'kanvasbuddy.kbpanelstack.KBPanelStack'>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbpanelstack.py in __init__ (self=<kanvasbuddy.kbpanelstack.KBPanelStack object>, parent=<kanvasbuddy.uikanvasbuddy.UIKanvasBuddy object>)
   33 self.shortcutConnections = []
   34 
   35 self._mainWidget = KBMainWidget()
   36 self.addPanel('MAIN', self._mainWidget)
   37 self.appendShortcutAction('MAIN')
self = <kanvasbuddy.kbpanelstack.KBPanelStack object>
self._mainWidget undefined
global KBMainWidget = <class 'kanvasbuddy.kbmainwidget.KBMainWidget'>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py in __init__ (self=<kanvasbuddy.kbmainwidget.KBMainWidget object>, parent=None)
   39 
   40 self.propSliders = KBSliderBar()
   41 self.initSliders()
   42 self.layout().addWidget(self.propSliders)
   43 
self = <kanvasbuddy.kbmainwidget.KBMainWidget object>
self.initSliders = <bound method KBMainWidget.initSliders of <kanvasbuddy.kbmainwidget.KBMainWidget object>>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py in initSliders(self=<kanvasbuddy.kbmainwidget.KBMainWidget object>)
   57 self.propSliders.addSlider(entry)
   58 
   59 self.synchronizeSliders()
   60 
   61 
self = <kanvasbuddy.kbmainwidget.KBMainWidget object>
self.synchronizeSliders = <bound method KBMainWidget.synchronizeSliders of <kanvasbuddy.kbmainwidget.KBMainWidget object>>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py in synchronizeSliders(self=<kanvasbuddy.kbmainwidget.KBMainWidget object>)
   78 
   79 
   80 
   81 def synchronizeSliders(self):
   82 self.propSliders.synchronizeSliders()
self = <kanvasbuddy.kbmainwidget.KBMainWidget object>
self.propSliders = <kanvasbuddy.kbsliderbar.KBSliderBar object>
self.propSliders.synchronizeSliders = <bound method KBSliderBar.synchronizeSliders of <kanvasbuddy.kbsliderbar.KBSliderBar object>>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderbar.py in synchronizeSliders(self=<kanvasbuddy.kbsliderbar.KBSliderBar object>)
   44 
   45 
   46 def synchronizeSliders(self):
   47 for slider in self._sliders:
   48 self._sliders[slider].synchronize()
self = <kanvasbuddy.kbsliderbar.KBSliderBar object>
self._sliders = {'brushFlow': <kanvasbuddy.kbsliderpresets.KBFlowSlider object>, 'brushOpacity': <kanvasbuddy.kbsliderpresets.KBOpacitySlider object>, 'brushSize': <kanvasbuddy.kbsliderpresets.KBSizeSlider object>, 'canvasRotation': <kanvasbuddy.kbsliderpresets.KBRotationSlider object>}
slider = 'brushSize'
].synchronize undefined

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderpresets.py in synchronize(self=<kanvasbuddy.kbsliderpresets.KBSizeSlider object>)
   27 
   28 def synchronize(self):
   29 self.setValue(self.view.brushSize())
   30 
   31 
self = <kanvasbuddy.kbsliderpresets.KBSizeSlider object>
self.setValue = <bound method KBSliderSpinBox.setValue of <kanvasbuddy.kbsliderpresets.KBSizeSlider object>>
self.view = <PyKrita.krita.View object>
self.view.brushSize = <built-in method brushSize of View object>

 C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderspinbox.py in setValue(self=<kanvasbuddy.kbsliderpresets.KBSizeSlider object>, val=50.0)
  113 
  114 def setValue(self, val):
  115 self.spinbox.setValue(val)
  116 self.updateProgBar()
  117 
self = <kanvasbuddy.kbsliderpresets.KBSizeSlider object>
self.spinbox = <PyQt5.QtWidgets.QSpinBox object>
self.spinbox.setValue = <built-in method setValue of QSpinBox object>
val = 50.0
TypeError: setValue(self, int): argument 1 has unexpected type 'float'
    __cause__ = None
    __class__ = <class 'TypeError'>
    __context__ = None
    __delattr__ = <method-wrapper ' __delattr__' of TypeError object>
    __dict__ = {}
    __dir__ = <built-in method __dir__ of TypeError object>
    __doc__ = 'Inappropriate argument type.'
    __eq__ = <method-wrapper ' __eq__' of TypeError object>
    __format__ = <built-in method __format__ of TypeError object>
    __ge__ = <method-wrapper ' __ge__' of TypeError object>
    __getattribute__ = <method-wrapper ' __getattribute__' of TypeError object>
    __gt__ = <method-wrapper ' __gt__' of TypeError object>
    __hash__ = <method-wrapper ' __hash__' of TypeError object>
    __init__ = <method-wrapper ' __init__' of TypeError object>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper ' __le__' of TypeError object>
    __lt__ = <method-wrapper ' __lt__' of TypeError object>
    __ne__ = <method-wrapper ' __ne__' of TypeError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of TypeError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of TypeError object>
    __repr__ = <method-wrapper ' __repr__' of TypeError object>
    __setattr__ = <method-wrapper ' __setattr__' of TypeError object>
    __setstate__ = <built-in method __setstate__ of TypeError object>
    __sizeof__ = <built-in method __sizeof__ of TypeError object>
    __str__ = <method-wrapper ' __str__' of TypeError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    args = ("setValue(self, int): argument 1 has unexpected type 'float'",)
    with_traceback = <built-in method with_traceback of TypeError object>

The above is a description of an error in a Python program. Here is
the original traceback:

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kanvasbuddy.py", line 57, in launchInterface
    ui = uikanvasbuddy.UIKanvasBuddy(self)
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\uikanvasbuddy.py", line 50, in __init__
    self.panelStack = KBPanelStack(self)
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbpanelstack.py", line 35, in __init__
    self._mainWidget = KBMainWidget()
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py", line 41, in __init__
    self.initSliders()
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py", line 59, in initSliders
    self.synchronizeSliders()
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbmainwidget.py", line 82, in synchronizeSliders
    self.propSliders.synchronizeSliders()
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderbar.py", line 48, in synchronizeSliders
    self._sliders[slider].synchronize()
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderpresets.py", line 29, in synchronize
    self.setValue(self.view.brushSize())
  File "C:\Users\user\AppData\Roaming\krita\pykrita\kanvasbuddy\kbsliderspinbox.py", line 115, in setValue
    self.spinbox.setValue(val)
TypeError: setValue(self, int): argument 1 has unexpected type 'float'

```

Is it just me or is this a problem?

---

<div class="post-metadata">

**Author:** ![Taffs\_swagging](https://krita-artists.org/user_avatar/krita-artists.org/taffs_swagging/32/88128_2.png) [@Taffs\_swagging](https://krita-artists.org/u/Taffs_swagging)\
**Post date:** [August 19, 2023, 9:21am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/190 "2023-08-19T09:21:54Z")

</div>

hey! I’ve been using kanvasbuddy for a while but ever since the beta releases of krita it doesn’t seem to be working anymore? whenever I try to use it only this pops up

 ![image](https://krita-artists.org/uploads/default/original/3X/3/9/39243581f1fb68a4c11afea2ad87920f465dd8c3.png)

---

<div class="post-metadata">

**Author:** ![blowingking](https://krita-artists.org/user_avatar/krita-artists.org/blowingking/32/88156_2.png) [@blowingking](https://krita-artists.org/u/blowingking)\
**Post date:** [August 19, 2023, 3:06pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/191 "2023-08-19T15:06:53Z")

</div>

this is what pops up when I open KB and it’s not working is there a solution

 ![Screenshot 2023-08-19 145941](https://krita-artists.org/uploads/default/original/3X/d/c/dc85d110fcc9534bfd3403777e5c32c57023dcc6.jpeg)

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [August 19, 2023, 3:39pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/192 "2023-08-19T15:39:40Z")

</div>

@blowingking, which version of Krita, Windows and Kanvas Buddy do you use?

The shown version of Python in your screenshot indicates that you are not running the current BETA. If you are running a Krita 5.x-Version, then you can use the version offered here by @Halcyoen:

> [@KanvasBuddy - a Minimalist Toolbar](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/165):
>
> regarding "AttributeError: ‘QWidgetItem’ object has no attribute ‘itemAtPosition’ ". this is a bug in kapiyas official version of this plugin that shows up when the plugin tries to hide some buttons in the brush preset chooser based on their location in the ui. i guess the layout of the widget changed at some point on the way to krita 5 so the script can’t find those buttons anymore. i have made a patched version that you can download here: [download](https://github.com/halcyoen/KanvasBuddy/raw/master/kb-0-5-unofficial.zip)[source](https://github.com/halcyoen/KanvasBuddy) youll probably have to delete the f…

The thing is, on versions before the current BETA’s at least @Halcyoen’s version will work, so what are your “working conditions”?

Michelist

---

<div class="post-metadata">

**Author:** ![blowingking](https://krita-artists.org/user_avatar/krita-artists.org/blowingking/32/88156_2.png) [@blowingking](https://krita-artists.org/u/blowingking)\
**Post date:** [August 19, 2023, 3:47pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/193 "2023-08-19T15:47:08Z")

</div>

thank you it works now

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [August 19, 2023, 3:55pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/194 "2023-08-19T15:55:13Z")

</div>

Would you mind telling us what you did? Maybe someone can profit from your solution?

Michelist

---

<div class="post-metadata">

**Author:** ![blowingking](https://krita-artists.org/user_avatar/krita-artists.org/blowingking/32/88156_2.png) [@blowingking](https://krita-artists.org/u/blowingking)\
**Post date:** [August 19, 2023, 4:03pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/195 "2023-08-19T16:03:19Z")

</div>

I just downloaded this version that you suggested and it worked [KanvasBuddy - a Minimalist Toolbar - #165 by Halcyoen](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/165)

---

<div class="post-metadata">

**Author:** ![blowingking](https://krita-artists.org/user_avatar/krita-artists.org/blowingking/32/88156_2.png) [@blowingking](https://krita-artists.org/u/blowingking)\
**Post date:** [August 19, 2023, 6:12pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/196 "2023-08-19T18:12:30Z")

</div>

thank you for this amazing plugin now I can fully work in full-screen mode

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [August 19, 2023, 7:08pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/197 "2023-08-19T19:08:59Z")

</div>

I don’t know if you are aware of @wojtryb’s ‘Shortcut Composer’, but that is a very good addition to Kanvas Buddy, and in many places a replacement as well:

> [@Shortcut Composer v1.6.1 - Plugin for Pie menus, Multiple key assignment, Mouse trackers and more!](https://krita-artists.org/t/shortcut-composer-v1-4-0-plugin-for-pie-menus-multiple-key-assignment-mouse-trackers-and-more/55314):
>
> Shortcut composer v1.6.1 [[python]](https://www.python.org) [[Code style: black]](https://pypi.org/project/autopep8/) [[License: GPLv3]](https://www.gnu.org/licenses/gpl-3.0) [[wojtryb website]](https://youtube.com/wojtryb) [[wojtryb twitter]](https://twitter.com/wojtryb) [[wojtryb portfolio]](https://cara.app/wojtryb) Extension for painting application [Krita](https://krita.org/), which allows to create custom, complex keyboard shortcuts. The plugin adds new shortcuts of the following types: [Pie menu](https://github.com/wojtryb/Shortcut-Composer/wiki/Plugin-actions#pie-menus) - while key is pressed, displays a pie menu, which allows to pick values by hovering a mouse. [Cursor tracker](https://github.com/wojtryb/Shortcut-Composer/wiki/Plugin-actions#cursor-trackers) - while key is pressed, tracks a cursor, switching values according to cursor offset. [Canvas pr…](https://github.com/wojtryb/Shortcut-Composer/wiki/Plugin-actions#canvas-previews)

Michelist

Add/Edit: If you additionally install “Krita-UI-Redesign” from @slightlyangrydodo, then you’ll have an extremely comfortable workspace with everything one could possibly need while painting. At least, if you don’t take your favorite drink and small snacks for in between into account.

> [@UI Redesign V0.2! Feedback and Test requested!](https://krita-artists.org/t/ui-redesign-v0-2-feedback-and-test-requested/15217):
>
> Brand new release of the UI Redesign plugin! Hello there, and it’s exciting to open up a new thread for brand-new feedback! It’s been quite some time since the last version, and A LOT has changed! Bugs were fixed, features were added, and refactors were made! Here’s how it’s looking so far: And here’s how it’s looking by default using my custom theme for comparison: Light Theme (disregard the dark background, the settings weren’t doing anything I’m afraid) You ca…

> [@Krita UI Redesign v0.5 alpha released, requesting feedback!](https://krita-artists.org/t/krita-ui-redesign-v0-5-alpha-released-requesting-feedback/33130):
>
> Hello there! After quite a few months of on and off work, I think that the current version of the UI is stable enough for proper feedback once again. Regarding the layers docker, the vertical separators inside each layer will be removed in Krita 5.1, [a fix was just merged](https://invent.kde.org/graphics/krita/-/merge_requests/1203). To test it out, download the alpha [here](https://github.com/veryprofessionaldodo/Krita-UI-Redesign/releases/tag/v0.5-alpha), and install using the instructions in the [README](https://github.com/veryprofessionaldodo/Krita-UI-Redesign/blob/master/README.md). More suggestions, as well as general feedback will be greatly appreciated! Let’s try to get this in a “production-ready” s…

---

<div class="post-metadata">

**Author:** ![Halcyoen](https://krita-artists.org/user_avatar/krita-artists.org/halcyoen/32/88303_2.png) [@Halcyoen](https://krita-artists.org/u/Halcyoen)\
**Post date:** [August 19, 2023, 9:12pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/198 "2023-08-19T21:12:09Z")

</div>

@KIO @PlestoceneGarbage @Taffs_swagging

i have updated my patch for Krita 5.2. you will need to reinstall the plugin:

[download](https://github.com/halcyoen/KanvasBuddy/raw/master/kb-0-5-unofficial.zip)  
[source](https://github.com/halcyoen/KanvasBuddy)

(same links as in my earlier posts)

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [August 23, 2023, 2:18am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/199 "2023-08-23T02:18:02Z")

</div>

@Halcyoen: Thank you for acting and updating one of my most popular plugins!

Michelist

---

<div class="post-metadata">

**Author:** ![KIO](https://krita-artists.org/user_avatar/krita-artists.org/kio/32/25124_2.png) [@KIO](https://krita-artists.org/u/KIO)\
**Post date:** [August 24, 2023, 12:42pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/200 "2023-08-24T12:42:26Z")

</div>

Thank you for the update!  
It was a very important plugin for me and I appreciate it very much!

---

<div class="post-metadata">

**Author:** ![KIO](https://krita-artists.org/user_avatar/krita-artists.org/kio/32/25124_2.png) [@KIO](https://krita-artists.org/u/KIO)\
**Post date:** [August 24, 2023, 12:43pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/201 "2023-08-24T12:43:15Z")

</div>

That plugin is a good and useful one too.  
I had checked it out too, but I didn’t think it was possible to register a docker. Is it possible?  
I’m using a display that is not that wide, so KB would be very helpful.

---

<div class="post-metadata">

**Author:** ![Michelist](https://krita-artists.org/user_avatar/krita-artists.org/michelist/32/65826_2.png) [@Michelist](https://krita-artists.org/u/Michelist)\
**Post date:** [August 24, 2023, 2:50pm UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/202 "2023-08-24T14:50:45Z")

</div>

Shortcut composer is for very versatile pie-menus and allows configuring them the way you like, if your question was geared towards shortcut-composer.  
For me, the advantage(s) arise out of the combination of the three plugins KanvasBuddy, Shortcut-Composer & UI-Redesign. And I have to admit using a relatively large workspace with my 3 display-setup, from left to right 24’‘, 32’‘, 37’', but unfortunately can’t paint currently because of a nervous disease.

Michelist

---

<div class="post-metadata">

**Author:** ![KIO](https://krita-artists.org/user_avatar/krita-artists.org/kio/32/25124_2.png) [@KIO](https://krita-artists.org/u/KIO)\
**Post date:** [August 28, 2023, 5:26am UTC](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549/203 "2023-08-28T05:26:17Z")

</div>

Thanks for the reply. It’s a lovely workspace.  
Please take care of yourself.

[Previous page](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549.md?page=9)

[Next page](https://krita-artists.org/t/kanvasbuddy-a-minimalist-toolbar/549.md?page=11)
