From 9292e15419455aeaf3aa86bc6d6ecbc44869026f Mon Sep 17 00:00:00 2001 From: bbedward Date: Mon, 8 Sep 2025 15:36:01 -0400 Subject: [PATCH] update readme --- README.md | 90 +++++++++++++++++++++++----------------------- docs/IPC.md | 102 ++++++++++++++++++++++++++-------------------------- 2 files changed, 96 insertions(+), 96 deletions(-) diff --git a/README.md b/README.md index fb6f0f55..37b141ff 100644 --- a/README.md +++ b/README.md @@ -244,7 +244,7 @@ spawn-at-startup "/usr/lib/mate-polkit/polkit-mate-authentication-agent-1" // This may be a different path on different distributions, the above is for the arch linux mate-polkit package // Starts DankShell -spawn-at-startup "qs" "-c" "dms" +spawn-at-startup "dms" "run" // If using niri newer than 271534e115e5915231c99df287bbfe396185924d (~aug 17 2025) // you can add this to disable built in config load errors since dank shell provides this @@ -259,51 +259,51 @@ config-notification { // 4. For the increment/decrement ones you can change the steps to whatever you like too binds { Mod+Space hotkey-overlay-title="Application Launcher" { - spawn "qs" "-c" "dms" "ipc" "call" "spotlight" "toggle"; + spawn "dms" "ipc" "call" "spotlight" "toggle"; } Mod+V hotkey-overlay-title="Clipboard Manager" { - spawn "qs" "-c" "dms" "ipc" "call" "clipboard" "toggle"; + spawn "dms" "ipc" "call" "clipboard" "toggle"; } Mod+M hotkey-overlay-title="Task Manager" { - spawn "qs" "-c" "dms" "ipc" "call" "processlist" "toggle"; + spawn "dms" "ipc" "call" "processlist" "toggle"; } Mod+N hotkey-overlay-title="Notification Center" { - spawn "qs" "-c" "dms" "ipc" "call" "notifications" "toggle"; + spawn "dms" "ipc" "call" "notifications" "toggle"; } Mod+Comma hotkey-overlay-title="Settings" { - spawn "qs" "-c" "dms" "ipc" "call" "settings" "toggle"; + spawn "dms" "ipc" "call" "settings" "toggle"; } Mod+P hotkey-overlay-title="Notepad" { - spawn "qs" "-c" "dms" "ipc" "call" "notepad" "toggle"; + spawn "dms" "ipc" "call" "notepad" "toggle"; } Super+Alt+L hotkey-overlay-title="Lock Screen" { - spawn "qs" "-c" "dms" "ipc" "call" "lock" "lock"; + spawn "dms" "ipc" "call" "lock" "lock"; } Mod+X hotkey-overlay-title="Power Menu" { - spawn "qs" "-c" "dms" "ipc" "call" "powermenu" "toggle"; + spawn "dms" "ipc" "call" "powermenu" "toggle"; } XF86AudioRaiseVolume allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "audio" "increment" "3"; + spawn "dms" "ipc" "call" "audio" "increment" "3"; } XF86AudioLowerVolume allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "audio" "decrement" "3"; + spawn "dms" "ipc" "call" "audio" "decrement" "3"; } XF86AudioMute allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "audio" "mute"; + spawn "dms" "ipc" "call" "audio" "mute"; } XF86AudioMicMute allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "audio" "micmute"; + spawn "dms" "ipc" "call" "audio" "micmute"; } XF86MonBrightnessUp allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "brightness" "increment" "5" ""; + spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; } // You can override the default device for e.g. keyboards by adding the device name to the last param XF86MonBrightnessDown allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "brightness" "decrement" "5" ""; + spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; } // Night mode toggle Mod+Shift+N allow-when-locked=true { - spawn "qs" "-c" "dms" "ipc" "call" "night" "toggle"; + spawn "dms" "ipc" "call" "night" "toggle"; } } ``` @@ -321,7 +321,7 @@ exec-once = /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 # This may be a different path on different distributions, the above is for the arch linux mate-polkit package # Starts DankShell -exec-once = qs -c dms +exec-once = dms run # Dank keybinds # 1. These should not be in conflict with any pre-existing keybindings @@ -330,28 +330,28 @@ exec-once = qs -c dms # 4. For the increment/decrement ones you can change the steps to whatever you like too # Application and system controls -bind = SUPER, Space, exec, qs -c dms ipc call spotlight toggle -bind = SUPER, V, exec, qs -c dms ipc call clipboard toggle -bind = SUPER, M, exec, qs -c dms ipc call processlist toggle -bind = SUPER, N, exec, qs -c dms ipc call notifications toggle -bind = SUPER, comma, exec, qs -c dms ipc call settings toggle -bind = SUPER, P, exec, qs -c dms ipc call notepad toggle -bind = SUPERALT, L, exec, qs -c dms ipc call lock lock -bind = SUPER, X, exec, qs -c dms ipc call powermenu toggle +bind = SUPER, Space, exec, dms ipc call spotlight toggle +bind = SUPER, V, exec, dms ipc call clipboard toggle +bind = SUPER, M, exec, dms ipc call processlist toggle +bind = SUPER, N, exec, dms ipc call notifications toggle +bind = SUPER, comma, exec, dms ipc call settings toggle +bind = SUPER, P, exec, dms ipc call notepad toggle +bind = SUPERALT, L, exec, dms ipc call lock lock +bind = SUPER, X, exec, dms ipc call powermenu toggle # Audio controls (function keys) -bindl = , XF86AudioRaiseVolume, exec, qs -c dms ipc call audio increment 3 -bindl = , XF86AudioLowerVolume, exec, qs -c dms ipc call audio decrement 3 -bindl = , XF86AudioMute, exec, qs -c dms ipc call audio mute -bindl = , XF86AudioMicMute, exec, qs -c dms ipc call audio micmute +bindl = , XF86AudioRaiseVolume, exec, dms ipc call audio increment 3 +bindl = , XF86AudioLowerVolume, exec, dms ipc call audio decrement 3 +bindl = , XF86AudioMute, exec, dms ipc call audio mute +bindl = , XF86AudioMicMute, exec, dms ipc call audio micmute # Brightness controls (function keys) -bindl = , XF86MonBrightnessUp, exec, qs -c dms ipc call brightness increment 5 "" +bindl = , XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 "" # You can override the default device for e.g. keyboards by adding the device name to the last param -bindl = , XF86MonBrightnessDown, exec, qs -c dms ipc call brightness decrement 5 "" +bindl = , XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 "" # Night mode toggle -bind = SUPERSHIFT, N, exec, qs -c dms ipc call night toggle +bind = SUPERSHIFT, N, exec, dms ipc call night toggle ``` ## IPC Commands @@ -360,27 +360,27 @@ Control everything from the command line, or via keybinds. For comprehensive doc ### Audio control ```bash -qs -c dms ipc call audio setvolume 50 -qs -c dms ipc call audio mute +dms ipc call audio setvolume 50 +dms ipc call audio mute ``` ### Launch applications ```bash -qs -c dms ipc call spotlight toggle -qs -c dms ipc call notepad toggle -qs -c dms ipc call processlist toggle -qs -c dms ipc call powermenu toggle +dms ipc call spotlight toggle +dms ipc call notepad toggle +dms ipc call processlist toggle +dms ipc call powermenu toggle ``` ### System control ``` -qs -c dms ipc call wallpaper set /path/to/image.jpg -qs -c dms ipc call theme toggle -qs -c dms ipc call night toggle -qs -c dms ipc call lock lock +dms ipc call wallpaper set /path/to/image.jpg +dms ipc call theme toggle +dms ipc call night toggle +dms ipc call lock lock ``` ### Media control ``` -qs -c dms ipc call mpris playPause -qs -c dms ipc call mpris next +dms ipc call mpris playPause +dms ipc call mpris next ``` ## Theming @@ -565,7 +565,7 @@ All settings are configurable in **Getting help:** - Check the [issues](https://github.com/AvengeMedia/DankMaterialShell/issues) for known problems -- Share logs from `qs -c dms` for debugging +- Re-run the shell with `dms kill && dms run` to capture logs. - Join the niri community for compositor-specific questions ## Contributing diff --git a/docs/IPC.md b/docs/IPC.md index cd7bf917..bbb4595c 100644 --- a/docs/IPC.md +++ b/docs/IPC.md @@ -3,7 +3,7 @@ DankMaterialShell provides comprehensive IPC (Inter-Process Communication) functionality that allows external control of the shell through command-line commands. All IPC commands follow the format: ```bash -qs -c dms ipc call [parameters...] +dms ipc call [parameters...] ``` ## Target: `audio` @@ -44,9 +44,9 @@ Audio system control and information. ### Examples ```bash -qs -c dms ipc call audio setvolume 50 -qs -c dms ipc call audio increment 10 -qs -c dms ipc call audio mute +dms ipc call audio setvolume 50 +dms ipc call audio increment 10 +dms ipc call audio mute ``` ## Target: `brightness` @@ -86,9 +86,9 @@ Display brightness control for internal and external displays. ### Examples ```bash -qs -c dms ipc call brightness set 80 -qs -c dms ipc call brightness increment 10 "" -qs -c dms ipc call brightness decrement 5 "intel_backlight" +dms ipc call brightness set 80 +dms ipc call brightness increment 10 "" +dms ipc call brightness decrement 5 "intel_backlight" ``` ## Target: `night` @@ -141,11 +141,11 @@ Night mode (gamma/color temperature) control. ### Examples ```bash -qs -c dms ipc call night toggle -qs -c dms ipc call night temperature 4000 -qs -c dms ipc call night automation time -qs -c dms ipc call night schedule 20:00 06:00 -qs -c dms ipc call night location 40.7128 -74.0060 +dms ipc call night toggle +dms ipc call night temperature 4000 +dms ipc call night automation time +dms ipc call night schedule 20:00 06:00 +dms ipc call night location 40.7128 -74.0060 ``` ## Target: `mpris` @@ -184,8 +184,8 @@ Media player control via MPRIS interface. ### Examples ```bash -qs -c dms ipc call mpris playPause -qs -c dms ipc call mpris next +dms ipc call mpris playPause +dms ipc call mpris next ``` ## Target: `lock` @@ -208,8 +208,8 @@ Screen lock control and status. ### Examples ```bash -qs -c dms ipc call lock lock -qs -c dms ipc call lock isLocked +dms ipc call lock lock +dms ipc call lock isLocked ``` ## Target: `inhibit` @@ -232,8 +232,8 @@ Idle inhibitor control to prevent automatic sleep/lock. ### Examples ```bash -qs -c dms ipc call inhibit toggle -qs -c dms ipc call inhibit enable +dms ipc call inhibit toggle +dms ipc call inhibit enable ``` ## Target: `wallpaper` @@ -291,36 +291,36 @@ Wallpaper management and retrieval with support for per-monitor configurations. **Global wallpaper mode:** ```bash -qs -c dms ipc call wallpaper get -qs -c dms ipc call wallpaper set /path/to/image.jpg -qs -c dms ipc call wallpaper next -qs -c dms ipc call wallpaper clear +dms ipc call wallpaper get +dms ipc call wallpaper set /path/to/image.jpg +dms ipc call wallpaper next +dms ipc call wallpaper clear ``` **Per-monitor wallpaper mode:** ```bash # Set different wallpapers for each monitor -qs -c dms ipc call wallpaper setFor DP-2 /path/to/image1.jpg -qs -c dms ipc call wallpaper setFor eDP-1 /path/to/image2.jpg +dms ipc call wallpaper setFor DP-2 /path/to/image1.jpg +dms ipc call wallpaper setFor eDP-1 /path/to/image2.jpg # Get wallpaper for specific monitor -qs -c dms ipc call wallpaper getFor DP-2 +dms ipc call wallpaper getFor DP-2 # Cycle wallpapers for specific monitor -qs -c dms ipc call wallpaper nextFor eDP-1 -qs -c dms ipc call wallpaper prevFor DP-2 +dms ipc call wallpaper nextFor eDP-1 +dms ipc call wallpaper prevFor DP-2 # Clear all wallpapers and return to global mode -qs -c dms ipc call wallpaper clear +dms ipc call wallpaper clear ``` **Error handling:** When per-monitor mode is enabled, legacy functions will return helpful error messages: ```bash -qs -c dms ipc call wallpaper get +dms ipc call wallpaper get # Returns: "ERROR: Per-monitor mode enabled. Use getFor(screenName) instead." -qs -c dms ipc call wallpaper set /path/to/image.jpg +dms ipc call wallpaper set /path/to/image.jpg # Returns: "ERROR: Per-monitor mode enabled. Use setFor(screenName, path) instead." ``` @@ -345,9 +345,9 @@ User profile image management. ### Examples ```bash -qs -c dms ipc call profile getImage -qs -c dms ipc call profile setImage /path/to/avatar.png -qs -c dms ipc call profile clearImage +dms ipc call profile getImage +dms ipc call profile setImage /path/to/avatar.png +dms ipc call profile clearImage ``` ## Target: `theme` @@ -374,8 +374,8 @@ Theme mode control (light/dark mode switching). ### Examples ```bash -qs -c dms ipc call theme toggle -qs -c dms ipc call theme dark +dms ipc call theme toggle +dms ipc call theme dark ``` ## Target: `bar` @@ -402,9 +402,9 @@ Top bar visibility control. ### Examples ```bash -qs -c dms ipc call bar toggle -qs -c dms ipc call bar hide -qs -c dms ipc call bar status +dms ipc call bar toggle +dms ipc call bar hide +dms ipc call bar status ``` ## Modal Controls @@ -480,29 +480,29 @@ File browser controls for selecting wallpapers and profile images. ### Modal Examples ```bash # Open application launcher -qs -c dms ipc call spotlight toggle +dms ipc call spotlight toggle # Show clipboard history -qs -c dms ipc call clipboard open +dms ipc call clipboard open # Toggle notification center -qs -c dms ipc call notifications toggle +dms ipc call notifications toggle # Show settings -qs -c dms ipc call settings open +dms ipc call settings open # Show system monitor -qs -c dms ipc call processlist toggle +dms ipc call processlist toggle # Show power menu -qs -c dms ipc call powermenu toggle +dms ipc call powermenu toggle # Open notepad -qs -c dms ipc call notepad toggle +dms ipc call notepad toggle # Open file browsers -qs -c dms ipc call file browse wallpaper -qs -c dms ipc call file browse profile +dms ipc call file browse wallpaper +dms ipc call file browse profile ``` ## Common Usage Patterns @@ -531,9 +531,9 @@ IPC commands can be used in scripts for automation: # Toggle night mode based on time of day hour=$(date +%H) if [ $hour -ge 20 ] || [ $hour -le 6 ]; then - qs -c dms ipc call night enable + dms ipc call night enable else - qs -c dms ipc call night disable + dms ipc call night disable fi ``` @@ -543,9 +543,9 @@ Many commands provide status information useful for scripts: ```bash # Check if screen is locked before performing action -if qs -c dms ipc call lock isLocked | grep -q "false"; then +if dms ipc call lock isLocked | grep -q "false"; then # Perform action only if unlocked - qs -c dms ipc call notifications open + dms ipc call notifications open fi ```