Skip to main content

Simple focus animations for tiling window managers.

Project description

flashfocus

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 :)

Installation

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.

Arch

Install from the Arch User Repository: flashfocus

Ubuntu/Debian

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

Fedora

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

openSUSE

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; [
  flashfocus
];

Ad hoc

nix-env -iA nixpkgs.flashfocus

Quickstart

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 = [
  "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];

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

Configuration

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.9.0.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flashfocus-2.9.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file flashfocus-2.9.0.tar.gz.

File metadata

  • Download URL: flashfocus-2.9.0.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for flashfocus-2.9.0.tar.gz
Algorithm Hash digest
SHA256 ad095102eebcb4d55dfe5bdc8f117825a512c6c91fadbb19171e89b107ef12aa
MD5 32e6d035371fcac43b62a95e4eb28bab
BLAKE2b-256 dc71b69bee3c6d7b328134115bf5d8aaea24a6ecb9f16c8d1a7adcf16d3cee2b

See more details on using hashes here.

File details

Details for the file flashfocus-2.9.0-py3-none-any.whl.

File metadata

  • Download URL: flashfocus-2.9.0-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for flashfocus-2.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8f4f607f9416854c5750975dbc62687389a3a9bd904abbcdbafc1b4f6478631
MD5 527f3141086c1d0b65018617c0bc00e5
BLAKE2b-256 33c58f3f533e6551842fb6966d240b5ea8b913afb18e242ecdb9476980ec73d9

See more details on using hashes here.

Supported by

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