mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 14:40:25 +01:00
[BUG]: Can't ignore some of the Unreal Engine windows. #514
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @daltongd on GitHub (Nov 6, 2024).
Summary
When configuring the ignore rules in komorebi, I came across an issue which prevents me from excluding some Unreal Engine windows that I would prefer to work as pop ups unmanaged by komorebi.
I've tried a few things and it seems it is relevant only to some types of Unreal Engine windows. The class for each of them is simply
UnrealWindow.In this example I wasn't able to set up the rules for the

Open Assetwindow. The other one (New Level) is a dialogue window that prevent any interaction with the main window. The rule for this one worked ok.I had success setting the rules also for other windows that act as a sort of in-editor dialog for creating new C++ classes - this one however allowed me to interact with the windows underneath.
komorebic visible-windowsoutput for the relevant monitor before the rules were applied:Ignore rules - the
Open Assetdoesn't work,New Level's behavior is as expected:I noticed that when the ignore rule is present, the
Open Assetwindow can be moved around, but it will still take up its space, and whenever I click on the main editor window it jumps back into its position. This doesn't happen when there is no rule - in such case the window is correctly managed by komorebi.I did some digging and found base engine classes those windows are created with, it doesn't seem to help much:
New Level->SWindow(rule works)Open Asset->SDockTab(rule doesn't work)Both
SWindowandSDockTabderive fromSCompoundWidgetwhich is a base for most Unreal's editor widgets.Open Assetseems to have only a single 'flag' set and it'sTabRolebeing set toNomadTab. The windows I had success ignoring seem to be meant as dialogs.I can ignore all the windows when I exclude the whole
UnrealWindowclass, but this means komorebi doesn't manage any editor window including the main one.Like this:
I thought that maybe there is a chance a composite rule could help here, but no luck. This is what I tried:
This one also didn't work:
I tried my best going as deep with the research as I thought it made sense, but I'm more than happy to both dig deeper into Unreal's source, as well as try applying some solutions in the komorebi codebase, so that no maintainer has to install and learn to navigate Unreal. I'll be thankful for any pointers or ideas, as well as patches to test in my setup. Happy to try things I might not have thought of as well!
Version Information
this was true also on the version from winget I installed earlier
Komorebi Configuration
Hotkey Configuration
Output of komorebic check
@LGUG2Z commented on GitHub (Nov 6, 2024):
I think I partly see what is happening here, from the asc repo readme:
You should add the rules directly to your
komorebi.jsonfile if you want them to be applied on the fly ^Can you try adding your composite rules here in
komorebi.json, and then restarting UE to see if they have taken effect?If they work, we can add them to the asc repo, then you can pull the latest version with
komorebic fetch-ascand restart the komorebi process (komorebic stop; komorebic start) to load the new version.@daltongd commented on GitHub (Nov 6, 2024):
Thank you, I've been completely restarting komorebi every time I changed my config, but this time I've also tested adding this to the root of the
komorebi.json:The behaviour is identical - it seems komorebi tries to let go off this window, but it still takes its space, and whenever I click on the main window, it snaps back into position.
I recorded a quick video - sorry for the quality and how fast I had to move to show this, but I hope it'll be clear.
It seems like it's really trying not to manage this window but fails for some reason. By getting the right timing of using the shortcut that pops up the
Open Assetswindow, I am even able to make it work for as long as I don't close it and reopen again. I included it in the video.You can also see that I'm able to move this window around, but then when I click on the main window it gets back to its position.
https://github.com/user-attachments/assets/a3a3ed22-406c-4674-a39c-2e1e2ea3192e
Let me know in case this isn't clear enough, I can try to record it again with mouse clicks visible.
Btw, thanks a lot for the tip with
ignore_ruleswithin thekomorebi.json- I was sure I have to completely stop komorebi and start it again every time to apply those changes. It works like a charm for other windows.@LGUG2Z commented on GitHub (Nov 6, 2024):
Interesting, thanks for the additional info! I guess it's time for me to download UE and poke around myself 🤠
@daltongd commented on GitHub (Nov 6, 2024):
Enjoy! It's still early for me looking through komorebi's source, but I will fiddle with it and in case I'll find anything that could help, I'll post the findings here. Same when I'll find more details about how those windows are created in the engine.
Just in case, the shortcut for opening/closing the
Open Assetwindow isCtrl+P! 😄@LGUG2Z commented on GitHub (Nov 8, 2024):
Ok I was able to download UE and reproduce what you mentioned.
Can you try adding the following to your config?
This first one is what got the floating/ignore rules to apply to the popup windows for me:
And then target the asset window as a floating app window (floating keeps it on the same workspace vs. ignore which shows it on every workspace)
This was one more that I found for the splash screen at the start:
@daltongd commented on GitHub (Nov 10, 2024):
Ok, so this is actually perfect! Works like a charm, thank you!
This is some of the windows I was able to recognize as ones that probably shouldn't tile, I'm pretty sure there are many others, so I'm not completely sure it makes sense to add like 20 of them to the ASC.
I think I may go with this instead, but this is not a 'one size fit all' solution, sometimes you want other editor windows to tile. My current workflow recently revolves around one editor window on a single workspace mostly, so at the moment this would work just ok.
But I'm happy to take a bit of time and try to use Unreal for a while and keep hand picking the windows I think would work better if not tiled. I'll see if there is any way I could generalize the rules or pick a reasonable minimum of them so that we don't clutter the ASC too much.
For now I feel that it's safe to add the ones you mentioned in your last response. Those are immediately useful, and in the meantime I'll spend a few weeks trying out different options.
Thank you once again! This has been a really great experience working with you on this one! Not a but after all, just my ignorance.
I believe we can close this issue now, but please first let me know what do you think the next steps should be and how do you prefer to track it - I can either add a comment to a closed issue later or reopen it when I get back with the findings. Or create a pull request in the ASC repo with some explanation what I came up with - you tell me!
@LGUG2Z commented on GitHub (Nov 13, 2024):
I decided to add the latter here:
47d4907058Even with the floating rules, anyone can hit
alt+tand have those windows become tiled very quickly if they want to!I don't think there are that many people using komorebi with Unreal Editor right now, but thanks to your contributions we have made the first-time setup process a lot nicer for Unreal Engine devs who will try it out in the future!