Add flashfocus and sway window transparency

This commit is contained in:
Andreas Tsouchlos 2025-03-10 08:49:40 +01:00
parent 373651b9ee
commit b44abad337
3 changed files with 113 additions and 4 deletions

View File

@ -3,6 +3,6 @@
## Usage
```bash
$ stow -S clang-format kitty nvim sway tmux waybar wofi zsh kanshi papis
$ stow -S clang-format kitty nvim sway tmux waybar wofi zsh kanshi papis flashfocus
```

View File

@ -0,0 +1,99 @@
## @@@@@@@@@@@@@@@@@@@@@@
## Flashfocus config file
## @@@@@@@@@@@@@@@@@@@@@@
# Opacity of window during flash.
flash-opacity: 0.8
# Windows are restored to this opacity value at the end of a flash.
default-opacity: 1
# Length of flash in milliseconds.
time: 500
# If true, flashes are not faded out. This will improve performance but flashes
# won't be smooth.
simple: false
# Number of animation frames in a flash.
ntimepoints: 10
# Set this to false if you don't want windows to flash on focus.
flash-on-focus: true
# Set this to false if you don't want fullscreen windows to flash.
flash-fullscreen: true
# Whether or not to flash windows if they are the only window on the desktop.
# Possible values:
# 'always':
# Always flash lone windows
# 'never':
# Never flash lone windows
# 'on_open_close':
# Lone windows will be flashed only if a) if they were just opened and b)
# if another window was just closed.
# 'on_switch':
# Lone windows will be flashed only upon switching desktops.
flash-lone-windows: 'always'
# Defining window-specific flash rules
#
# X11-based window managers (e.g i3, bspwm)
# -----------------------------------------
# Flash rules are defined by matching the WM_CLASS property of a window. To get
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
# property is a tuple of the form (window-id, window-class). The window-class
# is usually the name of the application, but not always.
#
#
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
# windows at full opacity:
#
# rules:
# - window-class: Termite
# default-opacity: 0.8
#
#
# I also would prefer that firefox windows are not flashed on focus:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - window-class: Termite
# default-opacity: 0.8
#
#
# For more complicated rules, you can use (python-style) regexes:
#
# rules:
# - window-id: ^(?!termite)$
# default-opacity: 0.8
#
#
# Sway
# ----
# Native wayland apps can be matched using the app_id and window name. These
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
# using WM_CLASS as above (this can also be found with `swaymsg`)
#
# Given that termite is wayland native and firefox is not, the rules above
# could instead be written:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - app-id: termite
# default-opacity: 0.8
#
# rules:
# - window-name: ^(?!termite)$
# default-opacity: 0.8
rules:
- app-id: kitty
flash-opacity: 0.85
default-opacity: 0.94
- app-id: org.pwmt.zathura
flash-opacity: 0.85
default-opacity: 0.94

View File

@ -52,16 +52,26 @@ bindsym $mod+c exec kitty -e python
for_window [title="blueman-manager"] floating enable
for_window [class="^.*"] border pixel 3
for_window [class="^.*"] border pixel 0
default_floating_border none
default_floating_border normal 0
hide_edge_borders smart
for_window [app_id="org.pwmt.zathura"] opacity 0.94
for_window [app_id="kitty"] opacity 0.94
exec_always --no-startup-id bash -c "killall flashfocus; flashfocus --flash-opacity 0.92 -l never"
gaps inner 15
smart_gaps on
bindsym $mod+g exec swaymsg gaps inner current toggle 15
# blur enable
# blur_radius 1
# blur_passes 4
# blur_noise 0.1
blur enable
blur_radius 8
exec dbus-update-activation-environment DISPLAY