Plugin: Subwindow organizer

Kudos for even trying @wojtryb :clap:
Maybe somewhere along the line it’s possible to achieve this. Until then, you’ve delivered a great plugin which brings a lot of joy!

1 Like

Thank you. I’ll notice when canvas input actions or something related to the topic gets added to python scripting.
Good news are I managed to add some further logic to floaters resizing (they open with the proportions of document inside) as well as new action for opening an grayscale overview of a main canvas window in a separate view. I should merge it in next couple of days :slight_smile:

3 Likes

I’m not sure if enough people using the plugin will see my reply to make the survey relevant, but I’ll try anyway.
I’m thinking about changing the main idea behind two background windows. I would like to know which option seems better:

Option 1 (current): there are two separate modes: split screen and one-window mode. Krita remembers which one you picked lastly. When in split screen, second opened window will pop into background, if some of these gets closed, some other will take its place to keep the setup with two windows in back

Option 2 (would need to be implemented): one big window at the back is default. All new documents are opened as floaters. Then you can manually make it a split screen by dragging one of the floaters to the side. Closing any of the background window makes it one window mode again.

  • Option 1 (stay as it is)
  • Option 2 (change)

0 voters

Any other info, as how you use it, which mode usually etc is welcome.

option 2 sounds nice, no hurry, let us know when you done :smiley:

1 Like

I choose option 1 despite one-window mode I use at 95%. In the left and sometime in the right side I prefer to keep reference (as floaters), so I fear that autosplitting dragging is going to be something like Krita’s behavior when I try to change and positioning size of dockers with those 500px autosnapping area, when small position wavering make a catastrophe. At the small monitor (I use Cintiq 13) it is better to control all with hotkeys and distinct commands than with “smart” things.

Not sure if you downloaded the 1.1.0 update where this snapping is already done.
To open split mode you have to drag the cursor to the side with the area being 5px away from the workspace border. To make the split you have to drag the view (not any of the dockers), and basically move the cursor out of the workspace - considering that to grab the view you have to do it somewhere in the middle (buttons and icon on the sides) and it has to be dragged in the middle of the canvas, it’s in face very hard to do it by accident.

In fact it was working so well, that I removed the keyboard/menu action as it was hard to tell exactly which window and on what side should be moved.

At last I created a config file for the plugin that you could make it impossible to go into split screen mode.

Option 2 sounds like it has more flexibility? I don’t feel I’ve used the plugin enough to vote though.

I hope you can find a way to lose the titlebars for the subwindows (I think you mentioned something about that already?). I’m just too picky to use it the way it is - especially as they don’t conform to the Krita theme! :innocent:

I understand the usefulness though - especially for using reference. It occurred to me you can do a similar thing with the old reference plugin as it’s expandable and floatable - though not as flexible overall. I wonder if there’s anything in that code that could be useful?

I’ve been trying to think of a possible workaround for the multi-window scaling/panning you want. Most of the things I’ve thought of don’t seem viable, but I’ve just been considering the overview docker - as you can control scaling, panning and rotation from there; is there any way to rig that to control two or more subwindows? :man_shrugging:

Ok, some news: so I’ve made a lot of progress on the plugin in general. You can expect the 1.2.0 update somewhere around tomorrow (± 1 day I hope). Basically I simplified the split screen mode - the way it is now feels a lot more intuitive, code got shorter, bugs vanished. I’m pretty happy with the change :slight_smile: The action in menu for toggling split mode is gone. It got hard to have control over it, as it started to depend on many factors - maybe it will be back if I write it properly from the beginning, but right now I don’t think its needed at all.

I thought I’ll want to do that, but now they got very important for organizing windows, as you have drag and drop operations on them. Ideally I would like to have them disappear and show only when mouse is over the top area, but to be honest, all my tries on hiding anything in them apart from RMB menu didn’t work.

I never used it, as my default way of using reference was the subwindows mode. That’s why I made that plugin :slight_smile: Maybe I’ll look at the code someday, but I guess that dealing with dockers and subwindows, are a bit different things. I don’t know :slight_smile:

I have no idea how dockers work in general yet :smiley: Maybe this is some kind of an idea, but it sounds really hard to do :stuck_out_tongue: I dropped that idea for now, but I’ll keep this overview docker idea in mind. Thanks :slight_smile:

2 Likes

I think the new version is ready to release:

What’s new in 1.2.0:

  • tabs support and toggling the plugin - the plugin can be switched on and off, and switching between tabs and subwindows in krita settings, will not break it.
  • reworked split screen - now by default there is only one background window. Dragging the floater to the right or left side places it in a split screen. To go out the split screen, any background window has to be moved down.
  • move floater to bottom of the screen to minimize it, and move minimized window up to deminimize.
  • all new floaters are opened in windows with the ratio of the document inside. Newly opened window always takes 10% of workspace area to support different resolutions. This relative size can be configured in config.py file. Other modes can be picked there too.
  • added the “open overview” action that opens the main drawing window in another view with soft proofing enabled. Desired to be used as the grayscale overview, but it has to be manually picked in Settings > Configure krita… > Color Management > Soft Proofing > Model > grayscale
  • preventing the user from breaking actions: manually unsetting “always on top” mode, tile and cascade options when the plugin is on.
  • floaters will resize down, when krita window is made too small to prevent them from being bigger than workspace.

I spend quite a lot of time to make it possible to disable, and enable the plugin in krita runtime, and make it user proof, by disabling the actions that break it, as well as make it possible to switch between tabs and subwindows, without anything breaking. It’s quite essential if someday, somebody would like to add this plugin as a default one in krita - even when enabled, organized toggle can be made off, so the only difference a user would see is one more action in the menu when subwindows are on.

But of course before that it would be thoroughly tested, and probably reworked, if making it official is even possible at all. As I checked now, the multiple krita windows are broke again (when switching the plugin on and off), but I’ll repair it the other time. Apart from that everything should be stable and userproof, so if you happen to find any bugs, script break messages, or even krita crashing, please let me know.

Cheers :slight_smile:

6 Likes

testing it right now, just in time! i formatted my whole setup.

1 Like

Not sure the version I used (may be you can add the info to the “Note” section in the Plugin Manager?) but it not worked, in 1.2.0 it does the “drag to split”.

I have only question – how to return from splitting view back to the “one background” mode?

And thanks a lot for the “Open canvas overwiew” – now I no need to go to the Window>NewWindow>Nameofcanvas + Shortcut to “Color Proof” after each time I begin a work.

You grab the title bar of the subwindow you want to make a floater, move your cursor down (at least 200px to be exact) and release the mouse/pen over the same window.

Oh, and I’m glad you like the overview thing. It should save some time :slight_smile:

1 Like

Here is the thing I noticed: when drag&drop image into Krita as “Open in New document” it just opens if there is no organizer (full image without tabs or anything) unlike File>Open. But after pressing “open canvas overview” what I always do, it organizes all as is should be.
It is not a problem just little confusing.

Yes, I noticed it too after publishing, it’s a bug - to organize you can also demaximized it clicking the middle button on to right.
I haven’t had time to fix that recently, but I’ll tell you once i do :slight_smile:
Thank you for letting me know it happens on your computer too.

I believe I fixed the issue. The change is pushed to master as 1.2.1 - it’s the only thing that was changed.

1 Like

Yes, it is work.

1 Like

I just noticed that recourse page hasn’t your plugin :no_mouth:, do you plan to add it?

It was there and got removed somewhere around 4.4 - I was quite busy at the time and forgot to ask for a reason. I’ll try to remember about it when I’ll be updating my brushpack link there.
Thank for reminding me :slight_smile:

It might be a mistake, there was a lot of pending MR and it might have gotten removed by accident while resolving conflict. The page still needs a bit of work.

No problem. Once I sort out my collage stuff, I’ll dive into it - update the brushpack link and place the plugin once again :slight_smile:

1 Like