major update: added screenshots, first-run and a mango configurator.
This commit is contained in:
@@ -3,11 +3,17 @@
|
||||
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`
|
||||
|
||||
`cd SDG-OS`
|
||||
`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:
|
||||
@@ -17,6 +23,12 @@ as well as the mangoWM 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:
|
||||
|
||||
(aur)mangowm-git
|
||||
@@ -30,13 +42,32 @@ pipewire
|
||||
(aur)dsearch-bin
|
||||
matugen
|
||||
adw-gtk-theme
|
||||
wl-copy
|
||||
hyprshot
|
||||
grim
|
||||
satty
|
||||
fzf
|
||||
micro
|
||||
|
||||
|
||||
# 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`
|
||||
|
||||
|
||||
# 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.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,10 +4,14 @@
|
||||
exec-once=tldr --update
|
||||
## start dsearch file indexer
|
||||
exec-once=dsearch serve --workers 1 --root ~
|
||||
##start a polkit agent
|
||||
## start a polkit agent
|
||||
exec-once=systemctl --user start hyprpolkitagent
|
||||
## first-run UI
|
||||
exec-once=~/.config/sdgos/firstrun.sh
|
||||
|
||||
# UI
|
||||
exec-once=ghostty
|
||||
|
||||
|
||||
## start DankMaterial Shell
|
||||
exec-once=dms run
|
||||
|
||||
+12
-2
@@ -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
|
||||
|
||||
# window management
|
||||
@@ -11,6 +11,7 @@ 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,O,toggleoverview
|
||||
|
||||
# "OS" functions
|
||||
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
|
||||
@@ -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,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,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor
|
||||
|
||||
#program launchers
|
||||
bind=SUPER,RETURN,spawn_shell,ghostty
|
||||
@@ -31,6 +33,8 @@ bind=SUPER,TAB,spawn_shell,ghostty
|
||||
bind=SUPER,E,spawn,nautilus ~
|
||||
bind=SUPER,B,spawn,firefox
|
||||
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
|
||||
@@ -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,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
|
||||
bind=NONE,XF86WLAN,spawn_shell,nmcli radio wifi toggle # toggle wifi
|
||||
bind=NONE,XF86Refresh,spawn_shell,xdotool key F5 # refresh
|
||||
|
||||
+1
-2
@@ -10,5 +10,4 @@ source=~/.config/mango/windowrules.conf
|
||||
source=~/.config/mango/dms/colors.conf
|
||||
source=~/.config/mango/dms/layout.conf
|
||||
source=~/.config/mango/dms/outputs.conf
|
||||
|
||||
source=./dms/cursor.conf
|
||||
source=~/.config/mango/dms/cursor.conf
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,6 +1,6 @@
|
||||
# ! Auto-generated file. Do not edit directly.
|
||||
# Remove source = ./dms/colors.conf from your config to override.
|
||||
|
||||
bordercolor = 0x908caaff
|
||||
focuscolor = 0xc4a7e7ff
|
||||
urgentcolor = 0xeb6f92ff
|
||||
bordercolor = 0x958e9bff
|
||||
focuscolor = 0xd6baffff
|
||||
urgentcolor = 0xffb4abff
|
||||
|
||||
Executable
+8
@@ -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
|
||||
Executable
+15
@@ -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"
|
||||
|
||||
Executable
+23
@@ -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
|
||||
Executable
+30
@@ -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
|
||||
|
||||
|
||||
|
||||
Executable
+21
@@ -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
|
||||
Reference in New Issue
Block a user