Pop!_OS Tiling – Always Float

I’m a fan of tiling window managers. Pop!_OS introduced tiling windows, known as Pop Shell, in version 20.04. While the Pop implementation is not as powerful and functional as a tiling windows manager, like i3 or Awesome, it’s a great start but needs some improvements. In my post, Pop!_OS Switch Workspaces with Super + Number, I recommend adding keyboard mapping to move between workspaces easier.

Some windows don’t work well in tiling mode. The Settings and Calculator applications work better as floating windows

Calculator opening in tiling mode
Calculator opening as a floating window.

The Pop Shell team is working on improvements for managing a combination of floating and tiling windows. In the meantime, you can define specific windows to open in floating mode by default. The .config/pop-shell/config.json file below defines the Settings window, “Gnome-control-center”, and Calculator, “Gnome-calculator”, to open in floating mode.

{
"float": [
{
"class": "Gnome-control-center",
"title": ""
},
{
"class": "Gnome-calculator",
"title": ""
}
],
"log_on_focus": false
}

Currently, only the window class is required in config.json.

How to determine the window class

Finding a window class is simple. Open the application (window). Also open the terminal. In the terminal, run the command: xprop | grep WM_CLASS, then click on the window you want the class for. Back in the terminal you will see the class information. Use the second string as the class.

My Config

{
"float": [
{
"class": "Gnome-control-center",
"title": ""
},
{
"class": "Gnome-calculator",
"title": ""
},
{
"class": "zoom",
"title": ""
},
{
"class": "Org.gnome.Nautilus",
"title": ""
}
],
"log_on_focus": false
}

Moving Forward

In the future, I expect a user interface control will be used to update this config.json file. In the meantime, it’s easy enough to update it manually.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s