Skip to main content

Simple focus animations for tiling window managers.

Project description


Simple focus animations for tiling window managers.

Demo gif

Compatible with sway as well as all X based window managers (i3, bspwm, awesome-wm, xmonad...).

Flashfocus is currently pretty stable and I don't have any major features in the works, however the project is still actively maintained and feature requests are always welcome :)


For X based window managers, an active window compositor is required for the effects of flashfocus to be noticeable. If you don't have one setup already, I recommend picom.


Install from the Arch User Repository: flashfocus


sudo apt-get install libxcb-render0-dev libffi-dev python-dev python-cffi
pip install flashfocus


dnf install libffi-devel python-devel python-cffi
pip install flashfocus


Flashfocus is in the official repository of openSUSE Tumbleweed. openSUSE Leap users can install it from the X11:Utilities devel project:

zypper ar obs://X11:Utilities x11util
zypper ref
zypper in flashfocus

Nix / NixOS

Declaratively in /etc/nixos/configuration.nix

environment.systemPackages = with pkgs; [

Ad hoc

nix-env -iA nixpkgs.flashfocus


Picom setup

The following must be present in your picom config file:

detect-client-opacity = true;

If you use i3, the following is also required for flashfocus to work with tabbed containers:

opacity-rule = [

Running flashfocus

Flashfocus should be added to your startup programs. E.g for i3 place the following in your config:

exec_always --no-startup-id flashfocus

The flash_window script can be used to flash the current window on key-press. E.g if you'd like to bind to mod+n in i3:

bindsym $mod+n exec --no-startup-id flash_window


Flashfocus can be configured via its config file or with command line parameters. Some features, such as window-specific flash customization, are only available through the config file.

The config file is searched for in the following locations:

  1. $XDG_CONFIG_HOME/flashfocus/flashfocus.yml
  2. ~/.config/flashfocus/flashfocus.yml
  3. ~/.flashfocus.yml

When flashfocus is first run it creates a default config file in 1. or 2. Documentation of all configuration options is present in the config file.

See the wiki for some extra docs.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashfocus-2.4.1.tar.gz (24.7 kB view hashes)

Uploaded source

Built Distribution

flashfocus-2.4.1-py3-none-any.whl (29.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page