Switch to DankMaterialShell: bar, launcher, control center, notifications
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -75,7 +75,7 @@ output * bg /usr/share/backgrounds/default.jxl fill
|
|||||||
bindsym --to-code $mod+Shift+q kill
|
bindsym --to-code $mod+Shift+q kill
|
||||||
|
|
||||||
# Start your launcher
|
# 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.
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
# Resize them with right mouse button + $mod.
|
# Resize them with right mouse button + $mod.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ client.placeholder $base $base $text $base $base
|
|||||||
client.background $base
|
client.background $base
|
||||||
|
|
||||||
# Autostart
|
# 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'
|
exec_always sh -c 'pkill -x nm-applet; exec nm-applet --indicator'
|
||||||
bindsym --to-code $mod+Shift+x exec ~/.config/sway/lock.sh
|
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
|
titlebar_padding 6 3
|
||||||
focus_follows_mouse no
|
focus_follows_mouse no
|
||||||
workspace_auto_back_and_forth yes
|
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
|
# Wallpaper + idle/lock
|
||||||
output * bg ~/Pictures/wallpapers/current fill
|
output * bg ~/Pictures/wallpapers/current fill
|
||||||
|
|||||||
@@ -33,5 +33,5 @@ bindsym --to-code $mod+F1 exec ~/.config/sway/cheatsheet.sh
|
|||||||
# Performance mode: toggle blur + shadows
|
# Performance mode: toggle blur + shadows
|
||||||
bindsym --to-code $mod+Shift+b blur toggle; shadows toggle
|
bindsym --to-code $mod+Shift+b blur toggle; shadows toggle
|
||||||
# Control center (notifications + quick settings)
|
# Control center (notifications + quick settings)
|
||||||
bindsym --to-code $mod+n exec swaync-client -t -sw
|
bindsym --to-code $mod+n exec dms ipc call control-center toggle
|
||||||
bindsym --to-code $mod+Shift+n exec swaync-client -d -sw
|
bindsym --to-code $mod+Shift+n exec dms ipc call notifications toggle
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# sway-rising
|
# 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/dunst` | старые уведомления (не используются, оставлены для отката) |
|
||||||
| `.config/swaylock` | локскрин с обоями |
|
| `.config/swaylock` | локскрин с обоями |
|
||||||
| `.config/kitty/kitty.conf` | прозрачность терминала, чтобы был виден blur |
|
| `.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/05-outputs.conf` | расположение и масштаб мониторов (ноутбук слева, HDMI справа; подгоните под своё железо) |
|
||||||
| `.config/sway/config.d/06-mouse.conf` | чувствительность мыши |
|
| `.config/sway/config.d/06-mouse.conf` | чувствительность мыши |
|
||||||
| `wallpapers/` | `original.jpg` (основные), `mono-glow`, `mono-orb`, `mono-smoke`, `mono-grid`, `mono-dusk` |
|
| `wallpapers/` | `original.jpg` (основные), `mono-glow`, `mono-orb`, `mono-smoke`, `mono-grid`, `mono-dusk` |
|
||||||
@@ -38,7 +39,10 @@
|
|||||||
| Клавиши | Действие |
|
| Клавиши | Действие |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `Super+Return` | терминал (kitty) |
|
| `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+Q` | закрыть окно |
|
||||||
| `Super+Shift+C` | перезагрузить конфиг |
|
| `Super+Shift+C` | перезагрузить конфиг |
|
||||||
| `Super+Shift+E` | выйти из sway |
|
| `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`.
|
Флаги: `--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
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/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]
|
# Usage: ./install.sh [--yes] [--no-packages] [--no-lock-effects]
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
@@ -27,13 +27,13 @@ ask() { [ "$YES" = 1 ] && return 0; read -r -p "$1 [y/N] " r; [[ $r =~ ^[yYдД
|
|||||||
# ---------- 1. packages (Fedora) ----------
|
# ---------- 1. packages (Fedora) ----------
|
||||||
install_packages() {
|
install_packages() {
|
||||||
if ! command -v dnf >/dev/null; then
|
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 "wl-clipboard playerctl brightnessctl ImageMagick libnotify pavucontrol network-manager-applet"
|
||||||
warn "JetBrains Mono and Font Awesome 6 fonts."
|
warn "JetBrains Mono and Font Awesome 6 fonts."
|
||||||
return
|
return
|
||||||
fi
|
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
|
brightnessctl ImageMagick libnotify pavucontrol network-manager-applet
|
||||||
wireplumber fontawesome-6-free-fonts)
|
wireplumber fontawesome-6-free-fonts)
|
||||||
fc-list | grep -qi "JetBrains Mono" || want+=(jetbrains-mono-fonts)
|
fc-list | grep -qi "JetBrains Mono" || want+=(jetbrains-mono-fonts)
|
||||||
@@ -51,6 +51,16 @@ install_packages() {
|
|||||||
fi
|
fi
|
||||||
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
|
if [ ${#missing[@]} -gt 0 ]; then
|
||||||
say "Installing: ${missing[*]}"
|
say "Installing: ${missing[*]}"
|
||||||
sudo dnf install -y "${missing[@]}"
|
sudo dnf install -y "${missing[@]}"
|
||||||
@@ -88,13 +98,15 @@ install_configs() {
|
|||||||
say "Backing up existing configs to $BACKUP"
|
say "Backing up existing configs to $BACKUP"
|
||||||
mkdir -p "$BACKUP"
|
mkdir -p "$BACKUP"
|
||||||
local d
|
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/"
|
[ -e "$CFG/$d" ] && cp -a "$CFG/$d" "$BACKUP/"
|
||||||
done
|
done
|
||||||
|
|
||||||
say "Copying configs to $CFG"
|
say "Copying configs to $CFG"
|
||||||
mkdir -p "$CFG"
|
mkdir -p "$CFG"
|
||||||
cp -a "$REPO/.config/." "$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
|
chmod +x "$CFG"/sway/*.sh "$CFG"/rofi/*.sh 2>/dev/null || true
|
||||||
|
|
||||||
say "Copying wallpapers to $WALLS"
|
say "Copying wallpapers to $WALLS"
|
||||||
|
|||||||
Reference in New Issue
Block a user