Switch to DankMaterialShell: bar, launcher, control center, notifications

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 10:20:48 +05:00
co-authored by Claude Sonnet 5.5
parent bee45f21ad
commit d744a1b972
7 changed files with 50 additions and 13 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ output * bg /usr/share/backgrounds/default.jxl fill
bindsym --to-code $mod+Shift+q kill
# Start your launcher
bindsym --to-code $mod+d exec $menu
bindsym --to-code $mod+d exec dms ipc call spotlight toggle
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
+2 -2
View File
@@ -26,7 +26,7 @@ client.placeholder $base $base $text $base $base
client.background $base
# Autostart
exec_always sh -c 'pkill -x dunst; pkill -x swaync; exec swaync'
exec_always sh -c 'pkill -x dunst; pkill -x swaync; true'
exec_always sh -c 'pkill -x nm-applet; exec nm-applet --indicator'
bindsym --to-code $mod+Shift+x exec ~/.config/sway/lock.sh
@@ -47,7 +47,7 @@ for_window [app_id="rofi"] border none
titlebar_padding 6 3
focus_follows_mouse no
workspace_auto_back_and_forth yes
bindsym --to-code $mod+Shift+p exec ~/.config/rofi/powermenu.sh
bindsym --to-code $mod+Shift+p exec dms ipc call powermenu toggle
# Wallpaper + idle/lock
output * bg ~/Pictures/wallpapers/current fill
+2 -2
View File
@@ -33,5 +33,5 @@ bindsym --to-code $mod+F1 exec ~/.config/sway/cheatsheet.sh
# Performance mode: toggle blur + shadows
bindsym --to-code $mod+Shift+b blur toggle; shadows toggle
# Control center (notifications + quick settings)
bindsym --to-code $mod+n exec swaync-client -t -sw
bindsym --to-code $mod+Shift+n exec swaync-client -d -sw
bindsym --to-code $mod+n exec dms ipc call control-center toggle
bindsym --to-code $mod+Shift+n exec dms ipc call notifications toggle
+21
View File
@@ -0,0 +1,21 @@
# DankMaterialShell: bar, launcher, control center, notifications (replaces waybar/swaync/rofi launcher)
exec_always sh -c 'pgrep -f "dms run" >/dev/null || exec dms run'
# Hotkeys: $mod+d launcher, $mod+n control center, $mod+Shift+n notifications, $mod+Shift+p power menu (set in config / config.d)
bindsym --to-code $mod+Shift+v exec dms ipc call clipboard toggle
# SwayFX blur/shadows/rounding for DMS surfaces (layer names from: swaymsg -t get_outputs)
layer_effects "dms:bar" blur enable; blur_ignore_transparent enable; corner_radius 14; shadows enable
layer_effects "dms:control-center" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:app-launcher" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:spotlight" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:notification-center-popout" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:notification-popup" blur enable; blur_ignore_transparent enable; corner_radius 14; shadows enable
layer_effects "dms:dash" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:battery" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:clipboard-popout" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:network-info" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:bluetooth-pairing" blur enable; blur_ignore_transparent enable; corner_radius 20; shadows enable
layer_effects "dms:osd" blur enable; blur_ignore_transparent enable; corner_radius 16; shadows enable
layer_effects "dms:dock" blur enable; blur_ignore_transparent enable; corner_radius 18; shadows enable
+8 -4
View File
@@ -1,6 +1,6 @@
# sway-rising
Монохромный «стеклянный» райс для **SwayFX 0.6**: матовый blur, скруглённые углы, мягкое свечение у активного окна, плавающие «острова» в waybar, полупрозрачные rofi / dunst / swaylock.
Монохромный «стеклянный» райс для **SwayFX 0.6**: матовый blur, скруглённые углы, мягкое свечение у активного окна и **DankMaterialShell** (бар, лаунчер, панель управления с Wi-Fi / Bluetooth / VPN, уведомления) поверх sway.
## Что внутри
@@ -17,7 +17,8 @@
| `.config/dunst` | старые уведомления (не используются, оставлены для отката) |
| `.config/swaylock` | локскрин с обоями |
| `.config/kitty/kitty.conf` | прозрачность терминала, чтобы был виден blur |
| `.config/sway/config.d/40-bar.conf` | запуск waybar (без `sway-config-fedora`) |
| `.config/sway/config.d/50-dms.conf` | запуск DMS, blur / скругления для его слоёв, хоткей буфера обмена |
| `.config/sway/config.d/40-bar.conf.off` | старый запуск waybar (отключён; переименуйте в `.conf`, чтобы вернуть waybar вместо DMS) |
| `.config/sway/config.d/05-outputs.conf` | расположение и масштаб мониторов (ноутбук слева, HDMI справа; подгоните под своё железо) |
| `.config/sway/config.d/06-mouse.conf` | чувствительность мыши |
| `wallpapers/` | `original.jpg` (основные), `mono-glow`, `mono-orb`, `mono-smoke`, `mono-grid`, `mono-dusk` |
@@ -38,7 +39,10 @@
| Клавиши | Действие |
|---|---|
| `Super+Return` | терминал (kitty) |
| `Super+D` | запуск приложений (rofi) |
| `Super+D` | лаунчер DMS |
| `Super+N` | панель управления DMS (Wi-Fi, Bluetooth, VPN, звук, яркость) |
| `Super+Shift+N` | центр уведомлений |
| `Super+Shift+V` | история буфера обмена |
| `Super+Shift+Q` | закрыть окно |
| `Super+Shift+C` | перезагрузить конфиг |
| `Super+Shift+E` | выйти из sway |
@@ -79,4 +83,4 @@ git clone git@git.ibrash.duckdns.org:aibrash/sway-rising.git && cd sway-rising
Флаги: `--yes` (не спрашивать), `--no-packages` (только конфиги), `--no-lock-effects`.
Waybar запускает сам sway (`config.d/40-bar.conf`). Руками его запускать не нужно, иначе будет два бара. Перезагрузка стиля: `pkill -SIGUSR2 waybar`.
DMS запускается из `config.d/50-dms.conf`. Руками его запускать не нужно. Диагностика: `dms doctor`. Waybar, swaync и dunst в репозитории оставлены как запасной вариант и в `install.sh` больше не ставятся.
+16 -4
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# sway-rising installer: packages + configs + wallpapers + swaylock-effects.
# sway-rising installer: packages + DankMaterialShell + configs + wallpapers + swaylock-effects.
# Usage: ./install.sh [--yes] [--no-packages] [--no-lock-effects]
set -euo pipefail
@@ -27,13 +27,13 @@ ask() { [ "$YES" = 1 ] && return 0; read -r -p "$1 [y/N] " r; [[ $r =~ ^[yYдД
# ---------- 1. packages (Fedora) ----------
install_packages() {
if ! command -v dnf >/dev/null; then
warn "dnf not found. Install manually: swayfx waybar rofi dunst swaylock swayidle kitty grim slurp"
warn "dnf not found. Install manually: swayfx dms rofi swaylock swayidle kitty grim slurp"
warn "wl-clipboard playerctl brightnessctl ImageMagick libnotify pavucontrol network-manager-applet"
warn "JetBrains Mono and Font Awesome 6 fonts."
return
fi
local want=(waybar rofi SwayNotificationCenter swaylock swayidle kitty grim slurp wl-clipboard playerctl
local want=(rofi swaylock swayidle kitty grim slurp wl-clipboard playerctl
brightnessctl ImageMagick libnotify pavucontrol network-manager-applet
wireplumber fontawesome-6-free-fonts)
fc-list | grep -qi "JetBrains Mono" || want+=(jetbrains-mono-fonts)
@@ -51,6 +51,16 @@ install_packages() {
fi
fi
if ! rpm -q dms >/dev/null 2>&1; then
say "DankMaterialShell (bar, launcher, control center, notifications) comes from the avengemedia/dms COPR"
if ask "Enable COPR avengemedia/dms and install dms?"; then
sudo dnf copr enable -y avengemedia/dms
missing+=(dms)
else
warn "Skipping dms: no bar / control center / notifications will be started."
fi
fi
if [ ${#missing[@]} -gt 0 ]; then
say "Installing: ${missing[*]}"
sudo dnf install -y "${missing[@]}"
@@ -88,13 +98,15 @@ install_configs() {
say "Backing up existing configs to $BACKUP"
mkdir -p "$BACKUP"
local d
for d in sway waybar rofi dunst swaync swaylock kitty; do
for d in sway waybar rofi dunst swaync swaylock kitty quickshell; do
[ -e "$CFG/$d" ] && cp -a "$CFG/$d" "$BACKUP/"
done
say "Copying configs to $CFG"
mkdir -p "$CFG"
cp -a "$REPO/.config/." "$CFG/"
# waybar is replaced by DMS; a stale 40-bar.conf from an older install would start a second bar
rm -f "$CFG/sway/config.d/40-bar.conf"
chmod +x "$CFG"/sway/*.sh "$CFG"/rofi/*.sh 2>/dev/null || true
say "Copying wallpapers to $WALLS"