Skip to content

claudiosanches/ulauncher-window-switcher

Repository files navigation

Ulauncher GNOME Window Switcher

Ulauncher extension for finding and switching between open windows in GNOME sessions. It supports GNOME on X11 and GNOME on Wayland, with application icons resolved from your GTK icon theme.

This extension is GNOME-focused. It uses GTK 3/Gio for icon handling and GNOME Shell's D-Bus API for Wayland support, so other desktop environments are not supported.

screenshot

Recommendation: If you like the icons in the screenshot, I'm using the Tela-circle-icon-theme on my machine!

Installation

Dependencies

GNOME and GTK Runtime

The extension expects a GNOME desktop session and the GTK 3 Python bindings used by Ulauncher extensions.

  • Ubuntu/Debian: sudo apt install python3-gi gir1.2-gtk-3.0
  • Fedora: sudo dnf install python3-gobject gtk3
  • Arch Linux: sudo pacman -S python-gobject gtk3

GNOME on X11

This extension requires wmctrl to list and activate windows in X11 sessions.

  • Ubuntu/Debian: sudo apt install wmctrl
  • Fedora: sudo dnf install wmctrl
  • Arch Linux: sudo pacman -S wmctrl

GNOME on Wayland

Wayland's security model prevents standard applications from listing other windows. To use this extension on GNOME Wayland, install the window-calls GNOME Shell extension:

  1. Install window-calls from GNOME Extensions.
  2. Ensure the extension is enabled in your system's Extensions app.

Note: It is highly recommended to restart Ulauncher after installing the dependencies or the extension itself to ensure all components are correctly detected.

Via Ulauncher Interface

  1. Open Ulauncher Settings -> Extensions -> Add extension.
  2. Paste the following URL: https://github.com/claudiosanches/ulauncher-window-switcher
  3. Click Add.

Manual Installation (Developer Version)

  1. Open a terminal.
  2. Create the Ulauncher extensions directory if it doesn't exist:
    mkdir -p ~/.local/share/ulauncher/extensions
  3. Clone this repository into the extensions folder:
    git clone https://github.com/claudiosanches/ulauncher-window-switcher ~/.local/share/ulauncher/extensions/com.github.claudiosanches.ulauncher-window-switcher
  4. Restart Ulauncher.

Features

  • GNOME X11 and Wayland Support: Works with GNOME X11 sessions via wmctrl and GNOME Wayland sessions via the window-calls GNOME Shell extension.
  • Intuitive Search: Find windows by searching for their title or the application name.
  • Smart Icons: Automatically resolves and displays the correct application icon using your system GTK icon theme.
  • Workspace Awareness: Shows exactly which workspace each window is on.
  • Clean Interface: Automatically filters out system windows and Ulauncher itself.

Usage

Open Ulauncher and type the set up keyword (defaults to w).

  • Type the name of a window or application.
  • Press Enter to focus and switch to the selected window.

Credits

This project is based on and inspired by the ulauncher-window-switcher by dflock.

License

This project is licensed under the terms of the GPLv3 license. See the LICENSE file for details.

About

GNOME window switcher for Ulauncher. Supports GNOME on X11 via wmctrl and GNOME on Wayland via GNOME Shell, with GTK icon theme support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages