major update: added screenshots, first-run and a mango configurator.

This commit is contained in:
2026-05-17 14:10:06 +02:00
parent f5d33c4576
commit 38c11b2e56
12 changed files with 151 additions and 33 deletions
+33 -2
View File
@@ -3,11 +3,17 @@
mangoWC dotfiles with DMS integration mangoWC dotfiles with DMS integration
clone the repo and place the mango folder in your .config folder: clone the repo and place the mango and sdgos folders in your .config folder:
`git clone https://git.sdgcloud.nl/SDGDen/SDG-OS.git` `git clone https://git.sdgcloud.nl/SDGDen/SDG-OS.git`
`cd SDG-OS` `cd SDG-OS`
`cp -r mango ~/.config` `cp -r mango ~/.config`
`cp -r sdgos ~/.config`
then make the scripts in the sdgos folder executable:
`sudo chmod -R a+x ~/.config/sdgos`
you can also use stow to symlink these to your .config folder instead, this allows you to store the files anywhere and also update via git pull, but means you cannot personally alter the config.
you may need totweak around with some stuff to get application auto-theming to work, reference the DMS docs: you may need totweak around with some stuff to get application auto-theming to work, reference the DMS docs:
@@ -17,6 +23,12 @@ as well as the mangoWM docs:
https://mangowm.github.io/docs https://mangowm.github.io/docs
please be sure to tweak the display config using dms or by editing monitors.conf to match your displays!
for keybinds, press super+k. these are automatically updated from your binds.conf file.
# needed software: # needed software:
(aur)mangowm-git (aur)mangowm-git
@@ -30,13 +42,32 @@ pipewire
(aur)dsearch-bin (aur)dsearch-bin
matugen matugen
adw-gtk-theme adw-gtk-theme
wl-copy
hyprshot
grim
satty
fzf
micro
# installation of that software: # installation of that software:
`sudo pacman -Syu ghostty firefox dms-shell yay git nautilus brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme` `sudo pacman -Syu ghostty firefox dms-shell yay git nautilus brightnessctl pipewire-pulse pipewire matugen adw-gtk-theme wl-copy hyprshot grim satty`
`yay -S mangowm-git dsearch-bin` `yay -S mangowm-git dsearch-bin`
# mango-config editor script
you can open the mango config editor with super+m, this opens a terminal in which you can select a config file and see the contents of that config file.
this script has a variable for the editor, it uses micro by default, but you can change the line "app=micro" to any editor you'd like.
# Updates:
17-05-2026 - added screenshot capability through scripts, first run modal (opens settings and keybinds popup on first boot) and added a somewhat-simple mango config editor script.
+5 -1
View File
@@ -4,10 +4,14 @@
exec-once=tldr --update exec-once=tldr --update
## start dsearch file indexer ## start dsearch file indexer
exec-once=dsearch serve --workers 1 --root ~ exec-once=dsearch serve --workers 1 --root ~
##start a polkit agent ## start a polkit agent
exec-once=systemctl --user start hyprpolkitagent exec-once=systemctl --user start hyprpolkitagent
## first-run UI
exec-once=~/.config/sdgos/firstrun.sh
# UI # UI
exec-once=ghostty
## start DankMaterial Shell ## start DankMaterial Shell
exec-once=dms run exec-once=dms run
+12 -2
View File
@@ -1,6 +1,6 @@
# Example binds,see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds
bind=SUPER+ALT,r,reload_config # reload mango config bind=SUPER,R,reload_config # reload mango config
# Actions # Actions
# window management # window management
@@ -11,6 +11,7 @@ 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 -d toggleglobal && mmsg -d togglefloating # pin window across workspaces
bind=SUPER,O,toggleoverview bind=SUPER,O,toggleoverview
# "OS" functions # "OS" functions
bind=SUPER,L,spawn_shell,dms ipc call lock lock # locks screen bind=SUPER,L,spawn_shell,dms ipc call lock lock # locks screen
bind=SUPER,SPACE,spawn_shell,dms ipc call spotlight toggle # open runner menu bind=SUPER,SPACE,spawn_shell,dms ipc call spotlight toggle # open runner menu
@@ -24,6 +25,7 @@ bind=SUPER,ESCAPE,spawn_shell,dms ipc call control-center toggle # toggle contro
bind=SUPER,Z,spawn_shell,dms ipc call powermenu toggle # toggle power menu bind=SUPER,Z,spawn_shell,dms ipc call powermenu toggle # toggle power menu
bind=SUPER,S,spawn_shell,dms ipc call settings toggle # toggle settings bind=SUPER,S,spawn_shell,dms ipc call settings toggle # toggle settings
bind=SUPER,K,spawn_shell,dms ipc call keybinds toggleWithPath mangowc ~/.config/mango/binds.conf # show binds bind=SUPER,K,spawn_shell,dms ipc call keybinds toggleWithPath mangowc ~/.config/mango/binds.conf # show binds
bind=SUPER,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor
#program launchers #program launchers
bind=SUPER,RETURN,spawn_shell,ghostty bind=SUPER,RETURN,spawn_shell,ghostty
@@ -31,6 +33,8 @@ bind=SUPER,TAB,spawn_shell,ghostty
bind=SUPER,E,spawn,nautilus ~ bind=SUPER,E,spawn,nautilus ~
bind=SUPER,B,spawn,firefox bind=SUPER,B,spawn,firefox
bind=SUPER,N,spawn_shell,dms ipc call notepad open # open notes bind=SUPER,N,spawn_shell,dms ipc call notepad open # open notes
bind=SUPER+SHIFT,M,spawn,firefox --new-window https://mangowm.github.io/docs/configuration
# Audio Ctrls # Audio Ctrls
@@ -43,6 +47,12 @@ bind=NONE,XF86AudioMicMute,spawn_shell,dms ipc call audio micmute # mute mic
bind=NONE,XF86MonBrightnessUp,spawn_shell,dms ipc call brightness increment 5 # brightness up bind=NONE,XF86MonBrightnessUp,spawn_shell,dms ipc call brightness increment 5 # brightness up
bind=NONE,XF86MonBrightnessDown,spawn_shell,dms ipc call brightness decrement 5 # brightness down bind=NONE,XF86MonBrightnessDown,spawn_shell,dms ipc call brightness decrement 5 # brightness down
# screenshots
bind=SUPER,PRINT,spawn_shell,~/.config/sdgos/screenshots/region.sh # screenshot region
bind=SUPER+CTRL,PRINT,spawn_shell,~/.config/sdgos/screenshots/fullscreen.sh # fullscreen screenshot
bind=NONE,PRINT,spawn_shell,~/.config/sdgos/screenshots/mode-toggle.sh # toggle screenshot save mode
# Other # Other
bind=NONE,XF86WLAN,spawn_shell,nmcli radio wifi toggle # toggle wifi bind=NONE,XF86WLAN,spawn_shell,nmcli radio wifi toggle # toggle wifi
bind=NONE,XF86Refresh,spawn_shell,xdotool key F5 # refresh bind=NONE,XF86Refresh,spawn_shell,xdotool key F5 # refresh
+1 -2
View File
@@ -10,5 +10,4 @@ source=~/.config/mango/windowrules.conf
source=~/.config/mango/dms/colors.conf source=~/.config/mango/dms/colors.conf
source=~/.config/mango/dms/layout.conf source=~/.config/mango/dms/layout.conf
source=~/.config/mango/dms/outputs.conf source=~/.config/mango/dms/outputs.conf
source=~/.config/mango/dms/cursor.conf
source=./dms/cursor.conf
-11
View File
@@ -1,11 +0,0 @@
# link all config files
source=~/.config/mango/autostart.conf
source=~/.config/mango/binds.conf
source=~/.config/mango/decoration.conf
source=~/.config/mango/environment.conf
source=~/.config/mango/input.conf
source=~/.config/mango/layouts.conf
source=~/.config/mango/monitors.conf
source=~/.config/mango/windowrules.conf
source=~/.config/mango/dms/colors.conf
source=~/.config/mango/dms/layout.conf
-12
View File
@@ -1,12 +0,0 @@
# link all config files
source=~/.config/mango/autostart.conf
source=~/.config/mango/binds.conf
source=~/.config/mango/decoration.conf
source=~/.config/mango/environment.conf
source=~/.config/mango/input.conf
source=~/.config/mango/layouts.conf
source=~/.config/mango/monitors.conf
source=~/.config/mango/windowrules.conf
source=~/.config/mango/dms/colors.conf
source=~/.config/mango/dms/layout.conf
source=~/.config/mango/dms/outputs.conf
+3 -3
View File
@@ -1,6 +1,6 @@
# ! Auto-generated file. Do not edit directly. # ! Auto-generated file. Do not edit directly.
# Remove source = ./dms/colors.conf from your config to override. # Remove source = ./dms/colors.conf from your config to override.
bordercolor = 0x908caaff bordercolor = 0x958e9bff
focuscolor = 0xc4a7e7ff focuscolor = 0xd6baffff
urgentcolor = 0xeb6f92ff urgentcolor = 0xffb4abff
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
if [ ! -f ~/.config/firstrun.state ]; then
dms ipc call settings open
dms ipc call keybinds openWithPath mangowc ~/.config/mango/binds.conf
touch ~/.config/firstrun.state
fi
exit 0
+15
View File
@@ -0,0 +1,15 @@
#!/bin/bash
CONFDIR="/home/$(whoami)/.config/mango"
echo "confdir is $CONFDIR"
app=micro
selected=$(ls -1 $CONFDIR | fzf --layout=reverse --preview="bat $CONFDIR/{}")
echo "selected is $selected"
$app $CONFDIR/$selected
echo "opened $CONFDIR/$selected in $app"
+23
View File
@@ -0,0 +1,23 @@
#!/bin/bash
if [ -e ~/.config/screenshot-state ]; then
state=$(cat ~/.config/screenshot-state)
case $state in
file)
mkdir -p ~/Screenshots
grim $HOME/Screenshots/$(date +%Y%m%d%H%M%S).png
notify-send -t 3000 -a "Screenshots" -i $HOME/Screenshots/$(date +%Y%m%d%H%M%S).png "screenshot taken" "screenshot taken and saved to file in $HOME/screenshots"
;;
clipboard)
f=$(mktemp -t screenshot-XXXXXX.png) && grim "$f" && wl-copy < "$f" && rm -f "$f"
notify-send -t 3000 -a "Screenshots" -i $f "screenshot taken" "screenshot taken and saved to clipboard"
;;
editor)
f=$HOME/Screenshots/$(date +%Y%m%d%H%M%S).png && grim "$f" && satty --filename "$f" --output-filename "$f" --actions-on-enter save-to-file --early-exit &
notify-send -t 3000 -a "Screenshots" -i "$f" "screenshot taken" "screenshot taken and opened in editor"
;;
esac
else
echo "clipboard" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "screenshot mode" 'No mode detected, set mode to "Save to Clipboard". re-run your screenshot'
fi
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
if [ -e ~/.config/screenshot-state ]; then
state=$(cat ~/.config/screenshot-state)
case $state in
file)
echo "clipboard" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "toggled screenshot mode" "screenshot mode changed to: \nSave to Clipboard"
echo "detected file, set to clipboard"
;;
clipboard)
echo "editor" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "toggled screenshot mode" "screenshot mode changed to: \nOpen in Editor"
echo "detected clipboard, set to editor"
;;
editor)
echo "file" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "toggled screenshot mode" "screenshot mode changed to: \nSave to File"
echo "detected editor, set to file"
;;
esac
else
echo "clipboard" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "toggled screenshot mode" "screenshot mode changed to: \nSave to Clipboard"
echo "detected no file ,set to clipboard"
fi
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
if [ -e ~/.config/screenshot-state ]; then
state=$(cat ~/.config/screenshot-state)
case $state in
file)
mkdir -p ~/Screenshots
hyprshot -m region --output-folder ~/Screenshots
;;
clipboard)
hyprshot -m region --clipboard-only
;;
editor)
hyprshot -m region --raw | satty --filename -
;;
esac
else
echo "clipboard" > ~/.config/screenshot-state
notify-send -t 3000 -a "Screenshots" "screenshot mode" 'No mode detected, set mode to "Save to Clipboard". re-run your screenshot'
fi