X410 version 3.8.0 brings a re-parenting window manager to Windows!

November 18, 2023|

3.8.0
  • X410 now has a re-parenting window manager option for Windowed Apps mode.

    Virtually all modern window managers for Linux GUI desktop environments such as Ubuntu, KDE, Xfce etc. are re-parenting the GUI apps; one or more extra outer windows are added to show window title and buttons as well as other visual decorations without actually affecting the GUI app itself.

    Those extra parent windows are not technically needed for X410 as those window buttons and decorations are handled by Windows. However, as re-parenting window managers are so common on Linux desktop environments, some Linux GUI apps expect such outer parent window to always exist when they update their user interface or calculate their screen position (ex. Apache NetBeans 19).

    The new reparenting mode in X410 should greatly improve the compatibility when running Linux GUI apps. You should no longer need to worry about setting up extra environment variables (ex. _JAVA_AWT_WM_NONREPARENTING) or tweaking configurations for your Linux GUI apps; just run them and they shall be ready!

    If you prefer the previous non-reparenting window manager, you can of course simply uncheck the 'Re-parenting window manager' option in X410.

  • X410 now more consistently and accurately selects a target window while drag-and-drop an item on HiDPI screens in Windowed Apps mode. You should also see fewer flickering screens for some apps (ex. Eclipse IDE) during their drag-and-drop operations.

  • Window decoration hints from Linux GUI apps are now interpreted more naturally logical to the management actions allowed for the window. For example, if a window is allowed to be resizable, maximize and minimize buttons are added regardless of its window decoration hints about those buttons (ex. KDE Dolphin).

  • X410 now tries to ensure the visibility of tooltips and popup menus within the current monitor. This should be handy for systems with multi-monitors and HiDPI screens. But please keep in mind that the final position of those tooltips and popup menus is determined by the app, not X410. Especially when you enable the scaling option in X410, popup menus might be placed outside of the current monitor and become unreachable as Linux GUI apps are not actually aware of their scaled size and position.

  • X410 now correctly detects the IP address for WSL2 version 2.0 and higher even when its experimental features are enabled. For your information, Microsoft added new experimental features to WSL2 in the recently released version 2.0. When you enable one of those features, mirrored networking mode or firewall, WSL2 replaces its existing virtual network adapter with a new one that has a different name, 'vEthernet (WSL (Hyper-V firewall))'. And that caused problems for X410.

JetBrains resurrects the title bar in its new UI for WSL users. Here is a workaround to remove it!

August 28, 2023|

Starting from version 3.7.0, X410 supports running JetBrains products such as IntelliJ IDEA in their new UI without the native Windows title bar. However, JetBrains recently released a new version 2023.2.1 for some of their products and the Windows title bar is brought back for WSL users. If you are running JetBrains products over SSH X11 forwarding from a regular Linux machine, they run cleanly without the title bar as expected.

It seems JetBrains was trying to fix the following problem and ended up penalizing WSL users.

Menu bar missing on all windows except one on tiling WM / under WSLg

While investigating the problem for X410, we found the following snippets in IntelliJ IDEA Community edition open-source codes.

internal val hideNativeLinuxTitleSupported: Boolean
    get() = SystemInfoRt.isXWindow
            && ExperimentalUI.isNewUI()
            && JBR.isWindowMoveSupported()
            && !X11UiUtil.isWSL()
            && !X11UiUtil.isTileWM()
public static boolean isWSL() {
    return SystemInfoRt.isXWindow && System.getenv("WSL_DISTRO_NAME") != null;
}

As you can see from the codes, IntelliJ IDEA specifically checks for WSL and disables its title bar hiding feature regardless of the X server it runs on. Hence, this issue cannot be fixed from X410. But fortunately, you should be able to trick IntelliJ IDEA by removing the environment variable it uses for identifying WSL, i.e., WSL_DISTRO_NAME, before launching it. You can execute the following command to remove the variable.

unset WSL_DISTRO_NAME




Unsetting WSL_DISTRO_NAME environment variable should also work for other JetBrains products as they share their source codes. Since WSL_DISTRO_NAME is rarely used in WSL, removing it should have minimal impact on running other Linux GUI apps. You can of course also restore it back to its original value once your JetBrains product is started.

Happy coding!

Best regards,
X410 Team
Choung Networks

Fixed an annoying bug that unexpectedly made your Linux GUI app topmost! Get the new version 3.7.1!

August 15, 2023|

3.7.1
  • When you use keyboard shortcuts in a Linux GUI app for switching among its floating tool windows, X410 now also synchronizes Windows visuals (ex. window title bar, taskbar icons etc.) accordingly.

  • X410 now tries to set the keyboard input focus to the main window when you first launch an app with additional floating tool windows.

  • If you are using multi-monitors or higher Windows display scaling settings, X410 now automatically adjusts the initial Linux GUI app window size and makes sure it is visible within the current monitor.

  • Fixed a bug that caused a Linux GUI app to unexpectedly become topmost when you click the main window while a tooltip or similar small window is shown.

  • Additional bug fixes and workarounds are also added to improve stability and consistency in managing Linux GUI app windows.

X410 now natively supports the new UI found in IntelliJ IDEA as well as other products from JetBrains. No more Windows title bar and buttons!

August 2, 2023|

3.7.0
  • We have revamped the window management in Windowed Apps mode, and it now behaves more like the modern window managers in Linux GUI environments. For example, popup dialog windows are now always placed above the normal windows even if they do not have a parent window. Those popup dialog windows are also automatically added to the Windows taskbar for easier access.

    Some legacy Java-based Linux GUI apps might have problems properly detecting the new window management module in X410 and show erratic behavior or rendering issues. In such case, please tell us about the app; we will definitely look into it and have it fixed as soon as possible. Meanwhile, please try updating the app to its most recent version. You can also try setting the following environment variable before starting your app.

    export _JAVA_AWT_WM_NONREPARENTING=1
    
    
    
    
  • X410 now shows a more detailed taskbar icon for additional Linux GUI apps running in Windowed Apps mode.

    NOW
    BEFORE VERSION 3.7.0
  • X410 Windowed Apps mode now natively supports the new UI found in the recent versions of products from JetBrains (ex. IntelliJ IDEA), no more Windows title bar and buttons!

    NOW
    BEFORE VERSION 3.7.0
  • X410 now shows the Windows native title bar according to the Windows light and dark app color theme setting.

    Please note that this new feature does not change the color theme of the Linux GUI apps themselves. If you want to change the color theme for your Linux GUI apps, you need to check the available settings and options for each of them (ex. built-in color settings in each app, installing additional theme packages etc.).

    For your information, some Linux GUI apps support centralized color theme settings and you just need to change those main settings. For example, if you have set up an Ubuntu desktop environment like the one outlined in our post, you should be able to set the color theme for all GTK based apps (ex. LibreOffice) simply by changing the Appearance options in Ubuntu Settings (you can access it by executing gnome-control-center) as shown in the following screenshot.

  • CTRL+ALT+F1/F2/F3/F4/F5 can now be used for activating or deactivating X410 in Floating Desktop mode. CTRL+ALT+F1/F2/F3/F4/F5 correspond to the display number 0 through 4 respectively assigned to X410. Please note that these new keyboard shortcuts are available system wide. Hence, you can easily go back to X410 while working on other apps. When you are already interacting with X410, pressing the new keyboard shortcut pushes back X410 to the bottom and activates the first window that was below X410.

  • SHIFT+CTRL+ALT+BACKSPACE can now be used for always keeping X410 Floating Desktop on the bottommost. Pressing SHIFT+CTRL+ALT+BACKSPACE again while X410 Floating Desktop is active ends this bottommost behavior.

Starting from version 3.6.0, you can now purchase a subscription for X410 from Microsoft Store!

July 4, 2023|

3.6.0

This release mainly focuses on implementing modules for the new subscription-based version of X410. There are only minor bug fixes for the core features.

As announced in our other post, X410 will only be available as a subscription in Microsoft Store. Unlike the previously available one-time purchase option, you should be able to find the new X410 subscription more approachable and manageable since it only requires minimal upfront payment and you can easily cancel or renew it via your Microsoft account. It also provides more consistent user experience and convenience as you will always get the most recent version of X410 automatically without any additional upgrading fee or switching to a different app package.

If you want to buy a perpetual licensing (one-time purchase) version instead of the new subscription-based, please consider purchasing the Standalone version directly from our website. Unlike the Microsoft Store version, the Standalone version does not require a Microsoft account and its license can be activated without the Internet.

Comparing Microsoft Store and Standalone versions of X410