guif is a simple command-line utility for Linux/X11 that lists all GUI windows currently open in your session.
It requires no arguments or filters: just run it and see all running graphical applications.
- Lists all GUI windows of the current user.
- Only X11.
- Easy to compile and install.
- Works with any modern window manager supporting EWMH (KDE, GNOME, XFCE, i3, etc.).
- Make sure you have the required libraries installed:
sudo pacman -S libx11-
Download the
main.cppsource file. -
Compile the binary:
g++ main.cpp -lX11 -o guifNow you can run guif from anywhere.
Simply run:
./guifOr, if installed globally:
guifExample output:
Firefox
Telegram
VS Code
Terminal
Each line represents the title of a GUI window.
You can create a desktop launcher so that guif can be started from your application menu or by clicking an icon.
- Create a
.desktopfile:
nano ~/.local/share/applications/guif.desktop- Paste the following content (adjust your terminal emulator if needed):
[Desktop Entry]
Name=guif
Comment=List all X11 GUI windows
Exec=gnome-terminal -- bash -c "guif; exec bash"
Icon=utilities-terminal
Terminal=false
Type=Application
Categories=System;Utility;- Replace
gnome-terminalwith your terminal emulator (xfce4-terminal,konsole,alacritty, etc.) if needed. Icon- optional; you can set your own icon path.
- Make the
.desktopfile executable:
chmod +x ~/.local/share/applications/guif.desktop- Refresh your desktop environment's application menu (log out/in, or run
update-desktop-databaseif needed).
Now guif will appear in your menu, and clicking it will open a terminal showing all GUI windows.
- The utility does not filter windows and does not show non-GUI processes.
- Requires X server (works on X11).
- Your window manager must support EWMH.
MIT License.