Files
SDG-OS/mango/binds.conf
T

163 lines
8.1 KiB
Plaintext

##! important binds
bind=SUPER,R,reload_config
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
## scratchpad
bind=SUPER,C,toggle_scratchpad
bind=SUPER+CTRL,C,minimized
bind=SUPER+ALT,C,restore_minimized
#specific terminal scratchpad for a quick access terminal
bind=SUPER+ALT,SPACE,toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term" && sleep 0.2 && mmsg dispatch toggle_named_scratchpad,com.mitchellh.ghostty,scratchpad-term,ghostty +new-window --title="scratchpad-term"
##! window management
bind=SUPER,T,togglefloating, # float/unfloat active window
bind=SUPER,F,togglefullscreen, # fullscreen active window
bind=SUPER+ALT,F,togglefakefullscreen, # make program think window is fullscreen
bind=SUPER,Q,killclient, # Close active window
bind=SUPER+SHIFT,Q,quit, # Exit mango
bind=SUPER+SHIFT,P,toggleoverlay, # toggle overlay mode
bind=SUPER,P,toggleglobal
bind=ALT,TAB,toggleoverview
bind=SUPER,A,spawn_shell,~/.config/sdgos/misc/layoutbutton.sh # special layout toggle
bind=SUPER+SHIFT,A,switch_layout
##! DMS 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 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
###! SDG-OS custom scripts
bind=SUPER,M,spawn_shell,ghostty -e ~/.config/sdgos/mango-config.sh # show mango config editor
bind=SUPER+ALT,M,spawn_shell,ghostty -e ~/.config/sdgos/config-overview/menu.sh # mango config explainer menu
bind=SUPER+SHIFT,W,spawn_shell,ghostty --title="Floating-Menu" -e ~/.config/sdgos/tuis/layout-switch.sh # switch between layouts on the current workspace
bind=SUPER+SHIFT,D,spawn_shell,ghostty --title="Floating-Menu" -e ~/.config/sdgos/tuis/bar-presets.sh # switch bar presets
###! wallpapers
bind=ALT,W,spawn_shell,dms ipc call wallpaper next # next wallpaper
bind=ALT+shift,W,spawn_shell,dms ipc call wallpaper prev # previous wallpaper
bind=SUPER,W,spawn_shell,ghostty --title="Floating-Menu" -e ~/.config/sdgos/wallpapers/setwallpapergroup.sh # show wallpaper groups menu
####! dotfile git sync script
#bind=SUPER+CTRL,TAB,spawn_shell, ghostty -e dotfile-git-sync ~/mydotfilerepo # set the location before uncommenting
# Default package manager binds (shelly + unipkg)
bind=SUPER,Y,spawn_shell,shelly-ui
bind=SUPER+shift,Y,spawn_shell,ghostty -e unipkg launch-tui # launch unipkg tui
# Alternate binds (using omarchy's TUIs)
#bind=SUPER,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/aur-install.sh # install AUR packages
#bind=SUPER+shift,Y,spawn_shell,ghostty -e ~/.config/sdgos/tuis/pkg-install.sh # install packages via TUI
##! program launchers
bind=SUPER,RETURN,spawn_shell,ghostty
bind=SUPER,TAB,spawn_shell,ghostty
bind=SUPER,E,spawn,nautilus --new-window
bind=SUPER,B,spawn,firefox
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 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 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
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 (all screens)
bind=NONE,PRINT,spawn_shell,~/.config/sdgos/screenshots/mode-toggle.sh # toggle screenshot save mode
bind=SUPER+SHIFT,PRINT,spawn_shell,dms screenshot full # single fullscreen screenshot
###! Other
bind=NONE,XF86WLAN,spawn_shell,nmcli radio wifi toggle # toggle wifi
bind=NONE,XF86Refresh,spawn_shell,xdotool key F5 # refresh
##! Focus and Exchange
bind=SUPER,left,focusdir,left
bind=SUPER,right,focusdir,right
bind=SUPER,up,focusdir,up
bind=SUPER,down,focusdir,down
bind=SUPER+SHIFT,up,exchange_stack_client,prev
bind=SUPER+SHIFT,down,exchange_stack_client,next
bind=SUPER+SHIFT,left,focusstack,prev
bind=SUPER+SHIFT,right,focusstack,next
bind=SUPER+Ctrl,left,exchange_client,left
bind=SUPER+Ctrl,right,exchange_client,right
bind=SUPER+Ctrl,up,exchange_client,up
bind=SUPER+Ctrl,down,exchange_client,down
bind=SUPER+Alt,left,resizewin,-50,+0 # resize window
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
bind=SUPER+SHIFT,2,tag,2 # Move window to workspace 2
bind=SUPER+SHIFT,3,tag,3 # Move window to workspace 3
bind=SUPER+SHIFT,4,tag,4 # Move window to workspace 4
bind=SUPER+SHIFT,5,tag,5 # Move window to workspace 5
bind=SUPER+SHIFT,6,tag,6 # Move window to workspace 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
# 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
bind=SUPER+alt,3,toggleview,3 # toggle on workspace 3
bind=SUPER+alt,4,toggleview,4 # toggle on workspace 4
bind=SUPER+alt,5,toggleview,5 # toggle on workspace 5
bind=SUPER+alt,6,toggleview,6 # toggle on workspace 6
bind=SUPER+alt,7,toggleview,7 # toggle on workspace 7
bind=SUPER+alt,8,toggleview,8 # toggle on workspace 8
bind=SUPER+alt,9,toggleview,9 # toggle on workspace 9
# move between monitors with mainmod + ctrl + 1-9
bind=SUPER+ctrl,1,tagmon,name:^DP-1$ # move to monitor DP-1
bind=SUPER+ctrl,2,tagmon,name:^HDMI-A-1$ # move to monitor HDMI-A-1
bind=SUPER+ctrl,3,tagmon,name:^DP-2$ # move to monitor DP-2
# Mouse Button Bindings
# btn_left and btn_right can't bind none mod key
mousebind=SUPER,btn_left,moveresize,curmove
mousebind=SUPER,btn_middle,togglemaximizescreen,0
mousebind=SUPER,btn_right,moveresize,curresize
#mousebind=SUPER,btn_left,spawn_shell,mmsg dispatch option dwindle_smart_split 1
#bindr=NONE,super,spawn_shell,mmsg dispatch option dwindle_smart_split 0
# Axis Bindings
axisbind=SUPER,UP,viewtoleft_have_client,0 # scroll up through views
axisbind=SUPER,DOWN,viewtoright_have_client,0 # scroll down through views