flashfocus
Simple focus animations for tiling window managers.
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:
- $XDG_CONFIG_HOME/flashfocus/flashfocus.yml
- ~/.config/flashfocus/flashfocus.yml
- ~/.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.
Metadata
Release files for flashfocus 2.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| flashfocus-2.9.0.tar.gz | 24.7 kB | Without provenance | Details for flashfocus-2.9.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| flashfocus-2.9.0-py3-none-any.whl | Python 3 | none | any | Details for flashfocus-2.9.0-py3-none-any.whl |
Total release size: 54.1 kB
Release files / flashfocus-2.9.0.tar.gz
| Download URL | flashfocus-2.9.0.tar.gz |
|---|---|
| Size | 24.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad095102eebcb4d55dfe5bdc8f117825a512c6c91fadbb19171e89b107ef12aa
|
|
BLAKE2b-256 checksum How to use checksums |
dc71b69bee3c6d7b328134115bf5d8aaea24a6ecb9f16c8d1a7adcf16d3cee2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Release files / flashfocus-2.9.0-py3-none-any.whl
| Download URL | flashfocus-2.9.0-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8f4f607f9416854c5750975dbc62687389a3a9bd904abbcdbafc1b4f6478631
|
|
BLAKE2b-256 checksum How to use checksums |
33c58f3f533e6551842fb6966d240b5ea8b913afb18e242ecdb9476980ec73d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Security for flashfocus 2.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.