diff --git a/.config/dms/settings.json b/.config/dms/settings.json new file mode 100644 index 0000000..5dde39b --- /dev/null +++ b/.config/dms/settings.json @@ -0,0 +1,271 @@ +{ + "dockConfigs": [ + { + "id": "dock", + "name": "Dock", + "enabled": false, + "screenPreferences": [ + "all" + ], + "showOnLastDisplay": true, + "position": 1, + "mode": "compact", + "taskbarAlign": "center", + "widgetExpansion": "popout", + "iconSize": 40, + "spacing": 4, + "itemSpacing": 4, + "margin": 0, + "bottomGap": 0, + "transparency": 1, + "followInterfaceStyle": true, + "autoHide": false, + "smartAutoHide": false, + "useOverlayLayer": false, + "editOnRightClick": false, + "showOnFullscreen": false, + "openOnOverview": false, + "groupByApp": false, + "separatePinnedAndRunningApps": false, + "restoreSpecialWorkspaceOnClick": false, + "isolateDisplays": false, + "indicatorStyle": "circle", + "borderEnabled": false, + "borderColor": "surfaceText", + "borderOpacity": 1, + "borderThickness": 1, + "launcherEnabled": false, + "launcherLogoMode": "apps", + "launcherLogoCustomPath": "", + "launcherLogoColorOverride": "", + "launcherLogoSizeOffset": 0, + "launcherLogoBrightness": 0.5, + "launcherLogoContrast": 1, + "maxVisibleApps": 0, + "maxVisibleRunningApps": 0, + "showOverflowBadge": true, + "showTrash": false, + "trashFileManager": "default", + "trashCustomCommand": "", + "magnification": false, + "magnificationScale": 130, + "magnificationProfile": "parabolic", + "magnificationExpand": false, + "order": [], + "widgets": [ + { + "id": "dock_launcher", + "widgetId": "dockLauncher", + "enabled": true + }, + { + "id": "dock_apps", + "widgetId": "appsDock", + "enabled": true + }, + { + "id": "dock_trash", + "widgetId": "dockTrash", + "enabled": true + } + ] + } + ], + "barElevationEnabled": false, + "barConfigs": [ + { + "id": "default", + "name": "Main Bar", + "enabled": true, + "position": 0, + "screenPreferences": [ + "all" + ], + "showOnLastDisplay": true, + "leftWidgets": [ + "launcherButton", + "workspaceSwitcher", + "focusedWindow" + ], + "centerWidgets": [ + "music", + "clock", + "weather" + ], + "rightWidgets": [ + "systemTray", + "privacyIndicator", + "vpn", + "keyboard_layout_name", + "clipboard", + "cpuUsage", + "cpuTemp", + "memUsage", + "notificationButton", + "battery", + "controlCenterButton" + ], + "spacing": 4, + "innerPadding": 4, + "bottomGap": 0, + "transparency": 1, + "widgetTransparency": 1, + "squareCorners": false, + "noBackground": false, + "gothCornersEnabled": false, + "gothCornerRadiusOverride": false, + "gothCornerRadiusValue": 12, + "borderEnabled": false, + "borderColor": "surfaceText", + "borderOpacity": 1, + "borderThickness": 1, + "fontScale": 1, + "autoHide": false, + "autoHideDelay": 250, + "openOnOverview": false, + "visible": true, + "popupGapsAuto": true, + "popupGapsManual": 4, + "followInterfaceStyle": true, + "widgetFollowInterfaceStyle": true + } + ], + "configVersion": 42, + "popupTransparency": 0.86, + "fontFamily": "JetBrains Mono Medium", + "audioVisualizerEnabled": true, + "scrollTitleEnabled": true, + "dashOptions": {}, + "batteryChargeLimit": 80, + "controlCenterColumns": 9, + "controlCenterWidgets": [ + { + "id": "user", + "enabled": true, + "w": 4, + "h": 1, + "col": 0, + "row": 0 + }, + { + "id": "settings", + "enabled": true, + "w": 1, + "h": 1, + "small": true, + "col": 4, + "row": 0 + }, + { + "id": "lock", + "enabled": true, + "w": 1, + "h": 1, + "small": true, + "col": 5, + "row": 0 + }, + { + "id": "power", + "enabled": true, + "w": 1, + "h": 1, + "small": true, + "col": 6, + "row": 0 + }, + { + "id": "brightnessSlider", + "enabled": true, + "w": 4, + "h": 1, + "col": 0, + "row": 1 + }, + { + "id": "volumeSlider", + "enabled": true, + "w": 4, + "h": 1, + "col": 4, + "row": 1 + }, + { + "id": "wifi", + "enabled": true, + "w": 4, + "h": 1, + "col": 0, + "row": 2 + }, + { + "id": "bluetooth", + "enabled": true, + "w": 4, + "h": 1, + "col": 4, + "row": 2 + }, + { + "id": "audioOutput", + "enabled": true, + "w": 4, + "h": 1, + "col": 0, + "row": 3 + }, + { + "id": "audioInput", + "enabled": true, + "w": 4, + "h": 1, + "col": 4, + "row": 3 + }, + { + "id": "nightMode", + "enabled": true, + "w": 1, + "h": 1, + "col": 7, + "row": 0, + "small": true + }, + { + "id": "battery", + "enabled": true, + "w": 4, + "h": 1, + "col": 0, + "row": 4 + }, + { + "id": "runningApps", + "enabled": true, + "w": 8, + "h": 1, + "small": true, + "col": 0, + "row": 5 + }, + { + "id": "edit", + "enabled": true, + "w": 1, + "h": 1, + "small": true, + "col": 8, + "row": 0 + }, + { + "id": "builtin_vpn", + "enabled": true, + "w": 4, + "h": 1, + "col": 4, + "row": 4 + } + ], + "monoFontFamily": "JetBrains Mono", + "displayFontFamily": "JetBrains Mono" +} \ No newline at end of file diff --git a/.config/sway/cheatsheet.sh b/.config/sway/cheatsheet.sh index 5bf9b7b..d6117c4 100755 --- a/.config/sway/cheatsheet.sh +++ b/.config/sway/cheatsheet.sh @@ -1,6 +1,6 @@ #!/bin/bash # Shows all sway keybindings in rofi cat ~/.config/sway/config ~/.config/sway/config.d/*.conf | grep -E '^\s*bindsym' | grep -v -- '--locked' \ - | sed -E 's/^\s*bindsym\s+//; s/\$mod/Super/g; s/^(\S+)\s+/\1\t→ /' \ + | sed -E 's/^\s*bindsym\s+//; s/(--[a-z-]+(=[^ ]+)?\s+)+//; s/\$mod/Super/g; s/^(\S+)\s+/\1\t→ /' \ | column -t -s $'\t' | rofi -dmenu -i -p "Keys" -theme ~/.config/rofi/catppuccin.rasi \ -theme-str 'window {width: 900px;} listview {lines: 14;} entry {placeholder: "Filter...";}' >/dev/null diff --git a/.config/sway/config.d/50-dms.conf b/.config/sway/config.d/50-dms.conf index b070a56..e93719b 100644 --- a/.config/sway/config.d/50-dms.conf +++ b/.config/sway/config.d/50-dms.conf @@ -1,21 +1,25 @@ # DankMaterialShell: bar, launcher, control center, notifications (replaces waybar/swaync/rofi launcher) -exec_always sh -c 'pgrep -f "dms run" >/dev/null || exec dms run' +exec_always sh -c 'pgrep -x dms >/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 +# SwayFX blur for DMS surfaces (layer names: swaymsg -t get_outputs -r | jq '.[].layer_shell_surfaces[].namespace'). +# Only blur: DMS surfaces are bigger than what is drawn, so shadows / corner_radius here would paint +# a glow and rounded corners around the whole (often full-screen) layer. +layer_effects "dms:bar" blur enable; blur_ignore_transparent enable +layer_effects "dms:notification-popup" blur enable; blur_ignore_transparent enable +layer_effects "dms:osd" blur enable; blur_ignore_transparent enable +layer_effects "dms:dock" blur enable; blur_ignore_transparent enable + +# Media keys (work on the lock screen too); DMS shows the OSD +bindsym --locked XF86AudioRaiseVolume exec dms ipc call audio increment 5 +bindsym --locked XF86AudioLowerVolume exec dms ipc call audio decrement 5 +bindsym --locked XF86AudioMute exec dms ipc call audio mute +bindsym --locked XF86AudioMicMute exec dms ipc call audio micmute +bindsym --locked XF86MonBrightnessUp exec dms ipc call brightness increment 5 "" +bindsym --locked XF86MonBrightnessDown exec dms ipc call brightness decrement 5 "" +bindsym --locked XF86AudioPlay exec dms ipc call mpris playPause +bindsym --locked XF86AudioNext exec dms ipc call mpris next +bindsym --locked XF86AudioPrev exec dms ipc call mpris previous diff --git a/README.md b/README.md index c55ca1d..23082e4 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,8 @@ | `.config/dunst` | старые уведомления (не используются, оставлены для отката) | | `.config/swaylock` | локскрин с обоями | | `.config/kitty/kitty.conf` | прозрачность терминала, чтобы был виден blur | -| `.config/sway/config.d/50-dms.conf` | запуск DMS, blur / скругления для его слоёв, хоткей буфера обмена | +| `.config/sway/config.d/50-dms.conf` | запуск DMS, blur для его слоёв, хоткей буфера обмена, медиаклавиши (громкость, яркость, плеер) | +| `.config/dms/settings.json` | настройки DMS: виджеты бара (раскладка, VPN, температура, приватность), шрифты, панель управления | | `.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` | чувствительность мыши | diff --git a/install.sh b/install.sh index 2bbee13..8d5f8dd 100755 --- a/install.sh +++ b/install.sh @@ -98,7 +98,7 @@ install_configs() { say "Backing up existing configs to $BACKUP" mkdir -p "$BACKUP" local d - for d in sway waybar rofi dunst swaync swaylock kitty quickshell; do + for d in sway waybar rofi dunst swaync swaylock kitty dms; do [ -e "$CFG/$d" ] && cp -a "$CFG/$d" "$BACKUP/" done