[BUG]: JavaFX/SWT applications don't get managed #578

Closed
opened 2026-01-05 14:51:42 +01:00 by adam · 5 comments
Owner

Originally created by @Insprill on GitHub (Feb 26, 2025).

Summary

When opening any* JavaFX or SWT application, komorebi won't recognize its existence.

I've been able to reproduce this 100% reliably with TuxGuitar (SWT) and MCA Selector (JavaFX). Simply opening either of them will demonstrate the problem.

Adding either of these applications to the manage_rules array in the komorebi config does not solve the issue; however, manually running komorebic manage does.

Version Information

komorebic 0.1.34
tag:v0.1.34
commit_hash:80edcadb
build_time:2025-02-21 02:21:41 +00:00
build_env:rustc 1.85.0 (4d91de4e4 2025-02-17),stable-x86_64-pc-windows-msvc

Komorebi Configuration

bc5e16ca03/dot_config/komorebi/komorebi.json

Hotkey Configuration

bc5e16ca03/dot_config/autohotkey/komorebi.ahk

Output of komorebic check

No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\Insprill

Looking for configuration files in C:\Users\Insprill

No komorebi configuration found in C:\Users\Insprill

If running 'komorebic start --await-configuration', you will manually have to call the following command to begin tiling: komorebic complete-configuration
Originally created by @Insprill on GitHub (Feb 26, 2025). ### Summary When opening any* JavaFX or SWT application, komorebi won't recognize its existence. I've been able to reproduce this 100% reliably with [TuxGuitar](https://github.com/helge17/tuxguitar) (SWT) and [MCA Selector](https://github.com/Querz/mcaselector) (JavaFX). Simply opening either of them will demonstrate the problem. Adding either of these applications to the `manage_rules` array in the komorebi config does not solve the issue; however, manually running `komorebic manage` does. ### Version Information ``` komorebic 0.1.34 tag:v0.1.34 commit_hash:80edcadb build_time:2025-02-21 02:21:41 +00:00 build_env:rustc 1.85.0 (4d91de4e4 2025-02-17),stable-x86_64-pc-windows-msvc ``` ### Komorebi Configuration https://github.com/Insprill/dotfiles/blob/bc5e16ca032ed716b1b391cd39896d1cd94f8381/dot_config/komorebi/komorebi.json ### Hotkey Configuration https://github.com/Insprill/dotfiles/blob/bc5e16ca032ed716b1b391cd39896d1cd94f8381/dot_config/autohotkey/komorebi.ahk ### Output of komorebic check ``` No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\Insprill Looking for configuration files in C:\Users\Insprill No komorebi configuration found in C:\Users\Insprill If running 'komorebic start --await-configuration', you will manually have to call the following command to begin tiling: komorebic complete-configuration ```
adam added the bug label 2026-01-05 14:51:42 +01:00
adam closed this issue 2026-01-05 14:51:42 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Feb 27, 2025):

Java GUI apps in general don't send a Show notification on launch, you'll need to identify them as object_name_change_applications - this worked for me for both apps in my komorebi.json:

  "object_name_change_applications": [
    {
      "id": "javaw.exe",
      "kind": "Exe",
      "matching_strategy": "Equals"
    },
    {
      "id": "MCA Selector.exe",
      "kind": "Exe",
      "matching_strategy": "Equals"
    }
  ],

Feel free to upstream these and any other Java apps to the asc repo

@LGUG2Z commented on GitHub (Feb 27, 2025): Java GUI apps in general don't send a `Show` notification on launch, you'll need to identify them as `object_name_change_applications` - this worked for me for both apps in my `komorebi.json`: ```json "object_name_change_applications": [ { "id": "javaw.exe", "kind": "Exe", "matching_strategy": "Equals" }, { "id": "MCA Selector.exe", "kind": "Exe", "matching_strategy": "Equals" } ], ``` Feel free to upstream these and any other Java apps to the asc repo
Author
Owner

@Insprill commented on GitHub (Feb 27, 2025):

The classes of MCA Selector and TuxGuitar are GlassWndClass-GlassWindowClass-2 and SWT_Window0, respectively. I'm not sure what exactly influences them, but would it be worth adding a "catch-all" rule for any windows with classes starting with SWT_Window or GlassWndClass, or running from javaw.exe? Since it seems to be all Java applications that are broken like that, I feel having those rules would be more beneficial than hunting down every possible misbehaving application.

@Insprill commented on GitHub (Feb 27, 2025): The classes of MCA Selector and TuxGuitar are `GlassWndClass-GlassWindowClass-2` and `SWT_Window0`, respectively. I'm not sure what exactly influences them, but would it be worth adding a "catch-all" rule for any windows with classes starting with `SWT_Window` or `GlassWndClass`, or running from `javaw.exe`? Since it seems to be all Java applications that are broken like that, I feel having those rules would be more beneficial than hunting down every possible misbehaving application.
Author
Owner

@LGUG2Z commented on GitHub (Feb 28, 2025):

If there are any other Java GUI framework apps you could check out the classes for to sanity check the uniformity of these class prefixes, I think that would be enough due diligence to add the catch-alls to the asc repo

@LGUG2Z commented on GitHub (Feb 28, 2025): If there are any other Java GUI framework apps you could check out the classes for to sanity check the uniformity of these class prefixes, I think that would be enough due diligence to add the catch-alls to the asc repo
Author
Owner

@Insprill commented on GitHub (Feb 28, 2025):

I poked through GitHub topics to find some random Java GUI applications and looked at their classes, here's what I got:

@Insprill commented on GitHub (Feb 28, 2025): I poked through GitHub topics to find some random Java GUI applications and looked at their classes, here's what I got: - `GlassWndClass-GlassWindowClass-N` - [MCA Selector](https://github.com/Querz/mcaselector), [dv-custom-car-manager](https://github.com/Insprill/dv-custom-car-manager), [xpipe](https://github.com/xpipe-io/xpipe), [JabRef](https://github.com/JabRef/jabref), [PDFsam](https://github.com/torakiki/pdfsam), [PrettyZoo](https://github.com/vran-dev/PrettyZoo) I'm not sure what influences N, I've only seen 2 and 3. - `SWT_WindowN` - [TuxGuitar](https://github.com/helge17/tuxguitar) (Couldn't find any others) - `SunAwtFrame` - Minecraft 1.0, [Apache NetBeans](https://netbeans.apache.org/) These applications are managed correctly, so no rules are needed.
Author
Owner

@vanillagreencom commented on GitHub (Nov 17, 2025):

I cant seem to get Trader Workstation from Interactive Brokers to manage either. It has SunAwtFrame class as well

tried below also:
"object_name_change_applications": [
{
"kind": "Exe",
"id": "tws.exe",
"matching_strategy": "Equals"
},
]

@vanillagreencom commented on GitHub (Nov 17, 2025): I cant seem to get Trader Workstation from Interactive Brokers to manage either. It has SunAwtFrame class as well tried below also: "object_name_change_applications": [ { "kind": "Exe", "id": "tws.exe", "matching_strategy": "Equals" }, ]
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#578