This commit is contained in:
2026-05-30 17:10:01 +02:00
parent 4eb2f3b968
commit 3908162636
9 changed files with 65 additions and 71 deletions
+3 -3
View File
@@ -15,9 +15,9 @@ exec-once=dms run
exec-once=ghostty exec-once=ghostty
# pre-load terminal scratchpad # 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 2.5 && mmsg dispatch 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 && mmsg dispatch 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 3.5 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,'ghostty +new-window --title="scratchpad-term"'
+4 -4
View File
@@ -10,7 +10,7 @@ bind=SUPER,C,toggle_scratchpad
bind=SUPER+CTRL,C,minimized bind=SUPER+CTRL,C,minimized
bind=SUPER+ALT,C,restore_minimized bind=SUPER+ALT,C,restore_minimized
#specific terminal scratchpad for a quick access terminal #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 ##! window management
bind=SUPER,T,togglefloating, # float/unfloat active window 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,Q,killclient, # Close active window
bind=SUPER+SHIFT,Q,quit, # Exit mango bind=SUPER+SHIFT,Q,quit, # Exit mango
bind=SUPER+SHIFT,P,toggleoverlay, # toggle overlay mode 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=ALT,TAB,toggleoverview
bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle
bind=SUPER+SHIFT,A,switch_layout 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_right,moveresize,curresize
#mousebind=SUPER,btn_left,spawn_shell,mmsg -d option dwindle_smart_split 1 #mousebind=SUPER,btn_left,spawn_shell,mmsg dispatch option dwindle_smart_split 1
#bindr=NONE,super,spawn_shell,mmsg -d option dwindle_smart_split 0 #bindr=NONE,super,spawn_shell,mmsg dispatch option dwindle_smart_split 0
# Axis Bindings # Axis Bindings
axisbind=SUPER,UP,viewtoleft_have_client,0 # scroll up through views axisbind=SUPER,UP,viewtoleft_have_client,0 # scroll up through views
+14 -21
View File
@@ -3,24 +3,17 @@ this menu shows you mango IPC options in the following format
command | example | description command | example | description
you can search through these. you can search through these.
mmsg -Q | mmsg -q | quit mangoWM mmsg get version | mmsg get version | gets the current version of mangoWM in json
mmsg -w | mmsg -w -g -O | the -w flag "watches" the other flags, giving you constant updates. mmsg get keymode | mmsg get keymode | returns the current active keyboard mode in json
mmsg -g | mmsg -g | gets *all* information mmsg get keyboardlayout | mmsg get keyboardlayout | returns the current XKB layout in json
mmsg -g | mmsg -g -O | the -g flag gets information, a second flag determines the info to get mmsg get monitor | mmsg get monitor DP-1 | get information about a specific monitor in json
mmsg -g | mmsg -g -O | gets a list of monitor outputs mmsg get focusing-client | mmsg get focusing-client | get all details of the current active window in json
mmsg -g | mmsg -g -T | gets the number of tags mmsg get client | mmsg get client 12 | gives all details for the window with the provided ID in json
mmsg -g | mmsg -g -L | gets all available layouts in shorthand mmsg get tag | mmsg get tag DP-1 1 | gets the status details of a specific tag on a specific monitor in json
mmsg -g | mmsg -g -t | get tag information mmsg get tags | mmsg get tags DP-1 | gets details on all tags on a specific monitor in json
mmsg -g | mmsg -g -l | get the current layout for each monitor mmsg get all-clients | mmsg get all-clients | gets details for all clients in json
mmsg -g | mmsg -g -c | get information of the most recent focused client on each monitor mmsg get all-monitors | mmsg get all-monitors | gets details for all monitors in json
mmsg -g | mmsg -g -m | get fullscreen state for all monitors mmsg get all-tags | mmsg get all-tags | gets details for all tags in json
mmsg -g | mmsg -g -f | get floating state for all monitors 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 -g | mmsg -g -x | get the position and size for the most recent focused client per monitor mmsg watch | mmsg watch monitor | constant stream that updates whenever the information updates, for use in daemons, works like mmsg get
mmsg -g | mmsg -g -k | gets the current keyboard layout mmsg dispatch | mmsg dispatch <dispatcher> <args> | runs any keybind dispatcher, see the dispatcher list.
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 <dispatcher> | runs any keybind dispatcher, see the dispatcher list.
+1 -1
View File
@@ -31,7 +31,7 @@ command | | mango -c ~/.co
### other monitor things ### other monitor things
~/.config/mango/monitors.conf | allow_tearing | allow_tearing=1 | allows programs to bypass mangoWM vsync | Mango Monitor Rules ~/.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 ~/.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 ## Mango Keyboard settings
~/.config/mango/input.conf | repeat_rate | repeat_rate=25 | how many keystrokes per second a held key does | Mango Keyboard Settings ~/.config/mango/input.conf | repeat_rate | repeat_rate=25 | how many keystrokes per second a held key does | Mango Keyboard Settings
+15 -15
View File
@@ -1,69 +1,69 @@
#!/bin/bash #!/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 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" echo "$LAYOUT"
case $LAYOUT in case $LAYOUT in
T) T)
echo "Left Master" echo "Left Master"
mmsg -d zoom mmsg dispatch zoom
;; ;;
S) S)
echo "Horizontal Scroller" echo "Horizontal Scroller"
mmsg -d switch_proportion_preset mmsg dispatch switch_proportion_preset
;; ;;
G) G)
echo "Horizontal Grid" echo "Horizontal Grid"
mmsg -d togglegaps mmsg dispatch togglegaps
;; ;;
M) M)
echo "Monocle" echo "Monocle"
;; ;;
K) K)
echo "Horizontal Deck" echo "Horizontal Deck"
mmsg -d zoom mmsg dispatch zoom
;; ;;
CT) CT)
echo "Center Master" echo "Center Master"
mmsg -d zoom mmsg dispatch zoom
;; ;;
RT) RT)
echo "Right Master" echo "Right Master"
mmsg -d zoom mmsg dispatch zoom
;; ;;
VS) VS)
echo "Vertical Scroller" echo "Vertical Scroller"
mmsg -d switch_proportion_preset mmsg dispatch switch_proportion_preset
;; ;;
VT) VT)
echo "Top Master" echo "Top Master"
mmsg -d zoom mmsg dispatch zoom
;; ;;
VG) VG)
echo "Vertical Grid" echo "Vertical Grid"
mmsg -d togglegaps mmsg dispatch togglegaps
;; ;;
VK) VK)
echo "Vertical Deck" echo "Vertical Deck"
mmsg -d zoom mmsg dispatch zoom
;; ;;
DW) DW)
echo "Dwindle" echo "Dwindle"
mmsg -d togglemaximizescreen mmsg dispatch togglemaximizescreen
;; ;;
F) F)
echo "Fair" echo "Fair"
mmsg -d togglegaps mmsg dispatch togglegaps
;; ;;
VF) VF)
echo "Vertical Fair" echo "Vertical Fair"
mmsg -d togglegaps mmsg dispatch togglegaps
;; ;;
*) *)
notify-send "Unhandled Layout Detected" notify-send "Unhandled Layout Detected"
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
#mmsg -d togglefloating #mmsg dispatch togglefloating
SELECTED=$(cat ~/.config/sdgos/tuis/layouts.list | cut -d '|' -f 1 | fzf --layout=reverse) SELECTED=$(cat ~/.config/sdgos/tuis/layouts.list | cut -d '|' -f 1 | fzf --layout=reverse)
+14 -14
View File
@@ -1,15 +1,15 @@
Scroller - horizontal | mmsg -l "S" Scroller - horizontal | mmsg dispatch setlayout,scroller
Scroller - vertical | mmsg -l "VS" Scroller - vertical | mmsg dispatch setlayout,vertical_scroller
Tile/master - left | mmsg -l "T" Tile/master - left | mmsg dispatch setlayout,tile
Tile/master - top | mmsg -l "VT" Tile/master - top | mmsg dispatch setlayout,vertical_tile
Tile/master - center | mmsg -l "CT" Tile/master - center | mmsg dispatch setlayout,center_tile
Tile/master - right | mmsg -l "RT" Tile/master - right | mmsg dispatch setlayout,right_tile
Grid - horizontal | mmsg -l "G" Grid - horizontal | mmsg dispatch setlayout,grid
Grid - vertical | mmsg -l "VG" Grid - vertical | mmsg dispatch setlayout,vertical_grid
Deck - horizontal | mmsg -l "K" Deck - horizontal | mmsg dispatch setlayout,deck
Deck - vertical | mmsg -l "VK" Deck - vertical | mmsg dispatch setlayout,vertical_deck
Fair - horizontal | mmsg -l "F" Fair - horizontal | mmsg dispatch setlayout,fair
Fair - vertical | mmsg -l "VF" Fair - vertical | mmsg dispatch setlayout,vertical_fair
Monocle | mmsg -l "M" Monocle | mmsg dispatch setlayout,monocle
Dwindle | mmsg -l "DW" Dwindle | mmsg dispatch setlayout,dwindle
+1 -1
View File
@@ -13,4 +13,4 @@ echo $SELECTED
CMD="code-oss -n $SELECTED" CMD="code-oss -n $SELECTED"
mmsg -d spawn_shell,"$CMD" mmsg dispatch spawn_shell,"$CMD"
+11 -10
View File
@@ -7,7 +7,7 @@ git pull
echo "re-installing/updating pre-requisites" 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 yay -S mangowm-git dsearch-bin
@@ -26,8 +26,15 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then
cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config
sleep 5 sleep 5
echo "old version of the config moved to mango-old-$RAND and new version copied in." echo "old version of the config moved to mango-old-$RAND and new version copied in."
else fi
return 0
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 fi
echo "re-building SDGOS scripts dir" echo "re-building SDGOS scripts dir"
@@ -43,8 +50,6 @@ if [[ $REPLY2 =~ ^[Yy]$ ]]; then
cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config
sleep 5 sleep 5
echo "old ghostty config moved to ghostty-old-$RAND and new config copied in" echo "old ghostty config moved to ghostty-old-$RAND and new config copied in"
else
return 0
fi 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 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 cp /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami)/.zshrc
sleep 5 sleep 5
echo "old zshrc moved to .zshrc-old-$RAND and new zshrc copied in." echo "old zshrc moved to .zshrc-old-$RAND and new zshrc copied in."
else
return 0
fi 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 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 cp /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami)/.p10k.zsh
sleep 5 sleep 5
echo "old p10k moved to .p10k.zsh-old-$RAND and new p10k config copied in" echo "old p10k moved to .p10k.zsh-old-$RAND and new p10k config copied in"
else
return 0
fi fi
echo "fixing perms on SDGOS folder" echo "fixing perms on SDGOS folder"
@@ -74,4 +75,4 @@ chmod -R a+x ~/.config/sdgos
sleep 3 sleep 3
echo "perms fixed, update complete." echo "perms fixed, update complete."
echo "" echo ""
echo "when you've confirmed functionality of the update, " echo "please reboot."