diff --git a/.config/rofi/powermenu.sh b/.config/rofi/powermenu.sh index 5ae590d..7dd0af6 100755 --- a/.config/rofi/powermenu.sh +++ b/.config/rofi/powermenu.sh @@ -3,7 +3,7 @@ opts=$' Lock\n Logout\n Suspend\n Reboot\n Shutdown' choice=$(printf '%s' "$opts" | rofi -dmenu -i -p "Power" -theme ~/.config/rofi/catppuccin.rasi -theme-str 'window {width: 300px;} listview {lines: 5;} entry {enabled: false;}') case "$choice" in - *Lock) swaylock -f ;; + *Lock) ~/.config/sway/lock.sh ;; *Logout) swaymsg exit ;; *Suspend) systemctl suspend ;; *Reboot) systemctl reboot ;; diff --git a/.config/sway/config.d/10-appearance.conf b/.config/sway/config.d/10-appearance.conf index 2e28f7d..b0f571e 100644 --- a/.config/sway/config.d/10-appearance.conf +++ b/.config/sway/config.d/10-appearance.conf @@ -28,7 +28,7 @@ client.background $base # Autostart exec_always sh -c 'pkill -x dunst; exec dunst' exec_always sh -c 'pkill -x nm-applet; exec nm-applet --indicator' -bindsym $mod+Shift+x exec swaylock -f +bindsym $mod+Shift+x exec ~/.config/sway/lock.sh # Touchpad input type:touchpad { diff --git a/.config/sway/idle.sh b/.config/sway/idle.sh index aa4db40..dfa74f7 100755 --- a/.config/sway/idle.sh +++ b/.config/sway/idle.sh @@ -1,6 +1,6 @@ #!/bin/sh pkill -x swayidle exec swayidle -w \ - timeout 300 'swaylock -f' \ + timeout 300 "$HOME/.config/sway/lock.sh" \ timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f' + before-sleep "$HOME/.config/sway/lock.sh" diff --git a/.config/sway/lock.sh b/.config/sway/lock.sh new file mode 100755 index 0000000..cdf5ef9 --- /dev/null +++ b/.config/sway/lock.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Lock with swaylock-effects (blur + clock) if installed, else plain swaylock. +pgrep -x swaylock >/dev/null && exit 0 +fx=$HOME/.local/bin/swaylock-effects +if [ -x "$fx" ]; then + exec "$fx" -f -C "$HOME/.config/swaylock/config-effects" +fi +exec swaylock -f diff --git a/.config/swaylock/config-effects b/.config/swaylock/config-effects new file mode 100644 index 0000000..0b8e627 --- /dev/null +++ b/.config/swaylock/config-effects @@ -0,0 +1,33 @@ +# Used only by swaylock-effects (see sway/lock.sh); stock swaylock reads ./config +screenshots +effect-blur=9x5 +effect-vignette=0.5:0.5 +fade-in=0.25 +clock +timestr=%H:%M +datestr=%A, %d %B +indicator +indicator-radius=100 +indicator-thickness=5 +indicator-caps-lock +font=JetBrains Mono +inside-color=0c0c0c88 +inside-clear-color=0c0c0c88 +inside-ver-color=0c0c0c88 +inside-wrong-color=0c0c0c88 +ring-color=e8e8e8 +ring-clear-color=8c8c8c +ring-ver-color=ffffff +ring-wrong-color=ff5c5c +line-color=00000000 +line-clear-color=00000000 +line-ver-color=00000000 +line-wrong-color=00000000 +separator-color=00000000 +key-hl-color=ffffff +bs-hl-color=ff5c5c +text-color=e8e8e8 +text-clear-color=e8e8e8 +text-ver-color=e8e8e8 +text-wrong-color=ff5c5c +show-failed-attempts diff --git a/README.md b/README.md index db2fbd6..5910082 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ - **Шпаргалка по хоткеям** прямо из конфига. - **Режим производительности:** переключатель blur и теней. - **swayidle:** блокировка через 5 мин, экран гаснет через 10 мин. -- **Swaylock** с обоями и полупрозрачным индикатором. +- **Swaylock-effects:** размытый скриншот экрана, виньетка, часы и дата. Запускается через `sway/lock.sh`. Если swaylock-effects не установлен, используется обычный swaylock. ## Важные хоткеи (`Super` = Mod4) @@ -56,6 +56,16 @@ | `Super+S` / `Super+W` / `Super+E` | layout: stacking / tabbed / split | | `Alt+Shift` | переключение раскладки (us / ru) | +## Swaylock-effects (необязательно) + +В Fedora пакета нет, он есть в COPR `pheeef/swaylock-effects`. `dnf swap` не проходит из-за зависимости `sway-config-fedora`, поэтому бинарник ставится рядом с системным swaylock и ничего не заменяет: + +```sh +mkdir /tmp/slfx && cd /tmp/slfx && dnf download swaylock-effects # после dnf copr enable pheeef/swaylock-effects +rpm2cpio swaylock-effects-*.x86_64.rpm | cpio -idm +install -Dm755 usr/bin/swaylock ~/.local/bin/swaylock-effects +``` + ## Установка Нужны: swayfx, waybar, rofi, dunst, swaylock, swayidle, kitty, grim, slurp, wl-clipboard, playerctl, brightnessctl, JetBrains Mono, Font Awesome 6.