Nitrux is a Linux distribution that does things very differently than other distributions, or at least to what most people are accustomed to seeing in other Linux distributions, from the desktop workflow to software management and its underpinnings and, ultimately, many of its goals. As such, many people may need assistance getting to know this distribution, so in today’s tutorial, we will check out how to use NX Desktop.

After reading this tutorial, we expect users to understand this distribution better and be able to make better use of the default layout in Nitrux, so let’s begin.

Difficulty: ★☆☆☆☆

📜 Table of Contents

  1. Get to Know NX Desktop
    1. What is NX Desktop?
    2. NX Desktop layout (default)
  2. Using NX Desktop
    1. No window controls?
    2. Dude, where is my title bar?
    3. Interacting with application windows
    4. Using the HUD (plasma-hud)
    5. Enabling window tiling (Bismuth)

Get to Know NX Desktop

After installing Nitrux following our tutorial (and if the user selected the option to log in automatically), you’ll be greeted by NX Desktop on an X11 session; this is the default graphical session.

What is NX Desktop?

We’ve covered what NX Desktop is on this website before, but in summary.

  • NX Desktop is a customization layer on top of Plasma 5. While initially, it focused on made-from-scratch artwork, we’ve extended it over the years to include configuration for the window manager, dock, desktop settings, system settings, user configuration, etc.
  • However, despite this extensive configuration of many different settings, NX Desktop is not a desktop environment (as we mentioned). NX Desktop does not provide a desktop shell or applications.

The default appearance of NX Desktop.

Now that we know what it looks like, what it is, and what it isn’t, let’s look at what things are called and what they do. Looking at the image below, we have the following items. From left to right and top to bottom.

NX Desktop layout (default)

  • Top Panel
    • Window Controls.
      • This top panel area will always display the window controls in the following order.
        • Close
        • Maximize/Restore
        • Minimize
    • Window Title.
      • This top panel area will always display the application title.
    • Window File Menu bar.
      • This top panel area will always display the application’s menu items (or menu bar, as other OSes and desktop environments call these items) from applications that support exporting their menus.
    • System Tray.
      • This top panel area will always display the desktop system tray applets where the user can view notifications, control night color, manage networks, manage supported printers, see clipboard history, change keyboard layout, control the volume, access other items with less priority, and lastly, see the clock and calendar.
  • Dock
    • Applications Menu.
      • This item in the dock will display a grid with all the available applications.
    • Virtual Desktops Overview.
      • This item in the dock gives users quick access to the Overview, which allows for a general view of the current virtual desktop and other virtual desktops. Additionally, users can add or remove virtual desktops using the Overview and move windows from one virtual desktop to another.
    • Task Manager.
      • This item in the dock lists pinned application launchers and non-pinned but running applications. It also allows users to access certain application functionality, such as home directories (like in Index), recent files (most text editors), send application windows to other virtual desktops, or window controls (maximize, minimize, close, restore, etc.).
    • Session Controls.
      • This item in the dock will display the session controls, which allow the user to select an action such as shutdown, reboot, logout, suspend, etc.

The layout of NX Desktop.

This covers everything about knowing NX Desktop; now, let’s move towards using NX Desktop.

Using NX Desktop

Let’s address the “elephant in the room” first. The biggest shock to many people is two-fold: the window controls are on the top panel and not in the windows themselves, and the other is that windows, in general, don’t have “a title bar” in the default desktop layout.

No window controls?

We intentionally introduced both changes in Nitrux 2.0.0 (released on the 29th of January, 2022) to address many complaints that things were “broken” regarding window decorations in Nitrux 1.8.0. These complaints stemmed from enabling CSD (Client Side Decorations) for our Maui Apps applications for that release. However, since not every application we include uses MauiKit (our GUI framework) like Firefox, LibreOffice, Ark, Kcalc, etc., this change meant that these other apps would not use CSD, resulting in what some people hastily called a “jarring look.”

Thus, Nitrux 2.0.0 introduced a solution which is the current NX Desktop layout. We were still after the CSD look, but given the circumstances from the previous release, we resolved to modify the window decoration and disable CSD for the Maui Apps.

To achieve what we wanted, we decided to move the window controls to a location that never changes position, regardless of the location of the application window within the desktop area or the orientation of the desktop, or the number of windows on the desktop, or virtual desktop in use, which is good for muscle memory.

Furthermore, moving the window controls next to the window title and the window tool menu items makes it easier to identify which application is the active window, as well as having an area where the application can export the majority of its menu items for easier access, which is helpful for applications with extensive menus like video editors, image editors, or advanced text editors including IDEs.

The location of the window controls in that area facilitates easy adjustment for touch input devices, too, as demonstrated in Nitrux 2.8.0.

Dude, where is my title bar?

We will now discuss the second significant change involving window decorations, specifically the title bar. In making these changes, we aimed to achieve a uniform appearance for all windows, regardless of the GUI toolkit they use. To accomplish this, we modified the window decoration, including hiding the title bar from the decoration and removing the window controls.

These changes help us display windows that occupy less space on the desktop; this feature works in tandem with our inclusion of the KWin plugin Bismuth, which is a plugin that makes KWin function like a tiling window manager.

Both changes are helpful when using an application in a maximized window, for example, running apps on a tablet device. Visually, the maximized window would occupy most of the physical screen real-state, with the top panel hosting its window controls, title, and file menu bar, again, in positions that would never change.

We hope this context helps users understand why the layout is how it is.

Our standard position for window controls.

  • 🔰 Information: Users can adjust the layout to fit their workflow if they don’t want to use the defaults. However, while our layout is different (to some, it is drastically different, and we understand where they’re coming from), it is highly functional as we make our top panel, conversely, drastically more functional than other operating systems.

Interacting with application windows

Having said that, if the title bar is what users using other operating systems and desktop environments interact with to move windows around the desktop, and it’s hidden in Nitrux, how do users move windows? Well, that’s pretty easy to do by doing the following.

 Hold the modifier key ALT, then left-click the window and drag the application window by moving the mouse or using the touchpad/trackpad.

That’s it.

  • ⚠️ Important: Some windows do not support moving the window if not from the window decoration, like Telegram when using native window decorations or Electron apps that use native window decorations, such as GitHub Desktop. In these cases, use the Plasma keyboard shortcut to drag a window or right-click on the Latte Dock over the application icon, select More Actions, and click Move.

Disclaimer: We do not develop the KWin window manager. Please create issues at its bug tracker here to request features or report problems.

Using the HUD (plasma-hud)

The HUD (provided by plasma-hud) or Heads UP Display uses an intelligent search-based approach to finding and accessing menu items you need. Instead of hunting through menus to find a command, just type what you want (express your intent) and let the HUD show you precisely what you need. Rather than navigating menus to find an application function, just press the MENU key and type what you want the application to do.

MENU key. The icon may differ from the picture.

To complete the action, press RETURN/ENTER or select one of the alternative functions presented in the auto-complete.

The application menu in the HUD provides a fast and efficient way to complete any journey. The HUD also makes functionality more discoverable by matching and displaying available options when the user types what they want; this includes options usually hidden in a sub-sub menu.

The applicability of this new feature is extensive; it will provide a new way of working with any application compatible with the global menu applet on the Window File Menu bar area.

Enabling window tiling (Bismuth)

As of January 31st 2023, Bismuth is now unmaintained by its developer, meaning there’s no guarantee it will continue to work. We will continue shipping it for as long as it works until we can replace NX Desktop with Maui Shell in future releases.

Bismuth is a KDE Plasma add-on that tiles your windows automatically and lets you manage them via keyboard, similar to i3, Sway, or dwm. Its main features are the following.

  • Automatic window tiling. Save your time by automatically managing application windows on your screen.
  • Plasma integration. Power up your workflow using native Plasma features – Virtual Desktops and Activities.
  • Multiple Layouts. Use different layouts in different contexts.

To enable it, open System Settings, navigate to Window Management > Window Tiling, and check Enable window tiling.

  • 🔰 Information: Bismuth is not enabled by default.

Bismuth configuration KCM.

You can view the shortcuts in System Settings > Shortcuts > Window Tiling. If you want, you may also make a couple of manual fixes and tweaks to improve your experience with window tiling.

  • 🔰 Information: Users can tweak Bismuth following the guide here.

That’s it; this concludes today’s tutorial.