Window List Applets and the Cinnamon Desktop Environment
Tagged with cinnamon, code, linux, workspaces on February 21, 2025
The beauty of Linux is that it’s all about choices, unlike Windows or macOS. The hundreds of different distributions actively being maintained is proof enough. Regardless of the distribution, there are usually multiple ways to accomplish a specific task. With the Cinnamon desktop environment, choosing a window list applet is just one of the ways to change things up.
There are three stock window list applets available: “Window list”, “Windows Quick List”, and “Grouped window list”. There are two more available from the Cinnamon Spices repository: “Cassia Window List” and “CobiWindowList”.
Window List Applets
The two oldest window list applets, “Window list” and “Windows Quick List” are all that I need. I’ve tried pinning applications with the other three, and I just don’t like having them on the panel when the applications aren’t open. Pinning applications to other workspaces works well enough, but there’s no way to know for sure where something’s pinned without switching workspaces. Not unless they’re already open.
The Windows Quick List only displays open windows. Putting the idea of pinning applications to specific workspaces behind me, I decided to use the ability to display open windows to effective use. A dialog application, opened at startup, can be placed on any workspace with the help of a command line automation tool. For my purposes, I prefer “xdotool”.
Having a dialog displayed on any workspace will make it visible as being open with the Windows Quick List. It will also be viewable when showing the workspace selection screen. Of course, each dialog will get smaller as workspaces are added.
Dialogs
There are multiple dialog applications available, with only two (that I know of) that work as windows: “Zenity” and “YAD". The version of Zenity in the repository is old, while the version of YAD in the repository is ancient. I created a dialog with Zenity using the only version available to me without compiling it myself. I haven't used YAD yet, but I found instructions on how to build an up-to-date version.
I created a Zenity dialog based on an example I found at Tom's Hardware. I quickly learned that only the items that include spaces have to be surrounded by quotation marks, and that equal signs aren’t even required. The dialog will remain after an item is selected unless “break” (without the quotes) is placed below “esac”.
I’ve read in various places that YAD is better than Zenity, but both are being actively developed. Until I work with YAD, I can’t even offer an opinion.
A Startup Script
I’ve only created one dialog so far, but I’ve tested it on three workspaces (I assigned the shortcuts for direct navigation):
xdotool key ctrl+alt+2 /home/username/ws-games.sh & sleep 3 xdotool key ctrl+alt+3 /home/username/ws-games.sh & sleep 3 xdotool key ctrl+alt+4 /home/username/ws-games.sh & sleep 3 xdotool key ctrl+alt+1
When I placed it in the startup applications, I had to put a delay of 10 seconds to allow for the main screen to appear after logging in. The only real issue I have is font sizes. There doesn’t seem to be a way to make them large enough when using more than four workspaces.
Another Idea
I don’t know if I’ll actually use Zenity or YAD. I’m pursuing another idea, and I’ll post a follow-up article (or an update section below) if that idea pans out.
Image by Cinnamon developer, LGPL, via Wikimedia Commons
← Previous Article