LGUG2Z / komorebi

A tiling window manager for Windows 🍉
https://lgug2z.github.io/komorebi/
Other
9.69k stars 201 forks source link

BUG? Microsoft Outlook, "Reminders Window" #990

Open ComputerCulture opened 2 months ago

ComputerCulture commented 2 months ago

Hi @LGUG2Z

Microsoft Outlook Reminders Window shows up on all work spacers when changing to a new workspace, yet the main UI will stay on the work space it was open on. Is this a bug? or how can it be implemented so the small reminders window in outlook remains on the same work space as the main UI

Thank you...

LGUG2Z commented 2 months ago

Can you share an image of this? I don't use Outlook so I can't visualize what you're describing.

Generally, popups or windows that are ignored are completely ignored by komorebi, so they will appear wherever the operating system tells them to appear and komorebi will never try to do anything with them.

ComputerCulture commented 2 months ago

Hi @LGUG2Z

Thank you for your reply, i have attached an image of Microsoft Outlook the main UI and the "Reminders Window" I have tried other tiling window managers and also windows virtual desktop and the reminders window will not show up on other work spacers Outlook Reminders Window

alex-ds13 commented 2 months ago

That window is always set to float with a rule on application-specific-configuration. That is needed otherwise komorebi would try to tile that window, which is probably not what you want for a reminders window. The downside of having it set to float is that komorebi ignores it, so it won't hide it when you change workspace.

@LGUG2Z Maybe we could change this behaviour and instead of ignoring the windows we could add them to the floating_windows of the workspace. This way the windows would still be tied to that workspace and be properly hidden when changing workspaces. I know you've previously mentioned adding an ignored-rules to separate the windows one wants to be floating from the ones that need to be ignored and this issue is a case that would be fixed by that...

alex-ds13 commented 1 month ago

You can now fix this with the latest version on master doing this:

    "manage_rules": [
        [
            {
                "kind": "Exe",
                "id": "OUTLOOK.EXE",
                "matching_strategy": "Equals"
            },
            {
                "kind": "Class",
                "id": "#32770",
                "matching_strategy": "Equals"
            }
        ]
    ],
    "floating_applications": [
        [
            {
                "kind": "Exe",
                "id": "OUTLOOK.EXE",
                "matching_strategy": "Equals"
            },
            {
                "kind": "Class",
                "id": "#32770",
                "matching_strategy": "Equals"
            }
        ]
    ],

Then if you want it to always be on the same workspace you can add a workspace_rule for that specific workspace, like this:

    "monitors": [
        {
            "workspaces": [
                {
                    "name": "1",
                    "layout": "BSP",
                    "workspace_rules": [
                        [
                            {
                                "kind": "Exe",
                                "id": "OUTLOOK.EXE",
                                "matching_strategy": "Equals"
                            },
                            {
                                "kind": "Class",
                                "id": "#32770",
                                "matching_strategy": "Equals"
                            }
                        ]
                    ]
                },
                {
                    "name": "2",
                    "layout": "VerticalStack"
                }
            ]
        }
    ],

This will force that reminders window to always show on workspace 1.

@LGUG2Z If you think this is an acceptable solution to this problem maybe you can close this issue. I couldn't find another way of bypassing application-specific-configuration rules, besides force managing the window and then setting it to floating_windows as well. There might be some rules on application-specific-configuration that could be changed from ignore_rules to floating_windows, but I guess those might show up naturally once the users start to use this and realize that there are other windows they would prefer have floating, instead of ignored and start asking for it...

LGUG2Z commented 1 month ago

Then if you want it to always be on the same workspace you can add a workspace_rule for that specific workspace, like this:

I don't think this is implemented for floating applications yet 🤔

alex-ds13 commented 1 month ago

Then if you want it to always be on the same workspace you can add a workspace_rule for that specific workspace, like this:

I don't think this is implemented for floating applications yet 🤔

Oh right! Didn't think of that... I can look into adding that. But can't do it in time for this Saturday's nightly release...

LGUG2Z commented 1 month ago

Workspace rules are always lagging behind since the start of the project 🙃 they only recently got full support for all matchers 😅