diff --git a/ghostty/themes/dankcolors b/ghostty/themes/dankcolors index 2e43346..9556157 100644 --- a/ghostty/themes/dankcolors +++ b/ghostty/themes/dankcolors @@ -1,22 +1,22 @@ -background = #101418 -foreground = #e0e2e8 -cursor-color = #9ecafc -selection-background = #154974 -selection-foreground = #e0e2e8 +background = #0d141c +foreground = #dde3ee +cursor-color = #9bcaff +selection-background = #00497a +selection-foreground = #dde3ee -palette = 0=#101418 +palette = 0=#0d141c palette = 1=#ff729c -palette = 2=#7efc8f +palette = 2=#7fff90 palette = 3=#fff772 -palette = 4=#84b6ef -palette = 5=#244a74 -palette = 6=#9ecafc +palette = 4=#80b5f2 +palette = 5=#214976 +palette = 6=#9bcaff palette = 7=#eff6ff -palette = 8=#979da3 +palette = 8=#999fa5 palette = 9=#ff9fbb palette = 10=#a5ffb1 palette = 11=#fffaa5 -palette = 12=#aed3ff -palette = 13=#bcdbff -palette = 14=#d4e8ff +palette = 12=#aad1ff +palette = 13=#b9d9ff +palette = 14=#d2e7ff palette = 15=#f8fbff diff --git a/ghostty/themes/dankcolors (conflicted copy 2026-05-19 150420) b/ghostty/themes/dankcolors (conflicted copy 2026-05-19 150420) new file mode 100644 index 0000000..2e43346 --- /dev/null +++ b/ghostty/themes/dankcolors (conflicted copy 2026-05-19 150420) @@ -0,0 +1,22 @@ +background = #101418 +foreground = #e0e2e8 +cursor-color = #9ecafc +selection-background = #154974 +selection-foreground = #e0e2e8 + +palette = 0=#101418 +palette = 1=#ff729c +palette = 2=#7efc8f +palette = 3=#fff772 +palette = 4=#84b6ef +palette = 5=#244a74 +palette = 6=#9ecafc +palette = 7=#eff6ff +palette = 8=#979da3 +palette = 9=#ff9fbb +palette = 10=#a5ffb1 +palette = 11=#fffaa5 +palette = 12=#aed3ff +palette = 13=#bcdbff +palette = 14=#d4e8ff +palette = 15=#f8fbff diff --git a/install.sh b/install.sh index 70f7cf3..b950f42 100644 --- a/install.sh +++ b/install.sh @@ -12,17 +12,22 @@ if [ $WORKINGDIR != "/home/$(whoami)/SDG-OS"]; then ln -sf $WORKINGDIR /home/$(whoami) fi -stow . -t /home/$(whoami)/.config/ +mv /home/$(whoami)/.config/mango /home/$(whoami)/.config/mango-old-$(date %b%D) +cp -r /home/$(whoami)/SDG-OS/mango /home/$(whoami)/.config +mv /home/$(whoami)/.config/sdgos /home/$(whoami)/.config/sdgos-old-$(date %b%D) +cp -r /home/$(whoami)/SDG-OS/sdgos /home/$(whoami)/.config +mv /home/$(whoami)/.config/ghostty /home/$(whoami)/.config/ghostty-old-$(date %b%D) +cp -r /home/$(whoami)/SDG-OS/ghostty /home/$(whoami)/.config + -echo "on" > ~/.config/SDGupdate.state echo "projects" > ~/.config/projectdir.state mkdir -p ~/projects echo "source /home/$(whoami)/.config/sdgos/zshconfig.zsh" >> ~/.zshrc -mv /home/$(whoami)/.zshrc /home/$(whoami)/.zshrc-old +mv /home/$(whoami)/.zshrc /home/$(whoami)/.zshrc-old-$(date %b%D) ln -sf /home/$(Whoami)/.config/sdgos/zshrc /home/$(whoami) -mv /home/$(whoami)/.p10k.zsh /home/$(whoami)/.p10k.zsh-old +mv /home/$(whoami)/.p10k.zsh /home/$(whoami)/.p10k.zsh-old-$(date %b%D) ln -sf /home/$(Whoami)/.config/sdgos/p10k.zsh /home/$(whoami) chmod -R a+x ~/.config/sdgos diff --git a/mango/autostart.conf b/mango/autostart.conf index a6c8676..2e9e07e 100644 --- a/mango/autostart.conf +++ b/mango/autostart.conf @@ -8,8 +8,7 @@ exec-once=dsearch serve --workers 1 --root ~ exec-once=systemctl --user start hyprpolkitagent ## first-run UI exec-once=~/.config/sdgos/firstrun.sh -## auto-updates (toggle off by either removing ~/.config/SDGupdate.state or running "echo 'off' > ~/.config/SDGupdate.state") -exec-once=~/.config/sdgos/auto-update.sh + # UI exec-once=ghostty diff --git a/mango/binds.conf b/mango/binds.conf index 299adeb..0c34163 100644 --- a/mango/binds.conf +++ b/mango/binds.conf @@ -1,74 +1,75 @@ -# Example binds - +##! important binds bind=SUPER,R,reload_config -# Actions +bind=SUPER,H,spawn_shell,ghostty -e ~/.config/sdgos/help/cmd-help.sh # show basic command helper +bind=SUPER+SHIFT,H,spawn_shell,ghostty -e ~/.config/sdgos/help/help.sh # show SDG-OS help menu +bind=SUPER,K,spawn_shell,dms ipc call keybinds toggleWithPath mangowc ~/.config/mango/binds.conf # show keybinds +bind=SUPER,0,spawn_shell,notify-send "SDG-OS Tips" "$(shuf -n 1 ~/.config/sdgos/tips/tips.list | sed 's/.*: //')" # show tip -# window management + + +##! window management bind=SUPER,T,togglefloating, # float/unfloat active window bind=SUPER,F,togglefullscreen, # fullscreen active window 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,O,toggleoverview +bind=ALT,TAB,toggleoverview -# "OS" functions +##! 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 bind=SUPER,V,spawn_shell,dms ipc call clipboard toggle # open clipboard bind=SUPER,I,spawn_shell,dms ipc call inhibit toggle # toggle sleep inhibit bind=SUPER+SHIFT,T,spawn_shell,dms ipc call theme toggle # toggle dark/light mode bind=SUPER,D,spawn_shell,dms ipc call dock toggle # toggle dock -bind=SUPER,X,spawn_shell,dms ipc call processlist open # open process list +bind=SUPER,X,spawn_shell,dms ipc call processlist focusOrToggle # open process list bind=SUPER+SHIFT,N,spawn_shell,dms ipc call notifications open # open notifications bind=SUPER,ESCAPE,spawn_shell,dms ipc call control-center toggle # toggle control center 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 +###! SDG-OS custom scripts bind=SUPER,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor bind=SUPER,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/pkg-install.sh # install packages bind=SUPER+SHIFT,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/aur-install.sh # install AUR packages bind=SUPER,W,spawn_shell,ghostty -e ~/.config/sdgos/tuis/layout-switch.sh # switch between layouts on the current workspace -#program launchers +##! program launchers bind=SUPER,RETURN,spawn_shell,ghostty 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 +bind=SUPER,N,spawn_shell,dms ipc call notepad toggle # open notes +bind=SUPER+SHIFT,M,spawn_shell,ghostty -e ~/.config/sdgos/tuis/documentation.sh # open SDG-OS related documentation bind=SUPER+SHIFT,TAB,spawn_shell,ghostty -e ~/.config/sdgos/tuis/project-select.sh # summon project selection TUI +##! Misc - -# Audio Ctrls +###! Audio controls bind=NONE,XF86AudioRaiseVolume,spawn_shell,dms ipc call audio increment 5 # audio up bind=NONE,XF86AudioLowerVolume,spawn_shell,dms ipc call audio decrement 5 # audio down bind=NONE,XF86AudioMute,spawn_shell,dms ipc call audio mute # mute audio bind=NONE,XF86AudioMicMute,spawn_shell,dms ipc call audio micmute # mute mic -# Brightness Ctrls +###! Brightness controls 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 +###! 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,XF86Refresh,spawn_shell,xdotool key F5 # refresh -bind=SUPER,0,spawn_shell,notify-send "SDG-OS Tips" "$(shuf -n 1 ~/.config/sdgos/tips/tips.list | sed 's/.*: //')" # show tip -# Move focus with mainMod + arrow keys +##! Focus and Exchange bind=SUPER,left,focusdir,left bind=SUPER,right,focusdir,right bind=SUPER,up,focusdir,up bind=SUPER,down,focusdir,down - -# move window between monitors with win+Alt+arrow keys bind=SUPER+SHIFT,up,exchange_stack_client,prev bind=SUPER+SHIFT,down,exchange_stack_client,next bind=SUPER+SHIFT,left,focusstack,prev @@ -82,7 +83,16 @@ bind=SUPER+Alt,right,resizewin,+50,+0 # resize window bind=SUPER+Alt,up,resizewin,+0,-50 # resize window bind=SUPER+Alt,down,resizewin,+0,+50 # resize window - +# switch between workspaces with mainmod + [1-9] +bind=SUPER,1,view,1,1 # focus workspace 1 +bind=SUPER,2,view,2,1 # focus workspace 2 +bind=SUPER,3,view,3,1 # focus workspace 3 +bind=SUPER,4,view,4,1 # focus workspace 4 +bind=SUPER,5,view,5,1 # focus workspace 5 +bind=SUPER,6,view,6,1 # focus workspace 6 +bind=SUPER,7,view,7,1 # focus workspace 7 +bind=SUPER,8,view,8,1 # focus workspace 8 +bind=SUPER,9,view,9,1 # focus workspace 9 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind=SUPER+SHIFT,1,tag,1 # Move window to workspace 1 @@ -95,17 +105,6 @@ bind=SUPER+SHIFT,7,tag,7 # Move window to workspace 7 bind=SUPER+SHIFT,8,tag,8 # Move window to workspace 8 bind=SUPER+SHIFT,9,tag,9 # Move window to workspace 9 -# switch between workspaces with mainmod + [1-9] -bind=SUPER,1,view,1,1 # focus workspace 1 -bind=SUPER,2,view,2,1 # focus workspace 2 -bind=SUPER,3,view,3,1 # focus workspace 3 -bind=SUPER,4,view,4,1 # focus workspace 4 -bind=SUPER,5,view,5,1 # focus workspace 5 -bind=SUPER,6,view,6,1 # focus workspace 6 -bind=SUPER,7,view,7,1 # focus workspace 7 -bind=SUPER,8,view,8,1 # focus workspace 8 -bind=SUPER,9,view,9,1 # focus workspace 9 - # add workspaces to vie with mainmod + alt + [1-9] bind=SUPER+alt,1,toggleview,1 # toggle on workspace 1 bind=SUPER+alt,2,toggleview,2 # toggle on workspace 2 @@ -125,8 +124,8 @@ mousebind=NONE,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 -d option dwindle_smart_split 1 +#bindr=NONE,super,spawn_shell,mmsg -d option dwindle_smart_split 0 # Axis Bindings axisbind=SUPER,UP,viewtoleft_have_client,0 # scroll up through views diff --git a/mango/dms/colors (conflicted copy 2026-05-19 150420).conf b/mango/dms/colors (conflicted copy 2026-05-19 150420).conf new file mode 100644 index 0000000..8324447 --- /dev/null +++ b/mango/dms/colors (conflicted copy 2026-05-19 150420).conf @@ -0,0 +1,6 @@ +# ! Auto-generated file. Do not edit directly. +# Remove source = ./dms/colors.conf from your config to override. + +bordercolor = 0x8c9199ff +focuscolor = 0x9ecafcff +urgentcolor = 0xffb4abff diff --git a/mango/dms/colors.conf b/mango/dms/colors.conf index 8324447..8d8d367 100644 --- a/mango/dms/colors.conf +++ b/mango/dms/colors.conf @@ -1,6 +1,6 @@ # ! Auto-generated file. Do not edit directly. # Remove source = ./dms/colors.conf from your config to override. -bordercolor = 0x8c9199ff -focuscolor = 0x9ecafcff +bordercolor = 0x8b919bff +focuscolor = 0x9bcaffff urgentcolor = 0xffb4abff diff --git a/mango/layouts.conf b/mango/layouts.conf index ba8d38c..55161a2 100644 --- a/mango/layouts.conf +++ b/mango/layouts.conf @@ -14,9 +14,10 @@ default_nmaster=1 smartgaps=0 # Overview Setting -hotarea_size=10 +hotarea_size=30 enable_hotarea=1 -ov_tab_mode=0 +hotarea_corner=0 +ov_tab_mode=1 overviewgappi=5 overviewgappo=30 @@ -26,7 +27,7 @@ dwindle_smart_split=0 dwindle_hsplit=0 dwindle_vsplit=0 dwindle_preserve_split=1 -dwindle_smart_resize=1 +dwindle_smart_resize=0 dwindle_drop_simple_split=0 # set default layouts for each tag diff --git a/sdgos/auto-update.sh b/sdgos/auto-update.sh deleted file mode 100644 index 43ad0cd..0000000 --- a/sdgos/auto-update.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -state=$(cat ~/.config/SDGupdate.state) - -if [ "$state" == "on" ]; then - cd /home/$(whoami)/SDG-OS - git pull - mmsg -d reload-config -fi diff --git a/sdgos/help/DMSipc.list b/sdgos/help/DMSipc.list new file mode 100644 index 0000000..a27a1c1 --- /dev/null +++ b/sdgos/help/DMSipc.list @@ -0,0 +1,244 @@ +## Introduction +this menu shows you mango IPC options in the following format +function | example | description +you can search through these. + +the standard formatting for DMS IPC commands is: +dms ipc call [target] [function] [arguments] + +this list is grouped by target, here's a quick overview of searchable targets: +audio | brightness | night | mpris | lock | inhibit | wallpaper | profile | theme | bar | dock | widget | plugins | outputs | desktopWidget +spotlight | clipboard | notifications | processlist | powermenu | control-center | notepad | dash | keybinds | systemupdater | toast + +## Core Controls + +###audio +setvolume | dms ipc call audio setvolume 50 | sets the volume to a specified percentage +increment | dms ipc call audio increment 5 | increases the volume by x% +decrement | dms ipc call audio decrement 5 | decreases the volume by x% +mute | dms ipc call audio mute | toggles your output mute +setmic | dms ipc call audio setmic 50 | sets your microphone volume percentage +micmute | dms ipc call audio micmute | toggles your microphone mute +cycleOutput | dms ipc call audio cycleOutput | cycle through output Devices +status | dms ipc call audio status | get the current audio status + +### brightness +set | dms ipc call brightness set 50 DP-1 | set the brightness percentage, optionally for a specific monitor +increment | dms ipc call brightness increment 5 DP-1 | increment brightness, monitor optional +decrement | dms ipc call brightness decrement 5 DP-1 | decrement brightness, monitor optional +status | dms ipc call brightness status | get current brightness status +list | dms ipc call brightness list | lists all devices with brightness Controls + +### night mode +toggle | dms ipc call night toggle | toggles night mode +enable | dms ipc call night enable | turns night mode on +disable | dms ipc call night disable | turns night mode off +status | dms ipc call night status | get the current night mode status +temperature | dms ipc call night temperature 5700 | without number, gets the current color temp, otherwise sets that color temp (2500-6000 kelvin) +automation | dms ipc call night automation | gets current automation mode, set with modes manual, time or location +schedule | dms ipc call night schedule 21:00 08:00 | sets night mode to turn on between the first and second time every day. +location | dms ipc call night location lat long | sets night mode to trigger when you are at this location (location mode) + +### media player control (mpris) +list | dms ipc call mpris list | list available media players +play | dms ipc call mpris play | starts playback +pause | dms ipc call mpris pause | pauses playback +playPause | dms ipc call mpris playPause | toggles playback +previous | dms ipc call mpris previous | skip to previous track/video +next | dms ipc call mpris next | skip to next track/video +stop | dms ipc call mpris stop | stop playback + +### lock +lock | dms ipc call lock lock | locks the screen +demo | dms ipc call lock demo | shows a "fake" lockscreen (to test) +isLocked | dms ipc call lock isLocked | check if the screen is locked + +### inhibit +toggle | dms ipc call inhibit toggle | toggles inhibit (prevents automatic sleep/lock) +enable | dms ipc call inhibit enable | turns inhibit on +disable | dms ipc call inhibit disable | turns inhibit off + + +## Wallpaper & Profile + +### wallpapers +### if you want to set multiple wallpapers programatically, just run multiple set calls +get | dms ipc call wallpaper get | gets the current wallpaper path +set | dms ipc call wallapper set ~/Pictures/wallpaper.png| sets the wallpaper +clear | dms ipc call wallpaper clear | clears the wallpaper +next | dms ipc call wallpaper next | cycles to next wallpaper +prev | dms ipc call wallpaper prev | cycles to previous wallpaper +getFor | dms ipc call wallpaper getFor DP-1 | gets the wallpaper for a specific monitor +SetFor | dms ipc call wallpaper setFor DP-1 ~/wallpaper.png| sets the wallpaper for a specific monitor +nextFor | dms ipc call wallpaper nextFor DP-1 | cycles to next wallpaper for a specific monitor +prevFor | dms ipc call wallpaper prevFor DP-1 | cycles to previous wallpaper for a specific monitor + +### profile +getImage | dms ipc call profile getImage | gets the current profile image path +setImage | dms ipc call profile setImage ~/profile.png | sets the profile image +clearImage | dms ipc call profile clearImage | clears the profile image + +## Appearance Controls + +### theme +toggle | dms ipc call theme toggle | toggles dark/light mode +light | dms ipc call theme light | sets theme to light mode +dark | dms ipc call theme dark | sets theme to dark mode +getMode | dms ipc call theme getMode | gets the current mode + +### bar +### selectors: 'index x' - select by position x, 'id abc123' - select by ID abc123, 'name "Bar Name"' select by name Bar Name +### default top bar is index 0 +reveal | dms ipc call bar reveal | reveals the bar +hide | dms ipc call bar hide | hides the bar +toggle | dms ipc call bar toggle | toggles the bar +status | dms ipc call bar status | gets bar visibility +autoHide | dms ipc call bar autoHide | turns on autohide for the bar +manualHide | dms ipc call bar manualHide | turns off autohide for the bar +toggleAutoHide | dms ipc call bar toggleAutoHide | toggles autohide for the bar +getPosition | dms ipc call bar getPosition | gets the current position for the bar +setPosition | dms ipc call bar setPosition left | moves the bar to the provided position + +### dock +reveal | dms ipc call dock reveal | reveals the dock +hide | dms ipc call dock hide | hides the dock +toggle | dms ipc call dock toggle | toggles the dock +status | dms ipc call dock status | gets dock visibility status +autoHide | dms ipc call dock autoHide | turns on autoHide +manualHide | dms ipc call dock manualHide | turns off autoHide +toggleAutoHide | dms ipc call dock toggleAutoHide | toggles autoHide + +### widgets +list | dms ipc call widget list | lists widgets with their IDs +toggle | dms ipc call widget toggle WidgetID | toggles visibility for that widget +openWith | dms ipc call widget openWith launcherButton files | opens a widget in a specific mode for that widget (for example different tabs on the launcher) +toggleWith | dms ipc call widget toggleWith WidgetID files | same as openWith, but toggles the menu +openQuery | dms ipc call widget openQuery widgetID "hi" | opens the widget with a query pre-filled (for widgets that have a search bar) +toggleQuery | dms ipc call widget ToggleQuery widgetID "hi" | same as openQuery, but toggles the menu +status | dms ipc call widget status WidgetID | gets the popout visibility status of the widget +visibility | dms ipc call widget visibility WidgetID | gets the widget visibility state +reveal | dms ipc call widget reveal WidgetID | forces widget to be visible +hide | dms ipc call widget hide WidgetID | forces widget to be hidden +reset | dms ipc call widget reset WidgetID | clears widget visibility override, returning it to default behaviour + +## modals + +### spotlight +open | dms ipc call spotlight open | opens the spotlight search (app launcher + file search + settings search) +close | dms ipc call spotlight close | closes the spotlight search +toggle | dms ipc call spotlight toggle | toggles spotlight search +openQuery | dms ipc call spotlight openQuery "ghostty" | opens spotlight with the query pre-filled in the search bar +toggleQuery | dms ipc call spotlight toggleQuery "ghostty" | toggles spotlight with the query pre-filled in the search bar + +### clipboard +open | dms ipc call clipboard open | opens clipboard +close | dms ipc call clipboard close | closes clipboard +toggle | dms ipc call clipboard toggle | toggles clipboard + +### notifications +open | dms ipc call notifications open | opens notifications +close | dms ipc call notifications close | closes notifications +toggle | dms ipc call notifications toggle | toggles the notification menu +clearAll | dms ipc call notifications clearAll | clears all notifications +dismissAllPopups | dms ipc call notifications dismissAllPopups | dismiss all notification popups +toggleDoNotDisturb | dms ipc call notifications toggleDoNotDisturb | toggles Do Not Disturb +getDoNotDisturb | dms ipc call notifications getDoNotDisturb | gets current do not disturb state + +### process list +open | dms ipc call processlist open | opens the system process manager/hardware monitor +close | dms ipc call processlist close | closes the system process manager/hardware monitor +toggle | dms ipc call processlist toggle | toggles the system process manager/hardware monitor +focusOrToggle | dms ipc call processlist focusOrToggle | focuses the process manager if it exists and is not focused, toggles it if it does not exist or is focused. + +### power menu +open | dms ipc call powermenu open | opens the power menu +close | dms ipc call powermenu close | closes the power menu +toggle | dms ipc call powermenu toggle | toggles the power menu + +### control center +open | dms ipc call control-center open | opens the control center +close | dms ipc call control-center close | closes the control center +toggle | dms ipc call control-center toggle | toggles the control center + +### notepad +open | dms ipc call notepad open | opens the notepad +close | dms ipc call notepad close | closes the notepad +toggle | dms ipc call notepad toggle | toggles the notepad + +### dash +open | dms ipc call dash open overview | opens the dashboard to that tab (overview, media or weather) +close | dms ipc call dash close | closes the dashboard +toggle | dms ipc call dash toggle overview | toggles the dashboard to that tab (tab is optional) +wallpaper | dms ipc call dankdash wallpaper | specific call to toggle the wallpaper tab. + +### file +browse wallpaper | dms ipc call file browse wallpaper | opens wallpaper selector +browse profile | dms ipc call file browse profile | opens profile image selector + +### welcome +open | dms ipc call welcome open | opens the DMS first-launch wizard +doctor | dms ipc call welcome doctor | opens the first-launch wizard to the diagnostics page +page | dms ipc call welcome page 2 | opens the first-launch wizard to a specific page (0=welcome,1=doctor,2=complete) + +### keybinds +open | dms ipc call keybinds open mangowc | opens keybinds menu, reading from ~/.config/mango/config.conf +openWithPath | dms ipc call keybinds openWithPath mangowc ~/.config/mango/binds.conf | opens the keybinds menu with a specific file to read +close | dms ipc call keybinds close | closes the keybinds menu +toggle | dms ipc call keybinds toggle mangowc | toggles the keybinds menu, reading from ~/.config/mango/config.conf +toggleWithPath | dms ipc call keybinds toggleWithPath - - | same as openWithPath, but uses toggle behaviour. + + +## settings +tabs | dms ipc call settings tabs | lists available settings tabs +open | dms ipc call settings open | opens settings menu +openWith | dms ipc call settings openWith | opens settings menu to specified tab +close | dms ipc call settings close | closes settings menu +toggle | dms ipc call settings toggle | toggles settings menu +toggleWith | dms ipc call settings toggleWith | toggles settings menu to specified tab +focusOrToggle | dms ipc call settings focusOrToggle | focuses settings window if unfocused, toggles if focused or inactive +focusOrToggleWith | dms ipc call settings focusOrToggleWith | focusOrToggle but with a specified tab +get | dms ipc call settings get | get a setting, to see all settings keys: 'micro ~/.config/DankMaterialShell/settings.json' +set | dms ipc call settings get | set a setting to a specific value + + +## outputs +listProfiles | dms ipc call outputs listProfiles | lists output profiles +current | dms ipc call outputs current | lists current output profile +setProfile | dms ipc call outputs setProfile | sets the output profile to the specified one +status | dms ipc call outputs status | gets the current output config status +refresh | dms ipc call outputs refresh | refresh the output configuration + +## plugins +list | dms ipc call plugins list | lists available plugins with status +status | dms ipc call plugins status | gets status for a specific plugin +reload | dms ipc call plugins reload | hot-reload the specified plugin +enable | dms ipc call plugins enable | enable the plugin +disable | dms ipc call plugins disable | disable the plugin + + +## system updater +updatestatus | dms ipc call systemupdater updatestatus | triggers a system update check + +## desktop widgets +list | dms ipc call desktopWidget list | lists desktop widgets with ID, type, name and status +status | dms ipc call desktopWidget status dw_1234 | gets status for a specific widget +enable | dms ipc call desktopWidget enable dw_1234 | enables a widget +disable | dms ipc call desktopWidget disable dw_1234 | disables a widget +toggleEnabled | dms ipc call desktopWidget toggleEnabled | toggles a widget +toggleoverlay | dms ipc call desktopWidget toggleOverlay | toggles overlay mode for a widget +setOverlay | dms ipc call desktopWidget setOverlay true | sets overlay mode to true or false for a widget +toggleClickThrough | dms ipc call desktopWidget toggleClickThrough | toggles clickthrough for a widget +setClickThrough | dms ipc call desktopWidget setClickThrough true | sets clickthrough to true or false for a widget +toggleSyncPosition | dms ipc call desktopWidget toggleSyncPosition | toggles cross-monitor position sync for a widget +setSyncPosition | dms ipc call desktopWidget setSyncPosition true | sets cross-monitor position sync to true or false for a widget + +## toasts +info | dms ipc call toast info "message" | sends an info notification (1.5s) with the provided message +infoWith | dms ipc call toast infoWith "message" "details" "command" "category" | sends a customized info notification +warn | dms ipc call toast warn "message" | sends a warn notification (3s) with the provided message +warnWith | dms ipc call toast warnWith "message" "details" "command" "category" | sends a customized warn notification +error | dms ipc call toast error "message" | sends an error notification (5s) with the provided message +errorWith | dms ipc call toast errorWith "message" "details" "command" "category" | sends a customized error notification (8s) +hide | dms ipc call toast hide | hides the most recent toast +dismiss | dms ipc call toast dismiss | dismisses all toasts of a specific category +status | dms ipc call toast status | get the current toast state diff --git a/sdgos/help/cmd-help.sh b/sdgos/help/cmd-help.sh new file mode 100755 index 0000000..00f07a2 --- /dev/null +++ b/sdgos/help/cmd-help.sh @@ -0,0 +1,7 @@ +#!/bin/bash + + +while $true; do + CMD=$(cat ~/.config/sdgos/help/cmds.list | fzf --layout=reverse --preview-window=right:70% --preview='tldr --color always $(echo {} | sed "s/ls (eza)/eza/" | sed "s/cd (zoxide)/z/")') + man $(echo "$CMD" | sed 's/ls (eza)/eza/' | sed 's/cd (zoxide)/z/' ) +done diff --git a/sdgos/help/cmds.list b/sdgos/help/cmds.list new file mode 100644 index 0000000..3bf3891 --- /dev/null +++ b/sdgos/help/cmds.list @@ -0,0 +1,119 @@ +tldr + +## Core Navigation and File Operations ## +ls +cd +ls (eza) +cd (zoxide) +pwd +mkdir +touch +rm +rmdir +mv +cp +ln +file +find + +## File Viewing and Manipulation ## +cat +less +bat +head +tail +echo +tee +micro +nano + +## Text Processing and Piping ## +grep +sed +cut +sort +comm +diff +cmp +awk +uniq + +## System Information and Monitoring ## +fastfetch +uname +whoami +uptime +free +df +ps +top +btop +dmesg +vmstat +journalctl +systemctl + +## Package and Software Management ## +pacman +yay +git +curl +wget +tar +zip +unzip + +## Networking and Remote Operations ## +ssh +ip +ss +ping +nc +scp +wget +curl + +## Permissions and User Management ## +sudo +chmod +chown +chroot +useradd +passwd +id +groups +usermod +umask + +## Process Management ## +pgrep +pkill +killall +bg +fg +jobs + +## Advanced System Tools ## +dd +mount +umount +fdisk +gdisk +fsck +blkid +lsblk +whereis +whatis + +## Utility and Convenience ## +alias +export +clear +history +type +env +man +which +locate +fzf + diff --git a/sdgos/help/help.sh b/sdgos/help/help.sh new file mode 100755 index 0000000..42548ac --- /dev/null +++ b/sdgos/help/help.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +CMD="" +SELECTED=$(ls ~/.config/sdgos/help/topics | fzf --layout=reverse --preview-window 'right:70%:wrap' --preview="clear && bat ~/.config/sdgos/help/topics/{}") \ No newline at end of file diff --git a/sdgos/help/mangodispatchers.list b/sdgos/help/mangodispatchers.list new file mode 100644 index 0000000..9fef94e --- /dev/null +++ b/sdgos/help/mangodispatchers.list @@ -0,0 +1,71 @@ +## Introduction +this menu shows you mangoWM dispatcher options, it uses the following format: +name | example | description | category +you can search by any of these fields using fuzzy finding + + +killclient | killclient | close the current focused window | Mango Binds Settings - Dispatchers +togglefloating | togglefloating | toggle floating state for the focused window | Mango Binds Settings - Dispatchers +toggle_all_floating | toggle_all_floating | toggle floating state for all visible windows | Mango Binds Settings - Dispatchers +togglefullscreen | togglefullscreen | toggle fullscreen for the focused window | Mango Binds Settings - Dispatchers +togglefakefullscreen | togglefakefullscreen | makes focused app think its fullscreen but keeps it windowed | Mango Binds Settings - Dispatchers +togglemaximizescreen | togglemaximizescreen | maximize the focused window (hide other windows behind) | Mango Binds Settings - Dispatchers +toggleglobal | toggleglobal | pin the focused window to all tags | Mango Binds Settings - Dispatchers +toggle_render_border | toggle_render_border | toggles rendering of the border for the focused window | Mango Binds Settings - Dispatchers +centerwin | centerwin | centers the focused floating window | Mango Binds Settings - Dispatchers +minimized | minimized | minimize a window to the scratchpad | Mango Binds Settings - Dispatchers +restore_minimized | restore_minimized | bring back a window from the scratchpad | Mango Binds Settings - Dispatchers +toggle_scratchpad | toggle_scratchpad | toggle scratchpad visibility | Mango Binds Settings - Dispatchers +toggle_named_scratchpad | toggle_named_scratchpad,appid,title,'launchcommand' | toggles a named scratchpad, launches app if not running | Mango Binds Settings - Dispatchers +focusdir | focusdir,left | move focus in direction up/down/left/right | Mango Binds Settings - Dispatchers +focusstack | focusstack,next | cycle focus in the stack prev/next | Mango Binds Settings - Dispatchers +focuslast | focuslast | focus the previous window | Mango Binds Settings - Dispatchers +exchange_client | exchange_client,right | swap focused window with window to the left/right/down/up | Mango Binds Settings - Dispatchers +exchange_stack_client | exchange_stack_client,next | swap focused window with prev/next window in stack | Mango Binds Settings - Dispatchers +zoom | zoom | swap focused window with master | Mango Binds Settings - Dispatchers +view | view,3 | view this tag, accepts x, +x, -x and x|y|z, + and - are relative | Mango Binds Settings - Dispatchers +viewtoleft | viewtoleft | view the previous tag (equal to view,-1) | Mango Binds Settings - Dispatchers +viewtoright | viewtoright | view the next tag (equal to view,+1) | Mango Binds Settings - Dispatchers +viewtoleft_have_client | viewtoleft_have_client | viewtoleft but only if a window exists on that tag on that monitor | Mango Binds Settings - Dispatchers +viewtoright_have_client | viewtoright_have_client | viewtoright but only if a window exists on that tag on that monitor | Mango Binds Settings - Dispatchers +viewcrossmon | viewcrossmon,1,name:DP-1 | view a specific tag on a specific monitor | Mango Binds Settings - Dispatchers +tag | tag,2 | replace focused window tag with this tag and move to that tag | Mango Binds Settings - Dispatchers +tagsilent | tagsilent,5 | replace focused window tag with this tag, do not move to the tag | Mango Binds Settings - Dispatchers +tagtoleft | tagtoleft | increment focused window tag by 1 | Mango Binds Settings - Dispatchers +tagtoright | tagtoright | decrement focused window tag by 1 | Mango Binds Settings - Dispatchers +tagcrossmon | tagcrossmon,4,name:DP-2 | move focused window to specific tag on specific monitor | Mango Binds Settings - Dispatchers +toggletag | toggletag,2 | toggle this tag on the active window without removing other tags | Mango Binds Settings - Dispatchers +toggleview | toggleview,4 | toggle visibility for this tag | Mango Binds Settings - Dispatchers +comboview | comboview,3 | like view + toggleview, allows holding down modifier and pressing multiple keys | Mango Binds Settings - Dispatchers +focusmon | focusmon,right | move focus to monitor by direction (left/right/up/down) or name:DP-1 | Mango Binds Settings - Dispatchers +tagmon | tagmon,right | move focused window to monitor by direction or name:DP-1 | Mango Binds Settings - Dispatchers +setlayout | setlayout,tile | sets the layout of the current tag on the current window | Mango Binds Settings - Dispatchers +switch_layout | switch_layout | cycle through the available layouts (see circle_layout:) | Mango Binds Settings - Dispatchers +incmaster | incmaster,+1 | increase/decrease the number of master windows (+1/-1) | Mango Binds Settings - Dispatchers +setmfact | setmfact,+0.05 | increase/decrease the master area size (+/-0.x) | Mango Binds Settings - Dispatchers +set_proportion | set_proportion,0.7 | set the scroller window proportion (0.0-1.0) | Mango Binds Settings - Dispatchers +switch_proportion_preset | switch_proportion_preset | switch between proportion presets (see scroller_proportion_preset:) | Mango Binds Settings - Dispatchers +scroller_stack | scroller_stack,up | move window inside/outside scroller stack in direction | Mango Binds Settings - Dispatchers +incgaps | incgaps,+2 | adjust gap size (+/-x) | Mango Binds Settings - Dispatchers +togglegaps | togglegaps | toggle whether gaps are used | Mango Binds Settings - Dispatchers +dwindle_toggle_split_direction | dwindle_toggle_split_direction | toggle the split direction for dwindle layout | Mango Binds Settings - Dispatchers +spawn | spawn,firefox | spawn the provided application via command | Mango Binds Settings - Dispatchers +spawn_shell | spawn_shell,'ghostty -e ~/.config/sdgos/tuis/pkg-install.sh' | run the provided command with command syntax support | Mango Binds Settings - Dispatchers +spawn_on_empty | spawn_on_empty,'firefox',4 | spawns the application on the provided tab if empty | Mango Binds Settings - Dispatchers +reload_config | reload_config | reloads the mango config | Mango Binds Settings - Dispatchers +quit | quit | quits mangoWM | Mango Binds Settings - Dispatchers +toggleoverview | toggleoverview | toggle overview mode on/off | Mango Binds Settings - Dispatchers +create_virtual_output | create_virtual_output | creates a virtual monitor (for remote access) | Mango Binds Settings - Dispatchers +destroy_all_virtual_output | destroy_all_virtual_output | destroy a virtual monitor (for remote access) | Mango Binds Settings - Dispatchers +toggleoverlay | toggleoverlay | toggles overlay state for the focused window | Mango Binds Settings - Dispatchers +toggle_trackpad_enable | toggle_trackpad_enable | toggles the trackpad | Mango Binds Settings - Dispatchers +setkeymode | setkeymode,mykeymode | sets the keymode | Mango Binds Settings - Dispatchers +switch_keyboard_layout | switch_keyboard_layout | switches between your available keyboard layouts | Mango Binds Settings - Dispatchers +setoption | setoption,key,value | temporarily sets any option (gets removed on reload) | Mango Binds Settings - Dispatchers +disable_monitor | disable_monitor,name:HDMI-A-1 | disables the provided monitor | Mango Binds Settings - Dispatchers +enable_monitor | enable_monitor,name:HDMI-A-1 | enables the provided monitor | Mango Binds Settings - Dispatchers +toggle_monitor | toggle_monitor,name:HDMI-A-1 | toggles the provided monitor | Mango Binds Settings - Dispatchers +smartmovewin | smartmovewin,up | moves floating focused window in direction by snap distance | Mango Binds Settings - Dispatchers +smartresizewin | smartresizewin,left | resizes floating focused window by snap distance | Mango Binds Settings - Dispatchers +movewin | movewin,10,10 | moves floating focused window to x,y coordinates | Mango Binds Settings - Dispatchers +resizewin | resizewin,500,300 | resizes floating focused window to x,y pixels | Mango Binds Settings - Dispatchers diff --git a/sdgos/help/mangoipc.list b/sdgos/help/mangoipc.list new file mode 100644 index 0000000..01d9141 --- /dev/null +++ b/sdgos/help/mangoipc.list @@ -0,0 +1,26 @@ +## Introduction +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 diff --git a/sdgos/help/references.list b/sdgos/help/references.list new file mode 100644 index 0000000..cf0bb05 --- /dev/null +++ b/sdgos/help/references.list @@ -0,0 +1,217 @@ +## Introduction +this menu shows you mangoWM configuration options, it uses the following format: +location | name | example | description | category +you can search by any of these fields using fuzzy finding + +## Mango Config Basics +~/.config/mango/config.conf | source | source=~/.config/mango/binds.conf | includes other config files in the mango config | MangoWM Config Basics +/usr/share/wayland-sessions/mango.desktop | mango -c | mango -c ~/.config/mango/custom.conf | Launch mango with a custom config | MangoWM Config Basics +command | | mango -c ~/.config/mango/config.conf -p | Validates the configuration of your mango config | MangoWM Config Basics +~/.config/mango/environment.conf | env | env=ENVIRONMENT_NAME,value | Sets an environment variable to a specific value | MangoWM Config Basics +~/.config/mango/autostart.conf | exec-once | exec-once=steam +open steam://my/steam/link | runs the provided command once on mangoWM initial start | MangoWM Config Basics +~/.config/mango/autostart.conf | exec | exec=bash ~/.config/sdgos/script.sh | runs the provided command every config reload | MangoWM Config Basics + +## Mango Monitor Rules +~/.config/mango/monitors.conf | monitorrule | monitorrule=name:dp-1,width:1920,height:1920 | configures monitor settings | Mango Monitor Rules +### Selecting screens +~/.config/mango/monitors.conf | name: parameter | monitorrule=name:HDMI-A-1 | apply this rule to any monitor with this name | Mango Monitor Rules - Selecting Screens +~/.config/mango/monitors.conf | make: parameter | monitorrule=make:benq | apply this rule to any monitor with this manufacturer | Mango Monitor Rules - Selecting Screens +~/.config/mango/monitors.conf | model: parameter | monitorrule=model:SW271 | apply this rule to any monitor with this model | Mango Monitor Rules - Selecting Screens +~/.config/mango/monitors.conf | serial: parameter | monitorrule=serial: | apply this rule to any monitor with this serial | Mango Monitor Rules - Selecting Screens +## configuring screens +~/.config/mango/monitors.conf | width: parameter | monitorrule=name:DP-1,width:1920 | set the output to this monitor to be this many px wide | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | height: parameter | monitorrule=name:DP-1,height:1080 | set the output to this monitor to be this many px tall | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | refresh: parameter| monitorrule=name:DP-1,refresh:60 | set the refresh rate for the monitor to hz | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | x: parameter | monitorrule=name:DP-2,x:1920 | offset the screen's location by that many px horizontal | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | y: parameter | monitorrule=name:DP-2,y:1080 | offset the screen's location by that many px verticaly | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | scale: parameter | monitorrule=name:DP-1,scale:2 | changes the display scaling (useful for 4k) | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | vrr: parameter | monitorrule=name:DP-1,vrr:1 | toggles variable refresh rate (1 = on, 0 = off) | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | rr: parameter | monitorrule=name:DP-1,rr:3 | rotate display. 0=none, 1=90deg etc, add 4 to also flip | Mango Monitor Rules - Configuring Screens +~/.config/mango/monitors.conf | custom: parameter | monitorrule=name:DP-1,custom:1 | enable custom mode for this display | Mango Monitor Rules - Configuring Screens +### 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 + +## 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_delay | repeat_delay=600 | milliseconds before a held key starts repeating | Mango Keyboard Settings +~/.config/mango/input.conf | numlockon | numlockon=0 | sets the default numlock state (on or off) | Mango Keyboard Settings +~/.config/mango/input.conf | xkb_rules_rules | xkb_rules_rules=base | sets XKB rules file (advanced config, not needed) | Mango Keyboard Settings +~/.config/mango/input.conf | xkb_rules_model | xkb_rules_model=macbook | sets the keyboard model (for compat reasons) | Mango Keyboard Settings +~/.config/mango/input.conf | xkb_rules_layout | xkb_rules_layout=us,de | list of keyboard layouts | Mango Keyboard Settings +~/.config/mango/input.conf | xkb_rules_Variant | xkb_rules_variant=dvorak | sets the layout variant | Mango Keyboard Settings +~/.config/mango/input.conf | xkb_rules_options | xkb_rules_options=ctrl:nocaps | sets advanced xkb rules options (like key remaps) | Mango Keyboard Settings + +## Mango Mouse Settings +~/.config/mango/input.conf | mouse_natural_scrolling| mouse_natural_scrolling=1 | inverts the scrolling direction for mouse scroll wheels | Mango Mouse Settings +~/.config/mango/input.conf | mouse_accel_profile | mouse_accel_profile=2 | sets acceleration curve (0=none,1=flat,2=adaptive) | Mango Mouse Settings +~/.config/mango/input.conf | mouse_accel_speed | mouse_accel_speed=0.1 | mouse acceleration modifier (-1.0 to 1.0) | Mango Mouse Settings +~/.config/mango/input.conf | left_handed | left_handed=1 | swaps the left and right mouse buttons | Mango Mouse Settings +~/.config/mango/input.conf | axis_scroll_factor | axis_scroll_factor=0.5 | modifies the scroll speed (0.1 to 10.0) | Mango Mouse Settings +~/.config/mango/input.conf | axis_bind_apply_timeout| axis_bind_apply_timeout=100 | ms between axis bind events for scrolling | Mango Mouse Settings +~/.config/mango/input.conf | cursor_size | cursor_size=24 | sets the size of the cursor | Mango Mouse Settings +~/.config/mango/input.conf | cursor_theme | cursor_theme=Adwaita | sets the cursor cursor_theme | Mango Mouse Settings + + +## Mango Trackpad Settings +~/.config/mango/input.conf | disable_trackpad | disable_trackpad=1 | disables the Trackpad | Mango Trackpad Settings +~/.config/mango/input.conf | tap_to_click | tap_to_click=1 | triggers a left click on taps | Mango Trackpad Settings +~/.config/mango/input.conf | tap_and_drag | tap_and_drag=1 | tap and hold to click-drag items | Mango Trackpad Settings +~/.config/mango/input.conf | trackpad_natural_scrolling | trackpad_natural_scrolling=0 | inverts trackpad scrolling direction | Mango Trackpad Settings +~/.config/mango/input.conf | trackpad_accel_profile | trackpad_accel_profile=2 | sets accel profile (0 = none, 1 = flat, 2 = adaptive) | Mango Trackpad Settings +~/.config/mango/input.conf | trackpad_accel_speed | trackpad_accel_speed=0.1 | adjusts the trackpad acceleration speed (-1.0 to 1.0) | Mango Trackpad Settings +~/.config/mango/input.conf | scroll_button | scroll_button=279 | sets the button for scrolling (272-259) | Mango Trackpad Settings +~/.config/mango/input.conf | scroll_method | scroll_method=2 | 1 = two-finger scroll, 2 = edge scroll, 4 = button | Mango Trackpad Settings +~/.config/mango/input.conf | click_method | click_method=1 | 1 = button area (bottom of trackpad), 2 = clickfinger | Mango Trackpad Settings +~/.config/mango/input.conf | send_events_mode | send_events_mode=2 | disable events sending on trackpad (1) or mouse (2) | Mango Trackpad Settings +~/.config/mango/input.conf | drag_lock | drag_lock=1 | locks dragging after tapping | Mango Trackpad Settings +~/.config/mango/input.conf | disable_while_typing | disable_while_typing=1 | disables the trackpad when disable_while_typing | Mango Trackpad Settings +~/.config/mango/input.conf | left_handed | left_handed=1 | reverses the buttons on the trackpad | Mango Trackpad Settings +~/.config/mango/input.conf | middle_button_emulation| middle_button_emulation=1 | adds a virtual middle-click button to the trackpad | Mango Trackpad Settings +~/.config/mango/input.conf | swipe_min_threshold | swipe_min_threshold=1 | minimum threshold for swipe gestures to activate | Mango Trackpad Settings +~/.config/mango/input.conf | button_map | button_map=1 | changes trackpad button layout (0=l/r/m, 1=l/m/r) | Mango Trackpad Settings +~/.config/mango/input.conf | trackpad_scroll_factor | trackpad_scroll_factor=1.5 | changes trackpad scroll speed (0.1 to 10.0) | Mango Trackpad Settings + +## Mango Hardware Settings +~/.config/mango/environment.conf | xwayland_persistence | xwayland_persistence=1 | keeps xwayland running (reduces x11 app startup lag) | Mango Hardware Settings +~/.config/mango/environment.conf | syncobj_enable | syncobj_enable=1 | enable syncobj timing (helps with gaming stutter/lag) | Mango Hardware Settings +~/.config/mango/environment.conf | allow_lock_transparent | allow_lock_transparent=0 | allow the lock screen to be transparent | Mango Hardware Settings +~/.config/mango/environment.conf | allow_shortcuts_inhibit| allow_shortcuts_inhibit=1 | allows apps to inhibit mangowm keybinds | Mango Hardware Settings + +## Mango Focus Settings +~/.config/mango/input.conf | focus_on_activate | focus_on_activate=1 | automatically focus windows that request activation | Mango Focus Settings +~/.config/mango/input.conf | sloppyfocus | sloppyfocus=1 | focus automatically follows the mouse cursor | Mango Focus Settings +~/.config/mango/input.conf | warpcursor | warpcursor=1 | move the cursor to the focused window when changing focus via keyboard | Mango Focus Settings +~/.config/mango/input.conf | cursor_hide_Timeout | cursor_hide_timeout=30 | hides the cursor after seconds of not moving | Mango Focus Settings +~/.config/mango/input.conf | drag_tile_to_tile | drag_tile_to_tile=0 | allow dragging a tile onto another to swap them | Mango Focus Settings +~/.config/mango/input.conf | drag_tile_small | drag_tile_small=1 | temporarily makes tiles small when dragging them around | Mango Focus Settings +~/.config/mango/input.conf | drag_corner | drag_corner=0 | drag corner for drag-to-tile detection | Mango Focus Settings +~/.config/mango/input.conf | drag_warp_cursor | drag_warp_cursor=1 | warp cursor when dragging windows to tile | Mango Focus Settings +~/.config/mango/input.conf | focus_cross_monitor | focus_cross_monitor=1 | allow focus to jump across monitors | Mango Focus Settings +~/.config/mango/input.conf | focus_cross_tag | focus_cross_tag=1 | allow focus to jump across tags/workspaces | Mango Focus Settings + +## Mango Multi-Monitor Settings +~/.config/mango/monitors.conf | exchange_cross_monitor | exchange_cross_monitor=1 | allow apps to be swapped across monitors | Mango Multi-Monitor Settings +~/.config/mango/monitors.conf | scratchpad_cross_monitor | scratchpad_cross_monitor=1 | share the scratchpad pool across monitors | Mango Multi-Monitor Settings + + +## Mango Tag Settings +~/.config/mango/monitors.conf | view_current_to_back | view_current_to_back=1 | toggling to the current tag goes to the previous tag | Mango Tag Settings + + +## Mango Misc Settings +~/.config/mango/layouts.conf | single_scratchpad | single_scratchpad=1 | only allow one scratchpad to be visible at a time | Mango Misc Settings +~/.config/mango/environment.conf | idleinhibit_ignore_visible | idleinhibit_ignore_visible=1 | allows invisible programs (eg daemons) to prevent sleep | Mango Misc Settings +~/.config/mango/environment.conf | drag_tile_refresh_interval | drag_tile_refresh_interval=8.0 | interval to refresh sizes during tiled dragging | Mango Misc Settings +~/.config/mango/environment.conf | drag_floating_refresh_interval | drag_floating_refresh_interval=8.0 | interval to refresh sizes during floating dragging | Mango Misc Settings + + +## Mango Window Settings +~/.config/mango/layouts.conf | enable_floating_snap | enable_floating_snap=1 | snap floating windows to edges of other windows | Mango Window Settings +~/.config/mango/layouts.conf | snap_distance | snap_distance=30 | maximum distance to trigger floating snap | Mango Window Settings +~/.config/mango/decoration.conf | no_border_when_single | no_border_when_single=1 | removes window borders when only one window is visible | Mango Window Settings + + +## Mango Decoration Settings +~/.config/mango/decoration.conf | borderpx | borderpx=4 | sets the width of screen borders | Mango Decoration Settings +~/.config/mango/decoration.conf | border_radius | border_radius=10 | rounding radius for windows | Mango Decoration Settings +~/.config/mango/decoration.conf | focused_opacity | focused_opacity=0.9 | sets the opacity of the focused window | Mango Decoration Settings +~/.config/mango/decoration.conf | unfocused_opacity | unfocused_opacity=0.8 | sets the opacity of unfocused windows | Mango Decoration Settings +~/.config/mango/decoration.conf | gappih | gappih=5 | sets the horizontal gap between windows | Mango Decoration Settings - Gaps +~/.config/mango/decoration.conf | gappiv | gappiv=5 | sets the vertical gap between windows | Mango Decoration Settings - Gaps +~/.config/mango/decoration.conf | gappoh | gappoh=10 | sets the horizontal gap to screen edges | Mango Decoration Settings - Gaps +~/.config/mango/decoration.conf | gappov | gappov=10 | sets the vertical gap to screen edges | Mango Decoration Settings - Gaps +## Colors +~/.config/mango/decoration.conf | rootcolor | rootcolor=0x323232ff | sets the default background color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | bordercolor | bordercolor=0x444444ff | sets the inactive border color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | dropcolor | dropcolor=0x8FBA7C55 | sets the drop shadow color for floating windows | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | focuscolor | focuscolor=0xc66b25ff | sets the focused window border color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | urgentcolor | urgentcolor=0xad401fff | sets the urgent window border color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | maximizescreencolor| maximizescreencolor=0xad401fff | sets the maximized window border color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | scratchpadcolor | scratchpadcolor=0xad401fff | sets the scratchpad window border color | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | globalcolor | globalcolor=0xad401fff | sets the border for windows in global mode | Mango Decoration Settings - Colors +~/.config/mango/decoration.conf | overlaycolor | overlaycolor=0xad401fff | sets the border color for windows in the overlay | Mango Decoration Settings - Colors +## Blur +~/.config/mango/decoration.conf | blur | blur=1 | toggles blur for windows | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_layer | blur_layer=0 | toggles blur for other elements (bars/docks) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_optimized | blur_optimized=0 | turns on blur optimization caching (reduced GPU usage) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_radius | blur_params_radius=5 | strength of the blurring | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_num_passes | blur_params_num_passes=2 | amount of passes (more = smoother but more expensive) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_noise | blur_params_noise=0.02 | noise level for the blur (advanced) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_brightness | blur_params_brightness=0.9 | brightness level for the blur (advanced) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_contrast | blur_params_contrast=0.9 | contrast level for the blur (advanced) | Mango Decoration Settings - Blur +~/.config/mango/decoration.conf | blur_params_saturation | blur_params_saturation=1.2 | saturation level for the blur (advanced) | Mango Decoration Settings - Blur +## Shadows +~/.config/mango/decoration.conf | shadows | shadows=1 | enable shadows for windows | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | layer_shadows | layer_shadows=0 | enable shadows for other elements (bars/docks) | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadow_only_floating | shadow_only_floating=1 | limit shadows to floating windows only | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadows_size | shadows_size=10 | size of the shadows | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadows_blur | shadows_blur=15 | amount of blur for the shadows | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadows_position_x | shadows_position_x=0 | horizontal offset for the shadow | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadows_position_y | shadows_position_y=0 | vertical offset for the shadow | Mango Decoration Settings - Shadows +~/.config/mango/decoration.conf | shadowscolor | shadowscolor=0x000000ff | color of the shadow | Mango Decoration Settings - Shadows +## Animations +refer to the docs for animations: https://mangowm.github.io/docs/visuals/animations + +## Mango Layout Settings +~/.config/mango/layouts.conf | circle_layout | circle_layout=grid,scroller,tile,dwindle | sets the list of layouts to cycle between using the keybind | Mango Layout Settings +## scroller layouts +~/.config/mango/layouts.conf | scroller_structs | scroller_structs=20 | sets reserved side width when window ratio is 1 | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | scroller_default_proportion | scroller_default_proportion=0.9 | sets the default width proportion for new windows | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | scroller_focus_center | scroller_focus_center=0 | always center the focused window | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | scroller_prefer_center | scroller_prefer_center=1 | center the focused window only if it is outside the view | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | scroller_prefer_overspread | scroller_prefer_overspread=1 | allow windows to overspread when there is extra space | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | edge_scroller_pointer_Focus | edge_scroller_pointer_Focus=1 | focus windows even if they're partially off-screen | Mango Layout Settings - Scroller +~/.config/mango/layouts.conf | scroller_proportion_preset | scroller_proportion_preset=0.5,0.8,1.0 | presets for cycling window widths using keybinds +~/.config/mango/layouts.conf | scroller_ignore_proportion_single | scroller_ignore_proportion_single=1 | ignore proportion adjustments for single windows +~/.config/mango/layouts.conf | scroller_default_proportion_single | scroller_default_proportion_single=1.0 | default proportion for single windows +## master-stack layouts +~/.config/mango/layouts.conf | new_is_master | new_is_master=1 | make new windows the master window | Mango Layout Settings - Master Tile +~/.config/mango/layouts.conf | default_mfact | default_mfact=0.55 | how much of the screen is used for the master window | Mango Layout Settings - Master Tile +~/.config/mango/layouts.conf | default_nmaster | default_nmaster=1 | number of allowed master windows | Mango Layout Settings - Master Tile +~/.config/mango/layouts.conf | smartgaps | smartgaps=0 | disable gaps when only one window is present | Mango Layout Settings - Master Tile +~/.config/mango/layouts.conf | center_master_overspread | center_master_overspread=0 | spread master across the screen if no stack exists | Mango Layout Settings - Master Tile +~/.config/mango/layouts.conf | center_when_single_stack | center_when_single_stack=1 | center master when only one stack window exits (center only) | Mango Layout Settings - Master Tile +## dwindle layout +~/.config/mango/layouts.conf | dwindle_split_ratio | dwindle_split_ratio=0.5 | ratio used for new splits (0.05-0.95) | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_smart_split | dwindle_smart_split=0 | pick the split axis from the cursor's position | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_hsplit | dwindle_hsplit=1 | where the window goes for horizontal splits (0=cursor,1=r,2=l)| Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_vsplit | dwindle_vsplit=1 | where the window goes for vertical splits (0=cursor,1=d,2=u) | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_preserve_split | dwindle_preserve_split=1 | keep the sibling's split orientation when a window is closed | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_smart_resize | dwindle_smart_resize=0 | change how drag-to-resize works (test both) | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_drop_simple_split | dwindle_drop_simple_split=0 | 1=two-zone matching, 0=quadrants for drag-and-drop | Mango Layout Settings - Dwindle +~/.config/mango/layouts.conf | dwindle_manual_split | dwindle_manual_split=0 | manually split windows mode | Mango Layout Settings - Dwindle +## overview +~/.config/mango/layouts.conf | hotarea_size | hotarea_size=10 | sets the trigger size for the hot area +~/.config/mango/layouts.conf | enable_hotarea | enable_hotarea=1 | toggles the hot area (hover to trigger overview) +~/.config/mango/layouts.conf | hotarea_corner | hotarea_corner=0 | 0=top left,1=top right,2=bottom-left,3=bottom-right +~/.config/mango/layouts.conf | ov_tab_mode | ov_tab_mode=1 | set overview to tab mode (works like windows alt+tab) +~/.config/mango/layouts.conf | overviewgappi | overviewgappi=5 | sets the inner gaps in overview mode +~/.config/mango/layouts.conf | overviewgappo | overviewgappo=30 | sets the piter gaps in overview mode +~/.config/mango/layouts.conf | ov_no_resize | ov_no_resize=1 | disables window resizing in overview +~/.config/mango/layouts.conf | + +## Mango Window Rules +refer to the docs for window rules: https://mangowm.github.io/docs/window-management/rules +## Mango Scratchpad Config +refer to the docs for scratchpad config: https://mangowm.github.io/docs/window-management/scratchpad + +## Mango binds +~/.config/mango/binds.conf | bind | bind=SUPER+SHIFT,Q, | sets a bind with MODIFIER,KEY,DISPATCHER. | Mango Binds +~/.config/mango/binds.conf | bind | bind=ALT,code:24, | you can use keycodes or multiple modifiers | Mango Binds +~/.config/mango/binds.conf | bindl | bindl=SUPER,L, | bindl allows use while on the lockscreen | Mango Binds +~/.config/mango/binds.conf | binds | binds=KEY_SUPER,KEY_L, | binds uses keysym instead | Mango Binds +~/.config/mango/binds.conf | bindr | BINDR=SUPER,ALT, | bindr triggers on keyrelease | Mango Binds +~/.config/mango/binds.conf | bindp | BINDP=ALT,TAB, | bindp makes the bind transparent, so keystrokes won't be intercepted | Mango Binds +~/.config/mango/binds.conf | keymode | keymode=common | all binds below this will always be active | Mango Binds +~/.config/mango/binds.conf | keymode | keymode=mykeymode | all binds below this will be in this named keymode | Mango Binds +~/.config/mango/binds.conf | keymode | bind=SUPER,F,setkeymode,mykeymode | keybind that sets the active keymode, you can have as many as you want | Mango Binds +~/.config/mango/binds.conf | mousebind | mousebind=SUPER,btn_left,moveresize,curmove | bind with a mouse button | Mango Binds +~/.config/mango/binds.conf | axisbind | axisbind=SUPER,DOWN,viewtoright_have_client | bind to scroll up/down/left/right | Mango Binds +~/.config/mango/binds.conf | gesturebind | gesturebind=SUPER,left,3,focusdir,left | binds trackpad swipe gestures, format: MOD,direction,fingers, | Mango Binds +~/.config/mango/binds.conf | switchbind| switchbind=fold, | binds for laptop lid fold/unfold. | Mango Binds + + + + diff --git a/sdgos/help/references.sh b/sdgos/help/references.sh new file mode 100755 index 0000000..2d1ed9b --- /dev/null +++ b/sdgos/help/references.sh @@ -0,0 +1,4 @@ +#!/bin/bash +while $true; do + cat ~/.config/sdgos/help/$1.list | fzf -e --layout=reverse +done \ No newline at end of file diff --git a/sdgos/help/topics/topic 1 b/sdgos/help/topics/topic 1 new file mode 100644 index 0000000..1307bd0 --- /dev/null +++ b/sdgos/help/topics/topic 1 @@ -0,0 +1 @@ +topic 1 contents \ No newline at end of file diff --git a/sdgos/help/topics/topic 2 b/sdgos/help/topics/topic 2 new file mode 100644 index 0000000..670a2ec --- /dev/null +++ b/sdgos/help/topics/topic 2 @@ -0,0 +1 @@ +topic 2 contents \ No newline at end of file diff --git a/sdgos/tips/tips.list b/sdgos/tips/tips.list index e95d65d..4ecd2b9 100644 --- a/sdgos/tips/tips.list +++ b/sdgos/tips/tips.list @@ -134,6 +134,7 @@ [SDG-OS Tips]: Did you know? You can use "rmdir" to delete empty directories [SDG-OS Tips]: Did you know? You can use "cat" to display file contents [SDG-OS Tips]: Did you know? You can use "cp" to copy files or directories +[SDG-OS Tips]: did you know? you can use ** followed by the TAB key in your command line to fzf for the argument. [SDG-OS Tips]: Did you know? You can use "mv" to move or rename files [SDG-OS Tips]: Did you know? You can use "rm" to delete files permanently [SDG-OS Tips]: Did you know? You can use "uname" to display system information diff --git a/sdgos/tuis/documentation.list b/sdgos/tuis/documentation.list new file mode 100644 index 0000000..21e636d --- /dev/null +++ b/sdgos/tuis/documentation.list @@ -0,0 +1,25 @@ +MangoWM - Basic Configuration | firefox --new-tab https://mangowm.github.io/docs/configuration/basics +MangoWM - monitors |firefox --new-tab https://mangowm.github.io/docs/configuration/monitors +MangoWM - Input Devices | firefox --new-tab https://mangowm.github.io/docs/configuration/input +MangoWM - Theming | firefox --new-tab https://mangowm.github.io/docs/visuals/theming +MangoWM - Window Effects | firefox --new-tab https://mangowm.github.io/docs/visuals/effects +MangoWM - Animations | firefox --new-tab https://mangowm.github.io/docs/visuals/animations +MangoWM - Layouts | firefox --new-tab https://mangowm.github.io/docs/window-management/layouts +MangoWM - Window and Tag Rules | firefox --new-tab https://mangowm.github.io/docs/window-management/rules +MangoWM - Overview Mode | firefox --new-tab https://mangowm.github.io/docs/window-management/overview +MangoWM - Scratchpad | firefox --new-tab https://mangowm.github.io/docs/window-management/scratchpad +MangoWM - Key Binds and Dispatchers | firefox --new-tab https://mangowm.github.io/docs/bindings/keys +MangoWM - Mouse Binds and Gestures | firefox --new-tab https://mangowm.github.io/docs/bindings/mouse-gestures +MangoWM - IPC command line tool | firefox --new-tab https://mangowm.github.io/docs/ipc +Dank Material Shell - Overview | firefox --new-tab https://danklinux.com/docs/dankmaterialshell/overview +Dank Material Shell - Managing Your Install | firefox --new-tab https://danklinux.com/docs/dankmaterialshell/managing +Dank Material Shell - IPC command line reference | firefox --new-tab https://danklinux.com/docs/dankmaterialshell/keybinds-ipc +Dank Material Shell - Diagnostics | firefox --new-tab https://danklinux.com/docs/dankmaterialshell/cli-doctor +Ghostty - Reference docs | firefox --new-tab https://ghostty.org/docs/config/reference +Ghostty - Keybind Reference | firefox --new-tab https://ghostty.org/docs/config/keybind/reference +CachyOS - Wiki | firefox --new-tab https://wiki.cachyos.org/cachyos_basic/navigation-guide/ +Arch - Wiki | firefox --new-tab https://wiki.archlinux.org/title/Main_page +MangoWM - Config File Reference Sheet | ~/.config/sdgos/help/references.sh references +MangoWM - Dispatcher Reference Sheet | ~/.config/sdgos/help/references.sh mangodispatchers +MangoWM - IPC Reference Sheet | ~/.config/sdgos/help/references.sh mangoipc +Dank Material Shell - IPC Reference Sheet | ~/.config/sdgos/help/references.sh DMSipc diff --git a/sdgos/tuis/documentation.sh b/sdgos/tuis/documentation.sh new file mode 100755 index 0000000..d44ea84 --- /dev/null +++ b/sdgos/tuis/documentation.sh @@ -0,0 +1,12 @@ +#!/bin/bash + + +CONFIG=/home/$(whoami)/.config/sdgos/tuis/documentation.list + +SELECTED=$(cat $CONFIG | cut -d '|' -f 1 | fzf --layout=reverse) + +URL=$(cat $CONFIG | grep -e "$SELECTED" | cut -d '|' -f 2) + +echo "the command is $URL" + +eval $URL diff --git a/sdgos/zshconfig.zsh b/sdgos/zshconfig.zsh index 816ff9f..7a95314 100644 --- a/sdgos/zshconfig.zsh +++ b/sdgos/zshconfig.zsh @@ -1,7 +1,5 @@ ## command aliases -alias pacgui=~/.config/sdgos/tuis/pkg-install.sh -alias aurgui=~/.config/sdgos/tuis/aur-install.sh alias find="fzf --layout=reverse --preview='bat {}'" alias microfind='micro $(pwd)/$(fzf --layout=reverse --preview="bat {}")' alias ls='eza -al --color=always --group-directories-first --icons' # preferred listing @@ -28,6 +26,16 @@ alias jctl="journalctl -p 3 -xb" alias cmdhist='CMD=$(history -i | fzf | sed "s/.*:..//"); sleep 0.1 && wtype $CMD' alias tipme='shuf -n 1 ~/.config/sdgos/tips/tips.list' alias alltips='cat ~/.config/sdgos/tips/tips.list | fzf' + +## tools +alias pacgui=~/.config/sdgos/tuis/pkg-install.sh +alias aurgui=~/.config/sdgos/tuis/aur-install.sh +alias git-projects=~/.config/sdgos/tuis/project.select.sh +alias mangoconf=~/.config/sdgos/mango-config.sh +alias documentation=~/.config/sdgos/tuis/documentation.sh +alias tldrtui=~/.config/sdgos/help/cmd-help.sh +alias helptui=~/.config/sdgos/help/help.sh + EDITOR=micro IMAGEPROGRAM='satty --filename' TIPS=$(cat ~/.config/sdgos/tips/tips.list) @@ -48,4 +56,5 @@ alias -s jpg=$IMAGEPROGRAM alias -s jpeg=$IMAGEPROGRAM alias -s webp=$IMAGEPROGRAM -eval "$(zoxide init zsh --cmd cd )" \ No newline at end of file +eval "$(zoxide init zsh --cmd cd )" +source <(fzf --zsh) \ No newline at end of file