update
This commit is contained in:
Executable
+12
@@ -0,0 +1,12 @@
|
||||
STRING="$1"
|
||||
|
||||
KEY=$(echo "$STRING" | cut -d '=' -f1 )
|
||||
|
||||
if [ "$KEY" == "bind" ]; then
|
||||
KEY=$(echo "$STRING" | cut -d ',' -f 1,2,3 | sed 's/bindl/bind/' | sed 's/binds/bind/' | sed 's/bindr/bind/' | sed 's/binds/bind/' | sed 's/bindp/bind/' | sed 's|=.*,.*,|=MOD,KEY,|g' | sed 's/ //g' )
|
||||
fi
|
||||
|
||||
|
||||
LINK=$(cat ~/.config/sdgos/config-overview/options.list | grep " $KEY " | cut -d '|' -f4)
|
||||
|
||||
firefox --new-tab $LINK
|
||||
Executable
+261
@@ -0,0 +1,261 @@
|
||||
#!/bin/bash
|
||||
|
||||
STRING="$1"
|
||||
|
||||
KEY=$(echo "$STRING" | cut -d '=' -f1 )
|
||||
|
||||
if [ "$KEY" == "bind" ]; then
|
||||
KEY=$(echo "$STRING" | cut -d ',' -f 1,2,3 | sed 's/bindl/bind/' | sed 's/binds/bind/' | sed 's/bindr/bind/' | sed 's/binds/bind/' | sed 's/bindp/bind/' | sed 's|=.*,.*,|=MOD,KEY,|g' | sed 's/ //g' )
|
||||
fi
|
||||
|
||||
EXAMPLE=$(cat ~/.config/sdgos/config-overview/options.list | grep " $KEY " | head -1 | cut -d '|' -f2)
|
||||
EXPLAINER=$(cat ~/.config/sdgos/config-overview/options.list | grep " $KEY " | head -1 | cut -d '|' -f3)
|
||||
LINK=$(cat ~/.config/sdgos/config-overview/options.list | grep " $KEY " | head -1 | cut -d '|' -f4)
|
||||
EXTRA=$(cat ~/.config/sdgos/config-overview/options.list | grep " $KEY " | head -1 | cut -d '|' -f5 | sed 's/ //g')
|
||||
echo "## Mango Config Key Explainer"
|
||||
echo ""
|
||||
if [ "$STRING" == "" ];then
|
||||
echo "nothing selected"
|
||||
else
|
||||
echo "key: $KEY"
|
||||
echo ""
|
||||
echo "example:$EXAMPLE"
|
||||
echo "description:$EXPLAINER"
|
||||
echo "link to documentation:$LINK"
|
||||
echo ""
|
||||
echo "Extra Information:"
|
||||
case $EXTRA in
|
||||
bind)
|
||||
echo "for binds, you can add the following to modify the type of bind:"
|
||||
echo "bindl: allows use while on the lock screen"
|
||||
echo "binds: binds using keysym"
|
||||
echo "bindr: binds on key release"
|
||||
echo "bindp: this makes the bind transparent, meaning that it won't prevent your bind from also triggering a bind in your programs"
|
||||
;;
|
||||
monitor)
|
||||
echo "for monitor rules, you have two types of parameters: selectors and modifiers"
|
||||
echo ""
|
||||
echo "selectors:"
|
||||
echo "name:<MONITORNAME> - selects all monitors of this name"
|
||||
echo "make:<MANUFACTURER> - selects all monitors of this manufacturer"
|
||||
echo "make:<MODEL> - selects all monitors of this model (as reported by EDID) "
|
||||
echo "serial:<SERIALNR> - selects the monitors matching this serial number (as reported by EDID)"
|
||||
echo ""
|
||||
echo "you can use multiple selectors, this will require monitors to match *all* selectors"
|
||||
echo ""
|
||||
echo "modifiers:"
|
||||
echo "width:<pixels> - sets the width in pixels for that monitor, ensure this resolution is supported"
|
||||
echo "height:<pixels> - sets the height in pixels for that monitor, ensure this resolution is supported"
|
||||
echo "refresh:<hz> - sets the refresh rate for the monitor, ensure it is supported for your set resolution"
|
||||
echo "x:<offset in px> - offsets the monitor compared to other monitors by this amount of pixels horizontally, useful for multi-monitor layouts"
|
||||
echo "y:<offset in px> - offsets the monitor compared to other monitors by this amount of pixels vertically, useful for multi-monitor layouts"
|
||||
echo "scale:<number> - sets the display scaling"
|
||||
echo "vrr:<1/0> - turns variable refresh rate on/off for this monitor"
|
||||
echo "rr:<0-7> - rotates and flips the display. 0 = upright, 1=90deg, 2=180deg, 3=270deg, 4=0deg,flip, 5=90deg, flip, 6=180deg, flip, 7=270, flip"
|
||||
echo "custom:<1/0> - enables custom mode for this display"
|
||||
echo ""
|
||||
echo "you can use multiple modifiers"
|
||||
echo ""
|
||||
echo "generally, the recommended setup is to filter down and configure each monitor separately with *one* rule per monitor"
|
||||
;;
|
||||
dwindle)
|
||||
echo "dwindle is a \"binary tree\" based layout"
|
||||
echo "this means that when you spawn a new window, it will split the focused window in half in the longer direction"
|
||||
echo "so from 1 window to 2, it'll always result in 2 windows side-by-side"
|
||||
echo "then, if you split the left window again, it'll split vertically since it is taller than it is wide"
|
||||
|
||||
;;
|
||||
master)
|
||||
echo "both master and tiled layouts are \"primary/secondaries\" layouts"
|
||||
echo "one window (location depending on the layout) is the \"master window\""
|
||||
echo "the other windows will be tiled up outside of the master window area"
|
||||
echo "this means the mater window area size will not change"
|
||||
echo "you can exchange windows either by super+dragging any window to the master area"
|
||||
echo "or using keybinds to exchange windows, there is also a specific keybind dispatcher for setting the focused area as master"
|
||||
;;
|
||||
scroller)
|
||||
echo "scroller layouts are an infinite strip of windows either vertically or horizontally"
|
||||
echo "you can scroll through these windows using SUPER+arrows or by moving the mouse"
|
||||
echo "within one \"section\", you can stack tiles in the other direction, horizontal scroll = vertical stacking"
|
||||
echo "scroller will allow non-focused windows to peek into your window, which allows you to easily navigate with the mouse"
|
||||
|
||||
;;
|
||||
tearing)
|
||||
echo "tearing needs to be set globally, and can then be enabled for specific apps using window rules"
|
||||
echo "window rule example: windowrule=force_tearing:1,title:vkcube"
|
||||
echo "this will completely turn off system VSYNC for the application"
|
||||
;;
|
||||
env)
|
||||
echo "these set environment variables that are not just available to mango, but any application that runs under mango will also have these variables"
|
||||
echo "this recursively continues, so since mango spawns DankMaterial Shell, all applications spawned using DankMaterial Shell will *also* have these variables"
|
||||
;;
|
||||
animations)
|
||||
echo "Animations in mangoWM provide smooth transitions for windows, layers, and layout changes."
|
||||
echo "They are particularly useful for improving visual feedback during window management."
|
||||
echo ""
|
||||
echo "To customize animations, you can adjust the following aspects:"
|
||||
echo " - **Animation types**: Choose between sliding, zooming, fading, or disabling animations entirely."
|
||||
echo " - **Durations**: Control how long animations take (e.g., faster for snappy feedback, slower for smoother transitions)."
|
||||
echo " - **Bezier curves**: Define the 'feel' of animations (e.g., linear, bouncy, or easing effects)."
|
||||
echo ""
|
||||
echo "For a cohesive experience, ensure that animation durations and curves are balanced."
|
||||
echo "For example, a fast zoom animation with a bouncy curve might feel jarring, while a smooth fade with a linear curve feels natural."
|
||||
echo ""
|
||||
echo "If animations feel laggy, try reducing their duration or disabling them for specific actions (e.g., focus changes)."
|
||||
echo ""
|
||||
echo "You can test and refine animations in real-time by reloading mangoWM after making changes."
|
||||
;;
|
||||
bezier)
|
||||
echo "Bezier curves define the acceleration and deceleration of animations, giving them a distinct 'feel.'"
|
||||
echo "They are represented by four values: x1, y1, x2, y2, which plot a curve on a graph from (0,0) to (1,1)."
|
||||
echo ""
|
||||
echo "Here’s how to interpret and create bezier curves:"
|
||||
echo " - **x1, y1**: The first control point. A higher y1 value creates a sharp initial acceleration."
|
||||
echo " - **x2, y2**: The second control point. A lower y2 value creates a sharp deceleration at the end."
|
||||
echo ""
|
||||
echo "Common curve types:"
|
||||
echo " - **Linear (0.0,0.0,1.0,1.0)**: Constant speed, no easing."
|
||||
echo " - **Ease-in (e.g., 0.42,0.0,1.0,1.0)**: Starts slow, accelerates quickly."
|
||||
echo " - **Ease-out (e.g., 0.0,0.0,0.58,1.0)**: Starts fast, decelerates smoothly."
|
||||
echo " - **Ease-in-out (e.g., 0.42,0.0,0.58,1.0)**: Smooth acceleration and deceleration."
|
||||
echo " - **Bouncy (e.g., 0.28,0.84,0.42,1.0)**: Creates a spring-like effect."
|
||||
echo ""
|
||||
echo "To create custom curves, use tools like:"
|
||||
echo " - cssportal.com/bezier-curve-generator"
|
||||
echo " - easings.net"
|
||||
echo ""
|
||||
echo "Copy the generated values (e.g., 0.46,1.0,0.29,0.99) and apply them to your animation settings."
|
||||
echo "Experiment with different curves to achieve the desired 'feel' for your setup."
|
||||
;;
|
||||
windowrules)
|
||||
echo "Window rules customize behavior for specific windows based on filters."
|
||||
echo ""
|
||||
echo "Filters:"
|
||||
echo "appid:<regex> - Match by application ID."
|
||||
echo "title:<regex> - Match by window title."
|
||||
echo ""
|
||||
echo "State & Behavior Modifiers:"
|
||||
echo "isfloating: 0/1 - Force floating state."
|
||||
echo "isfullscreen: 0/1 - Force fullscreen state."
|
||||
echo "isfakefullscreen: 0/1 - Force fake fullscreen (constrained)."
|
||||
echo "isglobal: 0/1 - Open as sticky across tags."
|
||||
echo "isoverlay: 0/1 - Always on top layer."
|
||||
echo "isopensilent: 0/1 - Open without focus."
|
||||
echo "istagsilent: 0/1 - Don't focus if not on current tag."
|
||||
echo "force_fakemaximize: 0/1 - Force fake maximize."
|
||||
echo "ignore_maximize: 0/1 - Ignore maximize requests."
|
||||
echo "ignore_minimize: 0/1 - Ignore minimize requests."
|
||||
echo "force_tiled_state: 0/1 - Force tiled state."
|
||||
echo "noopenmaximized: 0/1 - Prevent opening maximized."
|
||||
echo "single_scratchpad: 0/1 - Show one scratchpad at a time."
|
||||
echo "allow_shortcuts_inhibit: 0/1 - Allow shortcut inhibition."
|
||||
echo "idleinhibit_when_focus: 0/1 - Inhibit idle when focused."
|
||||
echo ""
|
||||
echo "Geometry & Position Modifiers:"
|
||||
echo "width: 0-9999 - Window width (pixels or % if <1)."
|
||||
echo "height: 0-9999 - Window height (pixels or % if <1)."
|
||||
echo "offsetx: -999-999 - X offset from center (% of screen)."
|
||||
echo "offsety: -999-999 - Y offset from center (% of screen)."
|
||||
echo "monitor: <name> - Assign to specific monitor."
|
||||
echo "tags: 1-9 - Assign to specific tag."
|
||||
echo "no_force_center: 0/1 - Disable forced centering."
|
||||
echo "isnosizehint: 0/1 - Ignore size hints."
|
||||
echo ""
|
||||
echo "Visuals & Decoration Modifiers:"
|
||||
echo "noblur: 0/1 - Disable blur effect."
|
||||
echo "isnoborder: 0/1 - Remove window border."
|
||||
echo "isnoshadow: 0/1 - Disable shadow."
|
||||
echo "isnoradius: 0/1 - Disable corner radius."
|
||||
echo "isnoanimation: 0/1 - Disable animations."
|
||||
echo "focused_opacity: 0-1 - Focused window opacity."
|
||||
echo "unfocused_opacity: 0-1 - Unfocused window opacity."
|
||||
echo "allow_csd: 0/1 - Allow client-side decorations."
|
||||
echo ""
|
||||
echo "Layout & Scroller Modifiers:"
|
||||
echo "scroller_proportion: 0.1-1.0 - Scroller proportion."
|
||||
echo "scroller_proportion_single: 0.1-1.0 - Single-window scroller proportion."
|
||||
echo ""
|
||||
echo "Animation Modifiers:"
|
||||
echo "animation_type_open: zoom/slide/fade/none - Open animation."
|
||||
echo "animation_type_close: zoom/slide/fade/none - Close animation."
|
||||
echo "nofadein: 0/1 - Disable fade-in."
|
||||
echo "nofadeout: 0/1 - Disable fade-out."
|
||||
echo ""
|
||||
echo "Terminal & Swallowing Modifiers:"
|
||||
echo "isterm: 0/1 - Replace terminal window."
|
||||
echo "noswallow: 0/1 - Prevent window swallowing."
|
||||
echo ""
|
||||
echo "Global & Special Windows Modifiers:"
|
||||
echo "globalkeybinding: <mod+key> - Global keybinding."
|
||||
echo "isunglobal: 0/1 - Open as unmanaged global window."
|
||||
echo "isnamedscratchpad: 0/1 - Named scratchpad."
|
||||
echo ""
|
||||
echo "Performance & Tearing Modifiers:"
|
||||
echo "force_tearing: 0/1 - Enable tearing."
|
||||
;;
|
||||
tagrules)
|
||||
echo "Tag rules customize behavior for specific tags."
|
||||
echo ""
|
||||
echo "Filters:"
|
||||
echo "id: 0-9 - Match by tag ID (0 for ~0 tag)."
|
||||
echo "monitor_name: <name> - Match by monitor name."
|
||||
echo "monitor_make: <make> - Match by monitor manufacturer."
|
||||
echo "monitor_model: <model> - Match by monitor model."
|
||||
echo "monitor_serial: <serial> - Match by monitor serial."
|
||||
echo ""
|
||||
echo "Modifiers:"
|
||||
echo "layout_name: <name> - Set layout (e.g., 'scroller')."
|
||||
echo "no_render_border: 0/1 - Disable border rendering."
|
||||
echo "open_as_floating: 0/1 - Open windows as floating."
|
||||
echo "no_hide: 0/1 - Keep tag visible even if empty."
|
||||
echo "nmaster: 0-99 - Number of master windows."
|
||||
echo "mfact: 0.1-0.9 - Master area factor."
|
||||
;;
|
||||
layerrules)
|
||||
echo "Layer rules customize behavior for layer shell surfaces."
|
||||
echo ""
|
||||
echo "Filters:"
|
||||
echo "layer_name: <name> - Match by layer name (supports regex)."
|
||||
echo ""
|
||||
echo "Modifiers:"
|
||||
echo "animation_type_open: slide/zoom/fade/none - Open animation."
|
||||
echo "animation_type_close: slide/zoom/fade/none - Close animation."
|
||||
echo "noblur: 0/1 - Disable blur."
|
||||
echo "noanim: 0/1 - Disable animations."
|
||||
echo "noshadow: 0/1 - Disable shadow."
|
||||
;;
|
||||
scratchpad)
|
||||
echo "the scratchpad is a hidden storage space you can minimize applications to"
|
||||
echo "these scratchpads are monitor-bound, but work across tags, windows inside the scratchpad are effectively untagged."
|
||||
echo "there are seperate binds for moving the current focused window to the scratchpad, toggling the scratchpad and moving windows back out"
|
||||
echo "the scratchpad will only show one window at a time, you can toggle through them using the same bind"
|
||||
echo "you can also make and bind named scratchpads that use a specific program. these can only contain that program with that title."
|
||||
echo "a named scratchpad also spawns the window if no window exists. though you'll have to use the bind a second time to put that window in the scratchpad"
|
||||
;;
|
||||
overview)
|
||||
echo "Overview mode displays all windows on the current monitor in a grid layout."
|
||||
echo ""
|
||||
echo "You can interact with windows using the mouse:"
|
||||
echo "Left-click to focus a window."
|
||||
echo "Right-click to close a window."
|
||||
echo ""
|
||||
echo "Overview can be triggered by moving the mouse to a hot corner."
|
||||
echo "The hot corner is configurable and can be disabled if needed."
|
||||
echo ""
|
||||
echo "Overview temporarily shows all windows from all tags on the current monitor."
|
||||
echo "This allows you to quickly switch to any window, regardless of its tag."
|
||||
;;
|
||||
autostart)
|
||||
echo "exec-once and exec are used to launch programs automatically when mangoWM starts."
|
||||
echo ""
|
||||
echo "Applications run in the order they appear in the config."
|
||||
echo ""
|
||||
echo "For delayed starts, use a script with 'sleep' or put 'sleep 15 &&' in front of the command in your exec-once= or exec= setting."
|
||||
echo ""
|
||||
echo "Common uses are things like status bars, daemons, or applications you want to start in the background like steam or discord"
|
||||
;;
|
||||
*)
|
||||
echo "no extra info for this item."
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONFDIR="/home/$(whoami)/.config/mango"
|
||||
echo "confdir is $CONFDIR"
|
||||
|
||||
app=micro
|
||||
|
||||
while $true; do
|
||||
selected=$(ls -1 $CONFDIR | fzf --layout=reverse --preview="bat $CONFDIR/{}")
|
||||
|
||||
echo "selected is $selected"
|
||||
|
||||
STRING=$(cat $CONFDIR/$selected | fzf --layout 'reverse' --preview-window 'down:50%,wrap-word' --preview-label='alt+b - open documentation in browser' --preview-label-pos='top' --bind 'alt-b:execute(~/.config/sdgos/config-overview/browser.sh {})' --preview='~/.config/sdgos/config-overview/checker.sh {}')
|
||||
|
||||
done
|
||||
@@ -0,0 +1,232 @@
|
||||
|
||||
source | source=~/.config/mango/binds.conf | includes other config files in the mango config | https://mangowm.github.io/docs/configuration/basics
|
||||
env | env=ENVIRONMENT_NAME,value | Sets an environment variable to a specific value | https://mangowm.github.io/docs/configuration/basics | env
|
||||
exec-once | exec-once=steam +open steam://my/steam/link | runs the provided command once on mangoWM initial start | https://mangowm.github.io/docs/configuration/basics | autostart
|
||||
exec | exec=bash ~/.config/sdgos/script.sh | runs the provided command every config reload | https://mangowm.github.io/docs/configuration/basics | autostart
|
||||
allow_tearing | allow_tearing=1 | allows programs to bypass mangoWM vsync | https://mangowm.github.io/docs/configuration/monitors | tearing
|
||||
repeat_rate | repeat_rate=25 | how many keystrokes per second a held key does | https://mangowm.github.io/docs/configuration/input
|
||||
repeat_delay | repeat_delay=600 | milliseconds before a held key starts repeating | https://mangowm.github.io/docs/configuration/input
|
||||
numlockon | numlockon=0 | sets the default numlock state (on or off) | https://mangowm.github.io/docs/configuration/input
|
||||
xkb_rules_rules | xkb_rules_rules=base | sets XKB rules file (advanced config, not needed) | https://mangowm.github.io/docs/configuration/input
|
||||
xkb_rules_model | xkb_rules_model=macbook | sets the keyboard model (for compat reasons) | https://mangowm.github.io/docs/configuration/input
|
||||
xkb_rules_layout | xkb_rules_layout=us,de | list of keyboard layouts | https://mangowm.github.io/docs/configuration/input
|
||||
xkb_rules_Variant | xkb_rules_variant=dvorak | sets the layout variant | https://mangowm.github.io/docs/configuration/input
|
||||
xkb_rules_options | xkb_rules_options=ctrl:nocaps | sets advanced xkb rules options (like key remaps) | https://mangowm.github.io/docs/configuration/input
|
||||
mouse_natural_scrolling | mouse_natural_scrolling=1 | inverts the scrolling direction for mouse scroll wheels | https://mangowm.github.io/docs/configuration/input
|
||||
mouse_accel_profile | mouse_accel_profile=2 | sets acceleration curve (0=none,1=flat,2=adaptive) | https://mangowm.github.io/docs/configuration/input
|
||||
mouse_accel_speed | mouse_accel_speed=0.1 | mouse acceleration modifier (-1.0 to 1.0) | https://mangowm.github.io/docs/configuration/input
|
||||
left_handed | left_handed=1 | swaps the left and right mouse buttons | https://mangowm.github.io/docs/configuration/input
|
||||
axis_scroll_factor | axis_scroll_factor=0.5 | modifies the scroll speed (0.1 to 10.0) | https://mangowm.github.io/docs/configuration/input
|
||||
axis_bind_apply_timeout | axis_bind_apply_timeout=100 | ms between axis bind events for scrolling | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
cursor_size | cursor_size=24 | sets the size of the cursor | https://mangowm.github.io/docs/configuration/input
|
||||
cursor_theme | cursor_theme=Adwaita | sets the cursor cursor_theme | https://mangowm.github.io/docs/configuration/input
|
||||
disable_trackpad | disable_trackpad=1 | disables the Trackpad | https://mangowm.github.io/docs/configuration/input
|
||||
tap_to_click | tap_to_click=1 | triggers a left click on taps | https://mangowm.github.io/docs/configuration/input
|
||||
tap_and_drag | tap_and_drag=1 | tap and hold to click-drag items | https://mangowm.github.io/docs/configuration/input
|
||||
trackpad_natural_scrolling | trackpad_natural_scrolling=0 | inverts trackpad scrolling direction | https://mangowm.github.io/docs/configuration/input
|
||||
trackpad_accel_profile | trackpad_accel_profile=2 | sets accel profile (0 = none, 1 = flat, 2 = adaptive) | https://mangowm.github.io/docs/configuration/input
|
||||
trackpad_accel_speed | trackpad_accel_speed=0.1 | adjusts the trackpad acceleration speed (-1.0 to 1.0) | https://mangowm.github.io/docs/configuration/input
|
||||
scroll_button | scroll_button=279 | sets the button for scrolling (272-259) | https://mangowm.github.io/docs/configuration/input
|
||||
scroll_method | scroll_method=2 | 1 = two-finger scroll, 2 = edge scroll, 4 = button | https://mangowm.github.io/docs/configuration/input
|
||||
click_method | click_method=1 | 1 = button area (bottom of trackpad), 2 = clickfinger | https://mangowm.github.io/docs/configuration/input
|
||||
send_events_mode | send_events_mode=2 | disable events sending on trackpad (1) or mouse (2) | https://mangowm.github.io/docs/configuration/input
|
||||
drag_lock | drag_lock=1 | locks dragging after tapping | https://mangowm.github.io/docs/configuration/input
|
||||
disable_while_typing | disable_while_typing=1 | disables the trackpad when disable_while_typing | https://mangowm.github.io/docs/configuration/input
|
||||
middle_button_emulation | middle_button_emulation=1 | adds a virtual middle-click button to the trackpad | https://mangowm.github.io/docs/configuration/input
|
||||
swipe_min_threshold | swipe_min_threshold=1 | minimum threshold for swipe gestures to activate | https://mangowm.github.io/docs/configuration/input
|
||||
button_map | button_map=1 | changes trackpad button layout (0=l/r/m, 1=l/m/r) | https://mangowm.github.io/docs/configuration/input
|
||||
trackpad_scroll_factor | trackpad_scroll_factor=1.5 | changes trackpad scroll speed (0.1 to 10.0) | https://mangowm.github.io/docs/configuration/input
|
||||
xwayland_persistence | xwayland_persistence=1 | keeps xwayland running (reduces x11 app startup lag) | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
syncobj_enable | syncobj_enable=1 | enable syncobj timing (helps with gaming stutter/lag) | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
allow_lock_transparent | allow_lock_transparent=0 | allow the lock screen to be transparent | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
allow_shortcuts_inhibit | allow_shortcuts_inhibit=1 | allows apps to inhibit mangowm keybinds | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
focus_on_activate | focus_on_activate=1 | automatically focus windows that request activation | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
sloppyfocus | sloppyfocus=1 | focus automatically follows the mouse cursor | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
warpcursor | warpcursor=1 | move the cursor to the focused window when changing focus via keyboard | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
cursor_hide_Timeout | cursor_hide_timeout=30 | hides the cursor after <number> seconds of not moving | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_tile_to_tile | drag_tile_to_tile=0 | allow dragging a tile onto another to swap them | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_tile_small | drag_tile_small=1 | temporarily makes tiles small when dragging them around | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_corner | drag_corner=0 | drag corner for drag-to-tile detection | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_warp_cursor | drag_warp_cursor=1 | warp cursor when dragging windows to tile | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
focus_cross_monitor | focus_cross_monitor=1 | allow focus to jump across monitors | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
focus_cross_tag | focus_cross_tag=1 | allow focus to jump across tags/workspaces | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
exchange_cross_monitor | exchange_cross_monitor=1 | allow apps to be swapped across monitors | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
scratchpad_cross_monitor | scratchpad_cross_monitor=1 | share the scratchpad pool across monitors | https://mangowm.github.io/docs/configuration/miscellaneous | scratchpad
|
||||
view_current_to_back | view_current_to_back=1 | toggling to the current tag goes to the previous tag | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
single_scratchpad | single_scratchpad=1 | only allow one scratchpad to be visible at a time | https://mangowm.github.io/docs/configuration/miscellaneous | scratchpad
|
||||
idleinhibit_ignore_visible | idleinhibit_ignore_visible=1 | allows invisible programs (eg daemons) to prevent sleep | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_tile_refresh_interval | drag_tile_refresh_interval=8.0 | interval to refresh sizes during tiled dragging | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
drag_floating_refresh_interval | drag_floating_refresh_interval=8.0 | interval to refresh sizes during floating dragging | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
enable_floating_snap | enable_floating_snap=1 | snap floating windows to edges of other windows | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
snap_distance | snap_distance=30 | maximum distance to trigger floating snap | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
no_border_when_single | no_border_when_single=1 | removes window borders when only one window is visible | https://mangowm.github.io/docs/configuration/miscellaneous
|
||||
borderpx | borderpx=4 | sets the width of screen borders | https://mangowm.github.io/docs/visuals/theming
|
||||
border_radius | border_radius=10 | rounding radius for windows | https://mangowm.github.io/docs/visuals/theming
|
||||
no_radius_when_single | no_radius_when_single=0 | turns off corner rounding when the window is the only one on the monitor | https://mangowm.github.io/docs/visuals/effects
|
||||
focused_opacity | focused_opacity=0.9 | sets the opacity of the focused window | https://mangowm.github.io/docs/visuals/theming
|
||||
unfocused_opacity | unfocused_opacity=0.8 | sets the opacity of unfocused windows | https://mangowm.github.io/docs/visuals/theming
|
||||
gappih | gappih=5 | sets the horizontal gap between windows | https://mangowm.github.io/docs/visuals/theming
|
||||
gappiv | gappiv=5 | sets the vertical gap between windows | https://mangowm.github.io/docs/visuals/theming
|
||||
gappoh | gappoh=10 | sets the horizontal gap to screen edges | https://mangowm.github.io/docs/visuals/theming
|
||||
gappov | gappov=10 | sets the vertical gap to screen edges | https://mangowm.github.io/docs/visuals/theming
|
||||
rootcolor | rootcolor=0x323232ff | sets the default background color | https://mangowm.github.io/docs/visuals/theming
|
||||
bordercolor | bordercolor=0x444444ff | sets the inactive border color | https://mangowm.github.io/docs/visuals/theming
|
||||
dropcolor | dropcolor=0x8FBA7C55 | sets the drop shadow color for floating windows | https://mangowm.github.io/docs/visuals/theming
|
||||
focuscolor | focuscolor=0xc66b25ff | sets the focused window border color | https://mangowm.github.io/docs/visuals/theming
|
||||
urgentcolor | urgentcolor=0xad401fff | sets the urgent window border color | https://mangowm.github.io/docs/visuals/theming
|
||||
maximizescreencolor | maximizescreencolor=0xad401fff | sets the maximized window border color | https://mangowm.github.io/docs/visuals/theming
|
||||
scratchpadcolor | scratchpadcolor=0xad401fff | sets the scratchpad window border color | https://mangowm.github.io/docs/visuals/theming | scratchpad
|
||||
scratchpad_width_ratio | scratchpad_width_ratio=0.8 | sets the width of the scratchpad | https://mangowm.github.io/docs/window-management/scratchpad | scratchpad
|
||||
scratchpad_height_ratio | scratchpad_height_ratio=0.9 | sets the height of the scratchpad | https://mangowm.github.io/docs/window-management/scratchpad | scratchpad
|
||||
globalcolor | globalcolor=0xad401fff | sets the border for windows in global mode | https://mangowm.github.io/docs/visuals/theming
|
||||
overlaycolor | overlaycolor=0xad401fff | sets the border color for windows in the overlay | https://mangowm.github.io/docs/visuals/theming
|
||||
blur | blur=1 | toggles blur for windows | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_layer | blur_layer=0 | toggles blur for other elements (bars/docks) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_optimized | blur_optimized=0 | turns on blur optimization caching (reduced GPU usage) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_radius | blur_params_radius=5 | strength of the blurring | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_num_passes | blur_params_num_passes=2 | amount of passes (more = smoother but more expensive) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_noise | blur_params_noise=0.02 | noise level for the blur (advanced) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_brightness | blur_params_brightness=0.9 | brightness level for the blur (advanced) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_contrast | blur_params_contrast=0.9 | contrast level for the blur (advanced) | https://mangowm.github.io/docs/visuals/effects
|
||||
blur_params_saturation | blur_params_saturation=1.2 | saturation level for the blur (advanced) | https://mangowm.github.io/docs/visuals/effects
|
||||
shadows | shadows=1 | enable shadows for windows | https://mangowm.github.io/docs/visuals/effects
|
||||
layer_shadows | layer_shadows=0 | enable shadows for other elements (bars/docks) | https://mangowm.github.io/docs/visuals/effects
|
||||
shadow_only_floating | shadow_only_floating=1 | limit shadows to floating windows only | https://mangowm.github.io/docs/visuals/effects
|
||||
shadows_size | shadows_size=10 | size of the shadows | https://mangowm.github.io/docs/visuals/effects
|
||||
shadows_blur | shadows_blur=15 | amount of blur for the shadows | https://mangowm.github.io/docs/visuals/effects
|
||||
shadows_position_x | shadows_position_x=0 | horizontal offset for the shadow | https://mangowm.github.io/docs/visuals/effects
|
||||
shadows_position_y | shadows_position_y=0 | vertical offset for the shadow | https://mangowm.github.io/docs/visuals/effects
|
||||
shadowscolor | shadowscolor=0x000000ff | color of the shadow | https://mangowm.github.io/docs/visuals/effects
|
||||
circle_layout | circle_layout=grid,scroller,tile,dwindle | sets the list of layouts to cycle between using the keybind | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_structs | scroller_structs=20 | sets reserved side width when window ratio is 1 | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_default_proportion | scroller_default_proportion=0.9 | sets the default width proportion for new windows | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_focus_center | scroller_focus_center=0 | always center the focused window | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_prefer_center | scroller_prefer_center=1 | center the focused window only if it is outside the view | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_prefer_overspread | scroller_prefer_overspread=1 | allow windows to overspread when there is extra space | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
edge_scroller_pointer_focus | edge_scroller_pointer_focus=1 | focus windows even if they're partially off-screen | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_proportion_preset | scroller_proportion_preset=0.5,0.8,1.0 | presets for cycling window widths using keybinds | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_ignore_proportion_single | scroller_ignore_proportion_single=1 | ignore proportion adjustments for single windows | https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
scroller_default_proportion_single | scroller_default_proportion_single=1.0 | default proportion for single windows| https://mangowm.github.io/docs/window-management/layouts | scroller
|
||||
new_is_master | new_is_master=1 | make new windows the master window | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
default_mfact | default_mfact=0.55 | how much of the screen is used for the master window | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
default_nmaster | default_nmaster=1 | number of allowed master windows | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
smartgaps | smartgaps=0 | disable gaps when only one window is present | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
center_master_overspread | center_master_overspread=0 | spread master across the screen if no stack exists | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
center_when_single_stack | center_when_single_stack=1 | center master when only one stack window exits (center only) | https://mangowm.github.io/docs/window-management/layouts | master
|
||||
dwindle_split_ratio | dwindle_split_ratio=0.5 | ratio used for new splits (0.05-0.95) | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_smart_split | dwindle_smart_split=0 | pick the split axis from the cursor's position | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_hsplit | dwindle_hsplit=1 | where the window goes for horizontal splits (0=cursor,1=r,2=l)| https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_vsplit | dwindle_vsplit=1 | where the window goes for vertical splits (0=cursor,1=d,2=u) | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_preserve_split | dwindle_preserve_split=1 | keep the sibling's split orientation when a window is closed | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_smart_resize | dwindle_smart_resize=0 | change how drag-to-resize works (test both) | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_drop_simple_split | dwindle_drop_simple_split=0 | 1=two-zone matching, 0=quadrants for drag-and-drop | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
dwindle_manual_split | dwindle_manual_split=0 | manually split windows mode | https://mangowm.github.io/docs/window-management/layouts | dwindle
|
||||
hotarea_size | hotarea_size=10 | sets the trigger size for the hot area | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
enable_hotarea | enable_hotarea=1 | toggles the hot area (hover to trigger overview) | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
hotarea_corner | hotarea_corner=0 | 0=top left,1=top right,2=bottom-left,3=bottom-right | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
ov_tab_mode | ov_tab_mode=1 | set overview to tab mode (works like windows alt+tab) | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
overviewgappi | overviewgappi=5 | sets the inner gaps in overview mode| https://mangowm.github.io/docs/window-management/overview | overview
|
||||
overviewgappo | overviewgappo=30 | sets the outer gaps in overview mode | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
ov_no_resize | ov_no_resize=1 | disables window resizing in overview | https://mangowm.github.io/docs/window-management/overview | overview
|
||||
bind | bind=SUPER+SHIFT,Q,<dispatcher> | sets a bind with MODIFIER,KEY,DISPATCHER. | https://mangowm.github.io/docs/bindings/keys
|
||||
keymode | keymode=mykeymode | all binds below this will be in this named keymode | https://mangowm.github.io/docs/bindings/keys
|
||||
mousebind | mousebind=SUPER,btn_left,moveresize,curmove | bind with a mouse button | https://mangowm.github.io/docs/bindings/mouse-gestures | bind
|
||||
axisbind | axisbind=SUPER,DOWN,viewtoright_have_client | bind to scroll up/down/left/right | https://mangowm.github.io/docs/bindings/mouse-gestures | bind
|
||||
gesturebind | gesturebind=SUPER,left,3,focusdir,left | binds trackpad swipe gestures, format: MOD,direction,fingers,<dispatcher> | https://mangowm.github.io/docs/bindings/mouse-gestures | bind
|
||||
switchbind| switchbind=fold,<dispatcher> | binds for laptop lid fold/unfold. | https://mangowm.github.io/docs/bindings/mouse-gestures | bind
|
||||
monitorrule | monitorrule=name:DP-1,width:1920,height:1080,refresh:60 | configures your monitors | https://mangowm.github.io/docs/configuration/monitors | monitor
|
||||
|
||||
bind=MOD,KEY,killclient | bind=MOD,KEY,killclient | close the current focused window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,togglefloating | bind=MOD,KEY,togglefloating | toggle floating state for the focused window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_all_floating | bind=MOD,KEY,toggle_all_floating | toggle floating state for all visible windows | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,togglefullscreen | bind=MOD,KEY,togglefullscreen | toggle fullscreen for the focused window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,togglefakefullscreen | bind=MOD,KEY,togglefakefullscreen | makes focused app think its fullscreen but keeps it windowed | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,togglemaximizescreen | bind=MOD,KEY,togglemaximizescreen | maximize the focused window (hide other windows behind) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggleglobal | bind=MOD,KEY,toggleglobal | pin the focused window to all tags | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_render_border | bind=MOD,KEY,toggle_render_border | toggles rendering of the border for the focused window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,centerwin | bind=MOD,KEY,centerwin | centers the focused floating window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,minimized | bind=MOD,KEY,minimized | minimize a window to the scratchpad | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,restore_minimized | bind=MOD,KEY,restore_minimized | bring back a window from the scratchpad | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_scratchpad | bind=MOD,KEY,toggle_scratchpad | toggle scratchpad visibility | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_named_scratchpad | bind=MOD,KEY,toggle_named_scratchpad,appid,title,'launchcommand' | toggles a named scratchpad, launches app if not running | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,focusdir | bind=MOD,KEY,focusdir,left | move focus in direction up/down/left/right | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,focusstack | bind=MOD,KEY,focusstack,next | cycle focus in the stack prev/next | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,focuslast | bind=MOD,KEY,focuslast | focus the previous window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,exchange_client | bind=MOD,KEY,exchange_client,right | swap focused window with window to the left/right/down/up | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,exchange_stack_client | bind=MOD,KEY,exchange_stack_client,next | swap focused window with prev/next window in stack | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,zoom | bind=MOD,KEY,zoom | swap focused window with master | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,view | bind=MOD,KEY,view,3 | view this tag, accepts x, +x, -x and multiple tags delimited by pipes, + and - are relative | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,viewtoleft | bind=MOD,KEY,viewtoleft | view the previous tag (equal to view,-1) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,viewtoright | bind=MOD,KEY,viewtoright | view the next tag (equal to view,+1) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,viewtoleft_have_client | bind=MOD,KEY,viewtoleft_have_client | viewtoleft but only if a window exists on that tag on that monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,viewtoright_have_client | bind=MOD,KEY,viewtoright_have_client | viewtoright but only if a window exists on that tag on that monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,viewcrossmon | bind=MOD,KEY,viewcrossmon,1,name:DP-1 | view a specific tag on a specific monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tag | bind=MOD,KEY,tag,2 | replace focused window tag with this tag and move to that tag | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tagsilent | bind=MOD,KEY,tagsilent,5 | replace focused window tag with this tag, do not move to the tag | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tagtoleft | bind=MOD,KEY,tagtoleft | increment focused window tag by 1 | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tagtoright | bind=MOD,KEY,tagtoright | decrement focused window tag by 1 | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tagcrossmon | bind=MOD,KEY,tagcrossmon,4,name:DP-2 | move focused window to specific tag on specific monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggletag | bind=MOD,KEY,toggletag,2 | toggle this tag on the active window without removing other tags | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggleview | bind=MOD,KEY,toggleview,4 | toggle visibility for this tag | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,comboview | bind=MOD,KEY,comboview,3 | like view + toggleview, allows holding down modifier and pressing multiple keys | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,focusmon | bind=MOD,KEY,focusmon,right | move focus to monitor by direction (left/right/up/down) or name:DP-1 | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,tagmon | bind=MOD,KEY,tagmon,right | move focused window to monitor by direction or name:DP-1 | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,setlayout | bind=MOD,KEY,setlayout,tile | sets the layout of the current tag on the current window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,switch_layout | bind=MOD,KEY,switch_layout | cycle through the available layouts (see circle_layout:) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,incmaster | bind=MOD,KEY,incmaster,+1 | increase/decrease the number of master windows (+1/-1) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,setmfact | bind=MOD,KEY,setmfact,+0.05 | increase/decrease the master area size (+/-0.x) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,set_proportion | bind=MOD,KEY,set_proportion,0.7 | set the scroller window proportion (0.0-1.0) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,switch_proportion_preset | bind=MOD,KEY,switch_proportion_preset | switch between proportion presets (see scroller_proportion_preset:) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,scroller_stack | bind=MOD,KEY,scroller_stack,up | move window inside/outside scroller stack in direction | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,incgaps | bind=MOD,KEY,incgaps,+2 | adjust gap size (+/-x) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,togglegaps | bind=MOD,KEY,togglegaps | toggle whether gaps are used | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,dwindle_toggle_split_direction | bind=MOD,KEY,dwindle_toggle_split_direction | toggle the split direction for dwindle layout | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,spawn | bind=MOD,KEY,spawn,firefox | spawn the provided application via command | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,spawn_shell | bind=MOD,KEY,spawn_shell,'ghostty -e ~/.config/sdgos/tuis/pkg-install.sh' | run the provided command with command syntax support | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,spawn_on_empty | bind=MOD,KEY,spawn_on_empty,'firefox',4 | spawns the application on the provided tab if empty | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,reload_config | bind=MOD,KEY,reload_config | reloads the mango config | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,quit | bind=MOD,KEY,quit | quits mangoWM | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggleoverview | bind=MOD,KEY,toggleoverview | toggle overview mode on/off | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,create_virtual_output | bind=MOD,KEY,create_virtual_output | creates a virtual monitor (for remote access) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,destroy_all_virtual_output | bind=MOD,KEY,destroy_all_virtual_output | destroy a virtual monitor (for remote access) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggleoverlay | bind=MOD,KEY,toggleoverlay | toggles overlay state for the focused window | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_trackpad_enable | bind=MOD,KEY,toggle_trackpad_enable | toggles the trackpad | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,setkeymode | bind=MOD,KEY,setkeymode,mykeymode | sets the keymode | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,switch_keyboard_layout | bind=MOD,KEY,switch_keyboard_layout | switches between your available keyboard layouts | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,setoption | bind=MOD,KEY,setoption,key,value | temporarily sets any option (gets removed on reload) | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,disable_monitor | bind=MOD,KEY,disable_monitor,name:HDMI-A-1 | disables the provided monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,enable_monitor | bind=MOD,KEY,enable_monitor,name:HDMI-A-1 | enables the provided monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,toggle_monitor | bind=MOD,KEY,toggle_monitor,name:HDMI-A-1 | toggles the provided monitor | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,smartmovewin | bind=MOD,KEY,smartmovewin,up | moves floating focused window in direction by snap distance | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,smartresizewin | bind=MOD,KEY,smartresizewin,left | resizes floating focused window by snap distance | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,movewin | bind=MOD,KEY,movewin,10,10 | moves floating focused window to x,y coordinates | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
bind=MOD,KEY,resizewin | bind=MOD,KEY,resizewin,500,300 | resizes floating focused window to x,y pixels | https://mangowm.github.io/docs/bindings/keys | bind
|
||||
windowrule | windowrule=title:ghostty,isfloating:1 | sets rules to windows based on filter conditions | https://mangowm.github.io/docs/window-management/rules | windowrules
|
||||
tagrule | tagrule=id:1,nmaster:2 | sets rules to tags (workspaces) based on filter conditions | https://mangowm.github.io/docs/window-management/rules | tagrules
|
||||
layerrule | layerrule=layer_name:background,noanim:1 | sets rules to layers based on filter conditions | https://mangowm.github.io/docs/window-management/rules | layerrules
|
||||
|
||||
animations | animations=1 | turns animations off and on for windows | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
layer_animations | layer_animations=1 | turn animations off and on for bars, notifications etc | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_type_open | animation_type_open=zoom | sets the animation type for window open, options are slide, zoom, fade and none | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_type_close | animation_type_close=slide | sets the animation type for window close, options are slide, zoom, fade and none | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
layer_animation_type_open | layer_animation_type_open=slide | sets the animation type for layer objects opening, options are slide, zoom, fade and none | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
layer_animation_type_close | layer_animation_type_close=slide | sets the animation type for layer objects closing, options are slide, zoom, fade and none | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_fade_in | animation_fade_in=1 | toggles fade-in for fade animations | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_fade_out | animation_fade_out=1 | toggles fade-out for fade animations | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
fadein_begin_opacity | fadein_begin_opacity=0.5 | sets the starting opacity for fade-in | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
fadeout_begin_opacity | fadeout_begin_opacity=0.5 | sets the starting opacity for fade-out | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
zoom_initial_ratio | zoom_initial_ratio=0.4 | sets the starting size as a fraction of final size for zoom animations | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
zoom_end_ratio | zoom_end_ratio=0.8 | sets the end size as a fraction of the final size for zoom animations | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_duration_move | animation_duration_move=500 | sets the duration for the move animation in ms | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_duration_open | animation_duration_open=400 | sets the duration for the open animation in ms | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_duration_tag | animation_duration_tag=300 | sets the tag switch animation duration in ms | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_duration_close | animation_duration_close=300 | sets the duration for the close animation in ms | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_duration_focus | animation_duration_focus=0 | sets the duration for the transition animation to and from focused state (for example, opacity and border color changes) | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
animation_curve_open | animation_curve_open=0.46,1.0,0.29,0.99 | sets a custom bezier curve for the open animation | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_move | animation_curve_move=0.46,1.0,0.29,0.99 | sets a custom bezier curve for the move animation | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_tag | animation_curve_tag=0.46,1.0,0.29,0.99 | sets a custom bezier curve for the tag switch animation | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_close | animation_curve_close=0.46,1.0,0.29,0.99 | sets a custom bezier curve for the close animation | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_focus | animation_curve_focus=0.46,1.0,0.29,0.99 | sets a custom bezier curve for the focus change animation | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_opafadein | animation_curve_opafadein=0.46,1.0,0.29,0.99 | sets a custom bezier curve for opacity fadein | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
animation_curve_opafadeout | animation_curve_opafadeout=0.5,0.5,0.5,0.5 | sets a custom bezier curve for opacity fadeout | https://mangowm.github.io/docs/visuals/animations | bezier
|
||||
tag_animation_direction | tag_animation_direction=1 | sets the direction for the tag switch animation (vertical or horizontal) | https://mangowm.github.io/docs/visuals/animations | animations
|
||||
@@ -1,6 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f ~/.config/firstrun.state ]; then
|
||||
dms ipc call wallpaper set ~/.config/sdgos/wallpaper.png
|
||||
dms ipc call settings set showWorkspaceIndex true
|
||||
dms ipc call settings set dwlShowAllTags true
|
||||
dms ipc call settings set gtkThemingEnabled true
|
||||
dms ipc call settings set qtThemingEnabled true
|
||||
dms ipc call settings set runDmsMatugenTemplates true
|
||||
dms ipc call settings set matugenTemplateGtk true
|
||||
dms ipc call settings set matugenTemplatePywalfox true
|
||||
dms ipc call settings set matugenTemplateFirefox true
|
||||
dms ipc call settings set matugenTemplateQt6ct true
|
||||
dms ipc call settings set matugenTemplateGhostty true
|
||||
dms ipc call settings set showDock false
|
||||
dms ipc call settings set dockAutoHide false
|
||||
dms ipc call settings set currentTheme dynamic
|
||||
dms ipc call settings set currentThemeCategory dynamic
|
||||
dms ipc call settings set runUserMatugenTemplates true
|
||||
dms ipc call settings set matugenScheme scheme-tonal-spot
|
||||
|
||||
dms ipc call settings open
|
||||
dms ipc call keybinds openWithPath mangowc ~/.config/mango/binds.conf
|
||||
touch ~/.config/firstrun.state
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
> Important Keybinds
|
||||
|
||||
|
||||
the most important keybind to know is *SUPER+K*
|
||||
|
||||
this will open a searchable menu with all of your keybinds.
|
||||
|
||||
whenever SUPER is noted in your keybinds, that's the button generally found between ctrl and alt, on most keyboards it will have a windows logo, on macOS keyboards it'll be the option key.
|
||||
|
||||
|
||||
However, you don't want to be referencing this menu all the time, so here's the keybinds you should learn first:
|
||||
|
||||
[^SUPER+SPACE]:
|
||||
this opens your app runner, it's also set up to find files within your home directory automatically and can find settings for you.
|
||||
|
||||
[^SUPER+Y]:
|
||||
this opens an installer for software. doing this while holding shift allows you to instead install packages from the Arch User Repository.
|
||||
|
||||
it is recommended to use the normal package installer unless the package is either not available or broken, in which case, use the AUR.
|
||||
|
||||
[^SUPER+1-9]:
|
||||
using SUPER + the number keys allows you to switch between workspaces. holding shift while doing this allows you to take your active window with you.
|
||||
|
||||
[^SUPER+Left Mouse Button]:
|
||||
this will allow you to drag and re-organize windows
|
||||
|
||||
[^SUPER+Right Mouse Button]:
|
||||
this will allow you to drag to re-size windows
|
||||
|
||||
[^SUPER+Q]:
|
||||
this quits the current window, like pressing the X on a desktop environment window
|
||||
|
||||
[^SUPER+Z]:
|
||||
this opens the power menu, allowing you to log out, reboot or turn off your computer
|
||||
|
||||
[^SUPER+E]:
|
||||
this opens your file browser
|
||||
|
||||
[^SUPER+B]:
|
||||
this opens firefox
|
||||
|
||||
[^SUPER+ENTER]:
|
||||
this opens your terminal
|
||||
|
||||
[^SUPER+H]:
|
||||
this opens a menu that gives you short info on common commands, pressing enter or double-clicking a command will open the manual page for that command.
|
||||
holding shift will instead open this menu!
|
||||
|
||||
[^SUPER+K]:
|
||||
as mentioned before, this will give you a full overview of all keys.
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
> Using SDG-OS Functions
|
||||
|
||||
|
||||
|
||||
## Install TUIs
|
||||
|
||||
the process is the same for using Pacman repositories or using the AUR.
|
||||
|
||||
Please always prefer using the pacman repositories if possible, only use the AUR if needed.
|
||||
|
||||
step 1: either open a terminal and type the alias `pacgui` or `aurgui`, or use the keybind *SUPER+Y* for pacman or *SUPER+SHIFT+Y* for the AUR
|
||||
|
||||
step 2: search for your package
|
||||
|
||||
step 3: if you wish to install multiple packages, press tab after highlighting each package
|
||||
|
||||
step 4: press enter and provide your password
|
||||
|
||||
your software will now be installed alongside all of its dependencies
|
||||
|
||||
|
||||
|
||||
## TLDR TUI
|
||||
|
||||
you can call this using either the *SUPER+H* bind or the alias `tldrtui` in the terminal
|
||||
|
||||
you can use a mouse to interact with this interface or use the arrow keys, you can type to search.
|
||||
|
||||
pressing enter or double-clicking an entry will open the man page for that entry
|
||||
|
||||
pressing q on the manpage will bring you back to the main menu.
|
||||
|
||||
to exit, press *SUPER+Q* to quit the terminal
|
||||
|
||||
|
||||
|
||||
## help TUI
|
||||
|
||||
you can call this using the *SUPER+SHIFT+H* bind or the alias `helptui` in the terminal
|
||||
|
||||
you can use the arrow keys or the mouse to navigate and type to search.
|
||||
|
||||
enter refreshes the menu
|
||||
|
||||
to exit, press *SUPER+Q*
|
||||
|
||||
|
||||
|
||||
## mango config editor
|
||||
|
||||
to start, either press *SUPER+M* or run `mangoconf` in the terminal.
|
||||
|
||||
this will provide you with a menu listing the configuration files in ~/.config/mango
|
||||
|
||||
on the right side, it will show you a preview of the file.
|
||||
|
||||
once you've found the file you want to edit, press enter to open it in micro.
|
||||
|
||||
in micro, you can use ctrl+s to save and ctrl+q to quit
|
||||
|
||||
then, you can reload the mango config with *SUPER+R*
|
||||
|
||||
|
||||
|
||||
## project selector
|
||||
|
||||
the project selector uses a state file in your ~/.config directory to determine which directory to scan.
|
||||
|
||||
this directory must be inside home, and is set to ~/projects by default
|
||||
|
||||
to change this, run the following:
|
||||
|
||||
`echo "my-projects/subdir-if-needed" > ~/.config/projectdir.state`
|
||||
|
||||
this example would make the project selector scan /home/UserName/my-projects/subdir-if-needed
|
||||
|
||||
the project selector finds git repositories, so it will only display projects that are a git repository. it is recommended you keep your projects in git repo's.
|
||||
|
||||
for configs, you can place them inside a git repo and symlink them using the ln command or using stow.
|
||||
|
||||
|
||||
with git repositories inside your projects directory, you can now use the project selector to access them.
|
||||
|
||||
you can open the project selector with the bind *SUPER+SHIFT+TAB* or the terminal alias `git-projects`
|
||||
|
||||
on the left, you'll see the full paths to all found git repositories.
|
||||
|
||||
on the right, you'll see a listing of the files in the git repository as well as the readme.
|
||||
|
||||
pressing enter on the repository will open the repository in code-OSS, which will then allow you to work on the repository without clutter.
|
||||
|
||||
this also allows you to then use the code-OSS GUI to do git pull, push and sync.
|
||||
|
||||
|
||||
|
||||
## layout switcher
|
||||
|
||||
you can open the layout switcher with the bind *SUPER+W*
|
||||
|
||||
you can then tab through the layouts using the arrow keys and press enter on your desired one.
|
||||
|
||||
this will only affect your current view on the active monitor and will be reset when the config is reloaded.
|
||||
|
||||
if you've accidentally messed up your layout, pressing *SUPER+R* will force it back to dwindle.
|
||||
|
||||
|
||||
|
||||
## documentation menu
|
||||
|
||||
you can open this menu using the alias `documentation` in the terminal or the bind *SUPER+shift+M*
|
||||
|
||||
this menu will allow you to quickly open both various documentation sites in firefox as well as custom-built searchable quick reference menu's
|
||||
|
||||
|
||||
|
||||
## tips
|
||||
|
||||
tips are shown automatically when you start your first terminal session, they are also shown when you run the command `tipme`
|
||||
|
||||
you can also get a tip in your notifications by pressing the bind *SUPER+0*
|
||||
@@ -0,0 +1,22 @@
|
||||
> Accessing the settings menu
|
||||
|
||||
the Dank Material Shell Settings will be where you configure most of your basic things.
|
||||
|
||||
there is a custom bind for this: *SUPER+S*
|
||||
|
||||
you can also access it from multiple places in the top bar, the app launcher (*SUPER+SPACE*) and the control center (*SUPER+ESCAPE*)
|
||||
|
||||
the settings menu is divided into the following sections:
|
||||
|
||||
personalization - here you'll find theming, typography, animations, sounds, time, weather and wallpapers
|
||||
dank bar - here you'll find basic bar settings
|
||||
workspaces and widgets - here you'll find more complex configurations for both desktop widgets and items in the bar
|
||||
dock and launcher - here you'll find configurations for the app launcher as well as the toggleable dock.
|
||||
keyboard shortcuts - gives you a graphical menu to add your own keybinds
|
||||
displays - gives you graphical display configuration
|
||||
network - manage your network connections and VPNs
|
||||
system - this contains audio, clipboard and multiplexer settings
|
||||
power and security - this contains your lock screen and power/sleep settings
|
||||
plugins - install DMS plugins to extend functionality
|
||||
|
||||
take the time to browse through these and try some stuff.
|
||||
@@ -0,0 +1,105 @@
|
||||
> Other Menus
|
||||
|
||||
DMS and SDG-OS have a variety of menus, here's an overview of them and how you can access them
|
||||
|
||||
## runner
|
||||
the runner can be accessed using the keybind *SUPER+SPACE*
|
||||
|
||||
it can also be accessed by clicking the button on the top left of the bar, a button for this can also be turned on in the dock.
|
||||
|
||||
by default, the button will be in apps mode, the keybind will be in "all" mode.
|
||||
|
||||
in apps mode, the runner menu will allow you to launch applications
|
||||
|
||||
in search mode, the runner will allow you to search through your /home directory
|
||||
|
||||
under plugins, you can select settings, you can also do this by starting your search with "?"
|
||||
|
||||
this will allow you to search through DMS settings.
|
||||
|
||||
## Keybinds
|
||||
|
||||
this can be accessed with *SUPER+K*
|
||||
|
||||
the keybinds menu gives you a searchable overview of the keybinds configured in ~/.config/mango/binds.conf
|
||||
|
||||
## clipboard History
|
||||
|
||||
this can be accessed with *SUPER+V* or from a widget on your bar.
|
||||
|
||||
you can see your clipboard history from here and load any of those elements back to your clipboard
|
||||
|
||||
## process list
|
||||
|
||||
this can be accessed with *SUPER+X* or from various widgets on your bar.
|
||||
|
||||
this menu acts as a "Task Manager", allowing you to view, search and kill processes, monitor performance and monitor disk usage.
|
||||
|
||||
this is also a good place to find information about your system, such as what kernel you're running, what your hostname is and what CPU/GPU you have.
|
||||
|
||||
## dash
|
||||
|
||||
the dash can be accessed through various bar widgets and contains an overview with calendar and metrics, a media player, wallpaper selector, weather and access to your settigns.
|
||||
|
||||
|
||||
## notifications
|
||||
|
||||
notifications can be accessed with *SUPER+SHIFT+N*, from the notifications widget or from the control center
|
||||
|
||||
this will show you a notification history as well as current notifications, allows you to toggle do not disturb and allows you to configure notification settings.
|
||||
|
||||
## control center
|
||||
|
||||
this can be accessed with *SUPER+ESCAPE* or from the bar widget and gives you quick access to common settings like wifi, bluetooth, audio, theming, the settings menu and power controls.
|
||||
|
||||
|
||||
## power menu
|
||||
|
||||
this can be accessed from a bar widget or *SUPER+Z* and allows you to reboot, shut down or sleep your PC.
|
||||
|
||||
## notepad
|
||||
|
||||
this can be toggled with *SUPER+N* or a bar widget, and is a simple space to keep quick notes.
|
||||
|
||||
|
||||
## command help
|
||||
|
||||
this can be spawned with *SUPER+H* and gives you a searchable list of basic commands with their TLDR overviews
|
||||
|
||||
selecting a command shows the full manual page, pressing q in the manual page brings you back to the main menu
|
||||
|
||||
|
||||
## full help
|
||||
|
||||
this menu! spawned with *SUPER+SHIFT+H*
|
||||
|
||||
|
||||
## package installer
|
||||
|
||||
spawned with *SUPER+Y*, this menu allows you to search the pacman repository, read details and install packages.
|
||||
|
||||
|
||||
## AUR installer
|
||||
|
||||
spawned with *SUPER+SHIFT+Y*, this menu allows you to search the Arch User Repository, read details and install packages.
|
||||
|
||||
|
||||
## Mango Config TUI
|
||||
|
||||
spawned with *SUPER+M*, this menu gives you a list of your mango configuration files with a preview, selecting an item will open it in the micro text editor.
|
||||
|
||||
|
||||
## layout switcher
|
||||
|
||||
spawned with *SUPER+W*, this menu allows you to switch between mangoWM layouts
|
||||
|
||||
|
||||
## documentation
|
||||
|
||||
spawned with *SUPER+SHIFT+M*, this menu gives you quick access to relevant documentation
|
||||
|
||||
|
||||
## Project selector
|
||||
|
||||
spawned with *SUPER+SHIFT+TAB*, this menu gives you quick access to working on any git projects in your ~/projects directory
|
||||
|
||||
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
ACTIVEMON=$(mmsg -g -o | grep -e "selmon 1" | awk '{print $1}')
|
||||
|
||||
echo $ACTIVEMON
|
||||
|
||||
LAYOUT=$(mmsg -g -l | grep -e "$ACTIVEMON" | awk '{print $3}')
|
||||
|
||||
echo "$LAYOUT"
|
||||
|
||||
case $LAYOUT in
|
||||
T)
|
||||
echo "Left Master"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
S)
|
||||
echo "Horizontal Scroller"
|
||||
mmsg -d switch_proportion_preset
|
||||
;;
|
||||
G)
|
||||
echo "Horizontal Grid"
|
||||
mmsg -d togglegaps
|
||||
;;
|
||||
M)
|
||||
echo "Monocle"
|
||||
;;
|
||||
K)
|
||||
echo "Horizontal Deck"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
CT)
|
||||
echo "Center Master"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
RT)
|
||||
echo "Right Master"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
VS)
|
||||
echo "Vertical Scroller"
|
||||
mmsg -d switch_proportion_preset
|
||||
;;
|
||||
VT)
|
||||
echo "Top Master"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
VG)
|
||||
echo "Vertical Grid"
|
||||
mmsg -d togglegaps
|
||||
;;
|
||||
VK)
|
||||
echo "Vertical Deck"
|
||||
mmsg -d zoom
|
||||
;;
|
||||
DW)
|
||||
echo "Dwindle"
|
||||
mmsg -d togglemaximizescreen
|
||||
;;
|
||||
F)
|
||||
echo "Fair"
|
||||
mmsg -d togglegaps
|
||||
;;
|
||||
VF)
|
||||
echo "Vertical Fair"
|
||||
mmsg -d togglegaps
|
||||
;;
|
||||
*)
|
||||
notify-send "Unhandled Layout Detected"
|
||||
;;
|
||||
esac
|
||||
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 299 KiB |
@@ -39,6 +39,7 @@ alias helptui=~/.config/sdgos/help/help.sh
|
||||
EDITOR=micro
|
||||
IMAGEPROGRAM='satty --filename'
|
||||
TIPS=$(cat ~/.config/sdgos/tips/tips.list)
|
||||
SHELL=/bin/zsh
|
||||
|
||||
|
||||
## filetype aliases, default-opens them with the set program
|
||||
|
||||
Reference in New Issue
Block a user