From 3908162636daedbec4f71e4e8beb3115b647c0a8 Mon Sep 17 00:00:00 2001 From: SDGDen Date: Sat, 30 May 2026 17:10:01 +0200 Subject: [PATCH] update --- mango/autostart.conf | 6 +++--- mango/binds.conf | 8 ++++---- sdgos/help/mangoipc.list | 35 ++++++++++++++--------------------- sdgos/help/references.list | 2 +- sdgos/misc/layoutbutton.sh | 30 +++++++++++++++--------------- sdgos/tuis/layout-switch.sh | 2 +- sdgos/tuis/layouts.list | 28 ++++++++++++++-------------- sdgos/tuis/project-select.sh | 2 +- update.sh | 23 ++++++++++++----------- 9 files changed, 65 insertions(+), 71 deletions(-) diff --git a/mango/autostart.conf b/mango/autostart.conf index 378f51a..38deb0c 100644 --- a/mango/autostart.conf +++ b/mango/autostart.conf @@ -15,9 +15,9 @@ exec-once=dms run exec-once=ghostty # pre-load terminal scratchpad -exec-once=sleep 2.5 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' -exec-once=sleep 3 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' -exec-once=sleep 3.5 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' +exec-once=sleep 2.5 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' +exec-once=sleep 3 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' +exec-once=sleep 3.5 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"' diff --git a/mango/binds.conf b/mango/binds.conf index 81160da..dc844b1 100644 --- a/mango/binds.conf +++ b/mango/binds.conf @@ -10,7 +10,7 @@ bind=SUPER,C,toggle_scratchpad bind=SUPER+CTRL,C,minimized bind=SUPER+ALT,C,restore_minimized #specific terminal scratchpad for a quick access terminal -bind=SUPER+ALT,SPACE,toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" && sleep 0.2 && mmsg -d toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" +bind=SUPER+ALT,SPACE,toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" && sleep 0.2 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" ##! window management bind=SUPER,T,togglefloating, # float/unfloat active window @@ -19,7 +19,7 @@ bind=SUPER+ALT,F,togglefakefullscreen, # make program think window is fullscreen bind=SUPER,Q,killclient, # Close active window bind=SUPER+SHIFT,Q,quit, # Exit mango bind=SUPER+SHIFT,P,toggleoverlay, # toggle overlay mode -bind=SUPER,P,spawn_shell,mmsg -d toggleglobal && mmsg -d togglefloating # pin window across workspaces +bind=SUPER,P,spawn_shell,mmsg dispatch toggleglobal && mmsg dispatch togglefloating # pin window across workspaces bind=ALT,TAB,toggleoverview bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle bind=SUPER+SHIFT,A,switch_layout @@ -154,8 +154,8 @@ mousebind=SUPER,btn_middle,togglemaximizescreen,0 mousebind=SUPER,btn_right,moveresize,curresize -#mousebind=SUPER,btn_left,spawn_shell,mmsg -d option dwindle_smart_split 1 -#bindr=NONE,super,spawn_shell,mmsg -d option dwindle_smart_split 0 +#mousebind=SUPER,btn_left,spawn_shell,mmsg dispatch option dwindle_smart_split 1 +#bindr=NONE,super,spawn_shell,mmsg dispatch option dwindle_smart_split 0 # Axis Bindings axisbind=SUPER,UP,viewtoleft_have_client,0 # scroll up through views diff --git a/sdgos/help/mangoipc.list b/sdgos/help/mangoipc.list index 01d9141..d6af082 100644 --- a/sdgos/help/mangoipc.list +++ b/sdgos/help/mangoipc.list @@ -3,24 +3,17 @@ this menu shows you mango IPC options in the following format command | example | description you can search through these. -mmsg -Q | mmsg -q | quit mangoWM -mmsg -w | mmsg -w -g -O | the -w flag "watches" the other flags, giving you constant updates. -mmsg -g | mmsg -g | gets *all* information -mmsg -g | mmsg -g -O | the -g flag gets information, a second flag determines the info to get -mmsg -g | mmsg -g -O | gets a list of monitor outputs -mmsg -g | mmsg -g -T | gets the number of tags -mmsg -g | mmsg -g -L | gets all available layouts in shorthand -mmsg -g | mmsg -g -t | get tag information -mmsg -g | mmsg -g -l | get the current layout for each monitor -mmsg -g | mmsg -g -c | get information of the most recent focused client on each monitor -mmsg -g | mmsg -g -m | get fullscreen state for all monitors -mmsg -g | mmsg -g -f | get floating state for all monitors -mmsg -g | mmsg -g -x | get the position and size for the most recent focused client per monitor -mmsg -g | mmsg -g -k | gets the current keyboard layout -mmsg -g | mmsg -g -b | gets the current keybind mode -mmsg -g | mmsg -g -A | gets the current scale factor for all monitors -mmsg -s | mmsg -s -t 1 | the -s flag sets information, a second flag determines what to set. -mmsg -s | mmsg -s -t 2 | set tags, 1 = switch to 1, 2+ = add 2 to view, 2- = remove 2, 2^ = toggle tag 2 -mmsg -s | mmsg -s -l DW | sets layout -mmsg -o | mmsg -s -l DW -o DP-1 | selects a specific monitor for set commands -mmsg -d | mmsg -d | runs any keybind dispatcher, see the dispatcher list. \ No newline at end of file +mmsg get version | mmsg get version | gets the current version of mangoWM in json +mmsg get keymode | mmsg get keymode | returns the current active keyboard mode in json +mmsg get keyboardlayout | mmsg get keyboardlayout | returns the current XKB layout in json +mmsg get monitor | mmsg get monitor DP-1 | get information about a specific monitor in json +mmsg get focusing-client | mmsg get focusing-client | get all details of the current active window in json +mmsg get client | mmsg get client 12 | gives all details for the window with the provided ID in json +mmsg get tag | mmsg get tag DP-1 1 | gets the status details of a specific tag on a specific monitor in json +mmsg get tags | mmsg get tags DP-1 | gets details on all tags on a specific monitor in json +mmsg get all-clients | mmsg get all-clients | gets details for all clients in json +mmsg get all-monitors | mmsg get all-monitors | gets details for all monitors in json +mmsg get all-tags | mmsg get all-tags | gets details for all tags in json +mmsg get last_open_surface | mmsg get last_open_surface DP-1 | gets the last open surface on a monitor (will generally be DMS) +mmsg watch | mmsg watch monitor | constant stream that updates whenever the information updates, for use in daemons, works like mmsg get +mmsg dispatch | mmsg dispatch | runs any keybind dispatcher, see the dispatcher list. \ No newline at end of file diff --git a/sdgos/help/references.list b/sdgos/help/references.list index cf0bb05..c94aec6 100644 --- a/sdgos/help/references.list +++ b/sdgos/help/references.list @@ -31,7 +31,7 @@ command | | mango -c ~/.co ### other monitor things ~/.config/mango/monitors.conf | allow_tearing | allow_tearing=1 | allows programs to bypass mangoWM vsync | Mango Monitor Rules ~/.config/mango/windowrules.conf | force_tearing:1 | windowrule=force_tearing:1,title:myapptitle | turns off compositor VSYNC for matching programs | Mango Monitor Rules -command | toggle monitors | mmsg -d toggle_monitor,eDP-1 | toggles output to the provided monitor | Mango Monitor Rules +command | toggle monitors | mmsg dispatch toggle_monitor,eDP-1 | toggles output to the provided monitor | Mango Monitor Rules ## Mango Keyboard settings ~/.config/mango/input.conf | repeat_rate | repeat_rate=25 | how many keystrokes per second a held key does | Mango Keyboard Settings diff --git a/sdgos/misc/layoutbutton.sh b/sdgos/misc/layoutbutton.sh index 8dda337..8f2bdb6 100755 --- a/sdgos/misc/layoutbutton.sh +++ b/sdgos/misc/layoutbutton.sh @@ -1,69 +1,69 @@ #!/bin/bash -ACTIVEMON=$(mmsg -g -o | grep -e "selmon 1" | awk '{print $1}') +ACTIVEMON=$(mmsg get all-monitors | jq '.monitors[] | select(.active == true) | .name' -r) echo $ACTIVEMON -LAYOUT=$(mmsg -g -l | grep -e "$ACTIVEMON" | awk '{print $3}') +LAYOUT=$(mmsg get monitor $ACTIVEMON | jq '.tags[] | select(.is_active == true) | .layout' -r) echo "$LAYOUT" case $LAYOUT in T) echo "Left Master" - mmsg -d zoom + mmsg dispatch zoom ;; S) echo "Horizontal Scroller" - mmsg -d switch_proportion_preset + mmsg dispatch switch_proportion_preset ;; G) echo "Horizontal Grid" - mmsg -d togglegaps + mmsg dispatch togglegaps ;; M) echo "Monocle" ;; K) echo "Horizontal Deck" - mmsg -d zoom + mmsg dispatch zoom ;; CT) echo "Center Master" - mmsg -d zoom + mmsg dispatch zoom ;; RT) echo "Right Master" - mmsg -d zoom + mmsg dispatch zoom ;; VS) echo "Vertical Scroller" - mmsg -d switch_proportion_preset + mmsg dispatch switch_proportion_preset ;; VT) echo "Top Master" - mmsg -d zoom + mmsg dispatch zoom ;; VG) echo "Vertical Grid" - mmsg -d togglegaps + mmsg dispatch togglegaps ;; VK) echo "Vertical Deck" - mmsg -d zoom + mmsg dispatch zoom ;; DW) echo "Dwindle" - mmsg -d togglemaximizescreen + mmsg dispatch togglemaximizescreen ;; F) echo "Fair" - mmsg -d togglegaps + mmsg dispatch togglegaps ;; VF) echo "Vertical Fair" - mmsg -d togglegaps + mmsg dispatch togglegaps ;; *) notify-send "Unhandled Layout Detected" diff --git a/sdgos/tuis/layout-switch.sh b/sdgos/tuis/layout-switch.sh index f8ecf53..15b7abd 100755 --- a/sdgos/tuis/layout-switch.sh +++ b/sdgos/tuis/layout-switch.sh @@ -1,6 +1,6 @@ #!/bin/bash -#mmsg -d togglefloating +#mmsg dispatch togglefloating SELECTED=$(cat ~/.config/sdgos/tuis/layouts.list | cut -d '|' -f 1 | fzf --layout=reverse) diff --git a/sdgos/tuis/layouts.list b/sdgos/tuis/layouts.list index d7f9152..c4b77f4 100644 --- a/sdgos/tuis/layouts.list +++ b/sdgos/tuis/layouts.list @@ -1,15 +1,15 @@ -Scroller - horizontal | mmsg -l "S" -Scroller - vertical | mmsg -l "VS" -Tile/master - left | mmsg -l "T" -Tile/master - top | mmsg -l "VT" -Tile/master - center | mmsg -l "CT" -Tile/master - right | mmsg -l "RT" -Grid - horizontal | mmsg -l "G" -Grid - vertical | mmsg -l "VG" -Deck - horizontal | mmsg -l "K" -Deck - vertical | mmsg -l "VK" -Fair - horizontal | mmsg -l "F" -Fair - vertical | mmsg -l "VF" -Monocle | mmsg -l "M" -Dwindle | mmsg -l "DW" +Scroller - horizontal | mmsg dispatch setlayout,scroller +Scroller - vertical | mmsg dispatch setlayout,vertical_scroller +Tile/master - left | mmsg dispatch setlayout,tile +Tile/master - top | mmsg dispatch setlayout,vertical_tile +Tile/master - center | mmsg dispatch setlayout,center_tile +Tile/master - right | mmsg dispatch setlayout,right_tile +Grid - horizontal | mmsg dispatch setlayout,grid +Grid - vertical | mmsg dispatch setlayout,vertical_grid +Deck - horizontal | mmsg dispatch setlayout,deck +Deck - vertical | mmsg dispatch setlayout,vertical_deck +Fair - horizontal | mmsg dispatch setlayout,fair +Fair - vertical | mmsg dispatch setlayout,vertical_fair +Monocle | mmsg dispatch setlayout,monocle +Dwindle | mmsg dispatch setlayout,dwindle diff --git a/sdgos/tuis/project-select.sh b/sdgos/tuis/project-select.sh index b3805ef..19f317a 100755 --- a/sdgos/tuis/project-select.sh +++ b/sdgos/tuis/project-select.sh @@ -13,4 +13,4 @@ echo $SELECTED CMD="code-oss -n $SELECTED" -mmsg -d spawn_shell,"$CMD" \ No newline at end of file +mmsg dispatch spawn_shell,"$CMD" \ No newline at end of file diff --git a/update.sh b/update.sh index a08b133..6b6fe45 100644 --- a/update.sh +++ b/update.sh @@ -7,13 +7,13 @@ git pull echo "re-installing/updating pre-requisites" -sudo pacman -Syu ghostty firefox dms-shell yay git wl-clipboard nautilus zsh-history-substring-search zsh-syntax-highlighting zsh-autosuggestions zsh-doc stow brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty code-oss zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd +sudo pacman -Syu ghostty shelly firefox dms-shell yay git wl-clipboard nautilus zsh-history-substring-search zsh-syntax-highlighting zsh-autosuggestions zsh-doc stow brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme hyprshot grim satty code shelly zoxide zsh zsh-theme-powerlevel10k eza kanshi ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono ttf-nerd-fonts-symbols ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-terminus-nerd ttf-firacode-nerd ttf-ubuntu-nerd yay -S mangowm-git dsearch-bin WORKINGDIR=$(pwd) -if [ $WORKINGDIR != "/home/$(whoami)/SDG-OS"]; then +if [ $WORKINGDIR != "/home/$(whoami)/SDG-OS" ]; then ln -sf $WORKINGDIR /home/$(whoami) fi @@ -26,8 +26,15 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config sleep 5 echo "old version of the config moved to mango-old-$RAND and new version copied in." -else - return 0 +fi + +read -p "do you want to update and refresh your DankMaterial Shell config? this will reset you back to SDG-OS defaults [y/N] " -n 1 -r REPLY +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + mv /home/$(whoami)/.config/DankMaterialShell /home/$(whoami)/.config/DankMaterialShell-old-$RAND + cp -r /home/$(whoami)/SDG-OS/DankMaterialShell /home/$(whoami)/.config + sleep 5 + echo "old version of the config moved to DankMaterialShell-old-$RAND and new version copied in." fi echo "re-building SDGOS scripts dir" @@ -43,8 +50,6 @@ if [[ $REPLY2 =~ ^[Yy]$ ]]; then cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config sleep 5 echo "old ghostty config moved to ghostty-old-$RAND and new config copied in" -else - return 0 fi read -p "do you want to update and refresh your zshrc config? this will reset you back to SDG-OS defaults [y/N] " -n 1 -r REPLY3 @@ -54,8 +59,6 @@ if [[ $REPLY3 =~ ^[Yy]$ ]]; then cp /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami)/.zshrc sleep 5 echo "old zshrc moved to .zshrc-old-$RAND and new zshrc copied in." -else - return 0 fi read -p "do you want to update and refresh your p10k config? this will reset you back to SDG-OS defaults [y/N] " -n 1 -r REPLY4 @@ -65,8 +68,6 @@ mv /home/$(whoami)/.p10k.zsh /home/$(whoami)/.p10k.zsh-old-$RAND cp /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami)/.p10k.zsh sleep 5 echo "old p10k moved to .p10k.zsh-old-$RAND and new p10k config copied in" -else - return 0 fi echo "fixing perms on SDGOS folder" @@ -74,4 +75,4 @@ chmod -R a+x ~/.config/sdgos sleep 3 echo "perms fixed, update complete." echo "" -echo "when you've confirmed functionality of the update, " \ No newline at end of file +echo "please reboot." \ No newline at end of file