add mango with basic config

This commit is contained in:
desolate
2026-05-20 18:22:42 +03:00
parent 0cff64e473
commit 04d8df3111
41 changed files with 674 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
install_dotfiles "$HOME" "$DOTFILES_DIR" "mango"
+1
View File
@@ -9,6 +9,7 @@ INSTALLING DOTFILES:
. "$DOTFILES_DIR/install-ghostty.sh"
. "$DOTFILES_DIR/install-helix.sh"
. "$DOTFILES_DIR/install-mako.sh"
. "$DOTFILES_DIR/install-mango.sh"
. "$DOTFILES_DIR/install-river.sh"
. "$DOTFILES_DIR/install-scooter.sh"
. "$DOTFILES_DIR/install-yazi.sh"
@@ -0,0 +1,4 @@
# https://mangowm.github.io/docs/visuals/animations#enabling-animations
animations=1
layer_animations=1
@@ -0,0 +1,22 @@
# https://mangowm.github.io/docs/visuals/animations#custom-bezier-curves
# Open animation bezier curve
animation_curve_open=0.46,1.0,0.29,1
# Move animation bezier curve
animation_curve_move=0.46,1.0,0.29,1
# Tag animation bezier curve
animation_curve_tag=0.46,1.0,0.29,1
# Close animation bezier curve
animation_curve_close=0.08,0.92,0,1
# Focus change (opacity transition) animation bezier curve
animation_curve_focus=0.46,1.0,0.29,1
# Close opacity animation bezier curve
animation_curve_opafadein=0.46,1.0,0.29,1
# Open opacity animation bezier curve
animation_curve_opafadeout=0.5,0.5,0.5,0.5
@@ -0,0 +1,16 @@
# https://mangowm.github.io/docs/visuals/animations#durations
# Move animation duration (ms)
animation_duration_move=300
# Open animation duration (ms)
animation_duration_open=100
# Tag animation duration (ms)
animation_duration_tag=100
# Close animation duration (ms)
animation_duration_close=100
# Focus change (opacity transition) animation duration (ms)
animation_duration_focus=0
@@ -0,0 +1,13 @@
# https://mangowm.github.io/docs/visuals/animations#fade-settings
# Enable fade-in effect (0: disable, 1: enable)
animation_fade_in=1
# Enable fade-out effect (0: disable, 1: enable)
animation_fade_out=1
# Starting opacity for fade-in animations (0.01.0)
fadein_begin_opacity=0.5
# Starting opacity for fade-out animations (0.01.0)
fadeout_begin_opacity=0.5
@@ -0,0 +1,4 @@
# https://mangowm.github.io/docs/visuals/animations#tag-animation-direction
# Tag animation direction (1: horizontal, 0: vertical)
tag_animation_direction=1
@@ -0,0 +1,6 @@
# https://mangowm.github.io/docs/visuals/animations#animation-types
animation_type_open=slide
animation_type_close=slide
layer_animation_type_open=slide
layer_animation_type_close=slide
@@ -0,0 +1,4 @@
# https://mangowm.github.io/docs/visuals/animations#zoom-settings
zoom_initial_ratio=0.4
zoom_end_ratio=0.8
@@ -0,0 +1,4 @@
# https://mangowm.github.io/docs/bindings/mouse-gestures#axis-bindings
axisbind=SUPER,UP,viewtoleft_have_client
axisbind=SUPER,DOWN,viewtoright_have_client
@@ -0,0 +1,13 @@
# https://mangowm.github.io/docs/bindings/mouse-gestures#gesture-bindings
# 3-finger: Window focus
gesturebind=none,left,3,focusdir,left
gesturebind=none,right,3,focusdir,right
gesturebind=none,up,3,focusdir,up
gesturebind=none,down,3,focusdir,down
# 4-finger: Workspace navigation
gesturebind=none,left,4,viewtoright_have_client
gesturebind=none,right,4,viewtoleft_have_client
gesturebind=none,up,4,toggleoverview
gesturebind=none,down,4,toggleoverview
@@ -0,0 +1,108 @@
# https://mangowm.github.io/docs/bindings/keys
# key name refer to `xev` or `wev` command output,
# mod keys name: super,ctrl,alt,shift,none
# reload config
bind=ALT+SHIFT,r,reload_config
# menu and terminal
bind=Alt,space,spawn,fuzzel
bind=Alt,Return,spawn,ghostty
# exit
bind=SUPER,m,quit
bind=ALT,q,killclient,
# switch window focus
bind=SUPER,Tab,focusstack,next
bind=ALT,Left,focusdir,left
bind=ALT,Right,focusdir,right
bind=ALT,Up,focusdir,up
bind=ALT,Down,focusdir,down
# swap window
bind=SUPER+SHIFT,Up,exchange_client,up
bind=SUPER+SHIFT,Down,exchange_client,down
bind=SUPER+SHIFT,Left,exchange_client,left
bind=SUPER+SHIFT,Right,exchange_client,right
# switch window status
bind=SUPER,g,toggleglobal,
bind=ALT,Tab,toggleoverview,
bind=ALT,backslash,togglefloating,
bind=ALT,a,togglemaximizescreen,
bind=ALT,f,togglefullscreen,
bind=ALT+SHIFT,f,togglefakefullscreen,
bind=SUPER,i,minimized,
bind=SUPER,o,toggleoverlay,
bind=SUPER+SHIFT,I,restore_minimized
bind=ALT,z,toggle_scratchpad
# scroller layout
bind=ALT,e,set_proportion,1.0
bind=ALT,x,switch_proportion_preset,
bind=alt+super+ctrl,Left,scroller_stack,left
bind=alt+super+ctrl,Right,scroller_stack,right
bind=alt+super+ctrl,Up,scroller_stack,up
bind=alt+super+ctrl,Down,scroller_stack,down
#dwindle layout(manual split mode)
bind=alt+shift,Return,dwindle_toggle_split_direction
# switch layout
bind=SUPER,n,switch_layout
# tag switch
bind=SUPER,Left,viewtoleft,0
bind=CTRL,Left,viewtoleft_have_client,0
bind=SUPER,Right,viewtoright,0
bind=CTRL,Right,viewtoright_have_client,0
bind=CTRL+SUPER,Left,tagtoleft,0
bind=CTRL+SUPER,Right,tagtoright,0
bind=Ctrl,1,view,1,0
bind=Ctrl,2,view,2,0
bind=Ctrl,3,view,3,0
bind=Ctrl,4,view,4,0
bind=Ctrl,5,view,5,0
bind=Ctrl,6,view,6,0
bind=Ctrl,7,view,7,0
bind=Ctrl,8,view,8,0
bind=Ctrl,9,view,9,0
# tag: move client to the tag and focus it
# tagsilent: move client to the tag and not focus it
# bind=Alt,1,tagsilent,1
bind=Alt,1,tag,1,0
bind=Alt,2,tag,2,0
bind=Alt,3,tag,3,0
bind=Alt,4,tag,4,0
bind=Alt,5,tag,5,0
bind=Alt,6,tag,6,0
bind=Alt,7,tag,7,0
bind=Alt,8,tag,8,0
bind=Alt,9,tag,9,0
# monitor switch
bind=alt+shift,Left,focusmon,left
bind=alt+shift,Right,focusmon,right
bind=SUPER+Alt,Left,tagmon,left
bind=SUPER+Alt,Right,tagmon,right
# gaps
bind=ALT+SHIFT,X,incgaps,1
bind=ALT+SHIFT,Z,incgaps,-1
bind=ALT+SHIFT,R,togglegaps
# movewin
bind=CTRL+SHIFT,Up,movewin,+0,-50
bind=CTRL+SHIFT,Down,movewin,+0,+50
bind=CTRL+SHIFT,Left,movewin,-50,+0
bind=CTRL+SHIFT,Right,movewin,+50,+0
# resizewin
bind=CTRL+ALT,Up,resizewin,+0,-50
bind=CTRL+ALT,Down,resizewin,+0,+50
bind=CTRL+ALT,Left,resizewin,-50,+0
bind=CTRL+ALT,Right,resizewin,+50,+0
@@ -0,0 +1,5 @@
# https://mangowm.github.io/docs/bindings/mouse-gestures#mouse-bindings
mousebind=SUPER,btn_left,moveresize,curmove
mousebind=NONE,btn_middle,togglemaximizescreen,0
mousebind=SUPER,btn_right,moveresize,curresize
@@ -0,0 +1,2 @@
# https://mangowm.github.io/docs/bindings/mouse-gestures#switch-bindings
+46
View File
@@ -0,0 +1,46 @@
# https://mangowm.github.io/docs/
source=./input/keyboard.conf
source=./input/mouse.conf
source=./input/trackpad.conf
source=./bindings/keyboard.conf
source=./bindings/mouse.conf
source=./bindings/gesture.conf
source=./bindings/axis.conf
source=./bindings/switch.conf
source=./layouts/dwindle.conf
source=./layouts/master-stack.conf
source=./layouts/scroller.conf
source=./monitors.conf
source=./look/blur.conf
source=./look/colors.conf
source=./look/corners.conf
source=./look/cursor.conf
source=./look/dimensions.conf
source=./look/opacity.conf
source=./look/shadows.conf
source=./animation/animation.conf
source=./animation/curves.conf
source=./animation/durations.conf
source=./animation/fade.conf
source=./animation/tag.conf
source=./animation/types.conf
source=./animation/zoom.conf
source=./rules/layer.conf
source=./rules/tag.conf
source=./rules/window.conf
source=./overview.conf
source=./misc/focus.conf
source=./misc/input.conf
source=./misc/multi-monitor.conf
source=./misc/system.conf
source=./misc/tags.conf
source=./misc/window.conf
@@ -0,0 +1,23 @@
# How many times a key repeats per second.
repeat_rate=25
# Delay (ms) before a held key starts repeating.
repeat_delay=180
# Enable NumLock on startup.
numlockon=0
# XKB rules file (e.g., evdev, base). Usually auto-detected.
# xkb_rules_rules
# Keyboard model (e.g., pc104, macbook).
# xkb_rules_model
# Keyboard layout code (e.g., us, de, us,de).
xkb_rules_layout=us
# Layout variant (e.g., dvorak, colemak, intl).
# xkb_rules_variant
# XKB options (e.g., caps:escape, ctrl:nocaps).
xkb_rules_options=ctrl:nocaps
@@ -0,0 +1,16 @@
# Invert scrolling direction.
mouse_natural_scrolling=0
# 0 — No acceleration.
# 1 — Flat: no dynamic acceleration. Pointer speed = original input speed × (1 + mouse_accel_speed).
# 2 — Adaptive: slow movement results in less acceleration, fast movement results in more.
mouse_accel_profile=0
# Speed adjustment (-1.0 to 1.0).
mouse_accel_speed=0.0
# Swap left and right buttons.
left_handed=0
# Scroll factor for axis scroll speed (0.110.0).
axis_scroll_factor=1.0
@@ -0,0 +1,68 @@
# Set to 1 to disable the trackpad entirely.
disable_trackpad=0
# Tap to trigger a left click.
tap_to_click=1
# Tap and hold to drag items.
tap_and_drag=1
# Invert scrolling direction (natural scrolling).
trackpad_natural_scrolling=1
# 0 — No acceleration.
# 1 — Flat: no dynamic acceleration. Pointer speed = original input speed × (1 + mouse_accel_speed).
# 2 — Adaptive: slow movement results in less acceleration, fast movement results in more.
trackpad_accel_profile=2
# Speed adjustment (-1.0 to 1.0).
trackpad_accel_speed=0.0
# The mouse button that use for scrolling(272 to 279):
# 272 — Left button.
# 273 — Right button.
# 274 — Middle button.
# 275 — Side button.
# 276 — Extra button.
# 277 — Forward button.
# 278 — Back button.
# 279 — Task button.
scroll_button=274
# 0 — Never send scroll events (no scrolling).
# 1 — Two-finger scrolling: send scroll events when two fingers are logically down on the device.
# 2 — Edge scrolling: send scroll events when a finger moves along the bottom or right edge.
# 4 — Button scrolling: send scroll events when a button is held and the device moves along a scroll axis.
scroll_method=1
# 0 — No software click emulation.
# 1 — Button areas: use software-defined areas on the touchpad to generate button events.
# 2 — Clickfinger: the number of fingers determines which button is pressed.
click_method=1
# 0 — Send events from this device normally.
# 1 — Do not send events from this device.
# 2 — Disable this device when an external pointer device is plugged in.
send_events_mode=0
# Lock dragging after tapping.
drag_lock=1
# Disable trackpad while typing.
disable_while_typing=0
# Swap left/right buttons.
left_handed=0
# Emulate middle button.
middle_button_emulation=0
# Minimum swipe threshold when use gesture.
min_swipe_threshold=1
# 0 — 1/2/3 finger tap maps to left / right / middle.
# 1 — 1/2/3 finger tap maps to left / middle / right.
button_map=0
# Scroll factor for trackpad scroll speed (0.110.0).
trackpad_scroll_factor=1.0
@@ -0,0 +1,27 @@
# https://mangowm.github.io/docs/window-management/layouts#dwindle-layout
# Ratio used for new splits (0.050.95).
dwindle_split_ratio=0.5
# Pick the split axis from the cursor's position inside the focused window. The new window appears on the cursor's side.
dwindle_smart_split=0
# Side-by-side splits: where the new window goes. 0 = follow cursor, 1 = right, 2 = left.
dwindle_hsplit=1
# Top/bottom splits: where the new window goes. 0 = follow cursor, 1 = below, 2 = above.
dwindle_vsplit=1
# Keep the sibling's split orientation when a window is closed.
dwindle_preserve_split=0
# When dragging to resize, move the split toward the cursor regardless of which side was grabbed.
dwindle_smart_resize=0
# Drag-to-tile drop preview.
# 1 = 2-zone preview matching dwindle_split_ratio,
# 0 = 4-quadrant preview.
dwindle_drop_simple_split=1
# Manually split windows mode.
dwindle_manual_split=0
@@ -0,0 +1,19 @@
# https://mangowm.github.io/docs/window-management/layouts#master-stack-layouts
# New windows become the master window.
new_is_master=1
# The split ratio between master and stack areas.
default_mfact=0.55
# Number of allowed master windows.
default_nmaster=1
# Disable gaps when only one window is present.
smartgaps=0
# (Center Tile) Master spreads across screen if no stack exists.
center_master_overspread=0
# (Center Tile) Center master when only one stack window exists.
center_when_single_stack=1
@@ -0,0 +1,28 @@
# https://mangowm.github.io/docs/window-management/layouts#scroller-layout
# Width reserved on sides when window ratio is 1.
scroller_structs=20
# Default width proportion for new windows.
scroller_default_proportion=0.8
# Always center the focused window (1 = enable).
scroller_focus_center=0
# Center focused window only if it was outside the view.
scroller_prefer_center=0
# Allow windows to overspread when there's extra space.
scroller_prefer_overspread=1
# Focus windows even if partially off-screen.
edge_scroller_pointer_focus=1
# Presets for cycling window widths.
scroller_proportion_preset=0.5,0.8,1.0
# Ignore proportion adjustments for single windows.
scroller_ignore_proportion_single=1
# Default proportion for single windows in scroller. Requires scroller_ignore_proportion_single=0 to take effect.
scroller_default_proportion_single=1.0
@@ -0,0 +1,30 @@
# https://mangowm.github.io/docs/visuals/effects#blur
# Enable blur for windows.
blur=1
# Enable blur for layer surfaces (like bars/docks).
blur_layer=0
i# Caches the wallpaper and blur background, significantly reducing GPU usage.
# Disabling it will significantly increase GPU consumption and may cause rendering lag.
# Highly recommended.
blur_optimized=1
# The strength (radius) of the blur.
blur_params_radius=10
# Number of passes. Higher = smoother but more expensive.
blur_params_num_passes=3
Blur noise level.
blur_params_noise=0.02
# Blur brightness adjustment.
blur_params_brightness=0.9
# Blur contrast adjustment.
blur_params_contrast=0.9
# Blur saturation adjustment.
blur_params_saturation=1.2
@@ -0,0 +1,24 @@
# https://mangowm.github.io/docs/visuals/theming#colors
# Background color of the root window
rootcolor=0x201B14FF
# Inactive window border
bordercolor=0x444444FF
# Drop shadow when dragging windows
dropcolor=0x8FBA7C55
# Split window border color in manual dwindle layout
splitcolor=0xEB441EFF
# Active window border
focuscolor=0xc9B890FF
# Urgent window border (alerts)
urgentcolor=0xAD401fDD
maximizescreencolor=0x89AA61FF
scratchpadcolor=0x516C93FF
globalcolor=0xb153A7FF
overlaycolor=0x14A57CFF
@@ -0,0 +1,10 @@
# https://mangowm.github.io/docs/visuals/effects#opacity--corner-radius
# Window corner radius in pixels
border_radius=8
# Corner radius location (0=all, 1=top-left, 2=top-right, 3=bottom-left, 4=bottom-right)
border_radius_location_default=0
# Disable radius if only one window is visible
no_radius_when_single=0
@@ -0,0 +1,3 @@
# https://mangowm.github.io/docs/visuals/theming#cursor-theme
cursor_size=24
@@ -0,0 +1,20 @@
# https://mangowm.github.io/docs/visuals/theming#dimensions
# Border width in pixels.
borderpx=3
# Horizontal inner gap (between windows).
gappih=5
# Vertical inner gap.
gappiv=5
# Horizontal outer gap (between windows and screen edges).
gappoh=10
# Vertical outer gap.
gappov=10
# Scratchpad
scratchpad_width_ratio=0.8
scratchpad_height_ratio=0.9
@@ -0,0 +1,7 @@
# https://mangowm.github.io/docs/visuals/effects#opacity--corner-radius
# Opacity for the active window (0.0 - 1.0)
focused_opacity=1.0
# Opacity for inactive windows
unfocused_opacity=1.0
@@ -0,0 +1,25 @@
# https://mangowm.github.io/docs/visuals/effects#shadows
# Enable shadows.
shadows=0
# Enable shadows for layer surfaces.
layer_shadows=0
# Only draw shadows for floating windows (saves performance).
shadow_only_floating=1
# Size of the shadow.
shadows_size=10
# Shadow blur amount.
shadows_blur=15
# Shadow X offset.
shadows_position_x=0
# Shadow Y offset.
shadows_position_y=0
# Color of the shadow.
shadowscolor=0x000000FF
@@ -0,0 +1,7 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#focus--input
# Automatically focus windows when they request activation.
focus_on_activate=1
# Focus follows the mouse cursor.
sloppyfocus=1
@@ -0,0 +1,22 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#focus--input
# Warp the cursor to the center of the window when focus changes via keyboard.
warpcursor=1
# Hide the cursor after N seconds of inactivity (0 to disable).
cursor_hide_timeout=0
# Allow dragging a tiled window onto another to swap their positions.
drag_tile_to_tile=1
# Allow dragging a tiled window temporarily to small size.
drag_tile_small=1
# Corner for drag-to-tile detection (0: none, 13: corners, 4: auto-detect).
drag_corner=3
# Warp cursor when dragging windows to tile.
drag_warp_cursor=1
# Timeout (ms) for detecting consecutive scroll events for axis bindings.
axis_bind_apply_timeout=100
@@ -0,0 +1,10 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#multi-monitor--tags
# Allow directional focus to cross monitor boundaries.
focus_cross_monitor=0
# Allow exchanging clients across monitor boundaries.
exchange_cross_monitor=0
# Share the scratchpad pool across all monitors.
scratchpad_cross_monitor=0
@@ -0,0 +1,13 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#system--hardware
# Keep XWayland running even when no X11 apps are open (reduces startup lag).
xwayland_persistence=1
# Enable drm_syncobj timeline support (helps with gaming stutter/lag). Requires restart.
syncobj_enable=0
# Allow the lock screen to be transparent.
allow_lock_transparent=0
# Allow shortcuts to be inhibited by clients.
allow_shortcuts_inhibit=1
@@ -0,0 +1,10 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#multi-monitor--tags
# Allow directional focus to cross into other tags.
focus_cross_tag=0
# Toggling the current tag switches back to the previously viewed tag.
view_current_to_back=0
# Only allow one scratchpad (named or standard) to be visible at a time.
single_scratchpad=1
@@ -0,0 +1,19 @@
# https://mangowm.github.io/docs/configuration/miscellaneous#window-behavior
# Snap floating windows to edges or other windows.
enable_floating_snap=0
# Max distance (pixels) to trigger floating snap.
snap_distance=30
# Remove window borders when only one window is visible on the tag.
no_border_when_single=0
# Allow invisible clients (e.g., background audio players) to inhibit idle.
idleinhibit_ignore_visible=0
# Interval (1.016.0) to refresh tiled window resize during drag. Too small may cause application lag.
drag_tile_refresh_interval=8.0
# Interval (1.016.0) to refresh floating window resize during drag. Too small may cause application lag.
drag_floating_refresh_interval=8.0
@@ -0,0 +1,22 @@
# https://mangowm.github.io/docs/window-management/overview
# Size of the hot area trigger zone in pixels.
hotarea_size=10
# Toggles overview when the cursor enters the configured corner.
enable_hotarea=1
# Corner that triggers the hot area (0: top-left, 1: top-right, 2: bottom-left, 3: bottom-right).
hotarea_corner=2
# Circles focus through windows in overview; releasing the mod key exits overview (0: disable, 1: enable).
ov_tab_mode=0
# Inner gap in overview mode.
overviewgappi=5
# Outer gap in overview mode.
overviewgappo=30
# Disables resizing of windows in overview mode(use snap to display).
ov_no_resize=1
@@ -0,0 +1,4 @@
# https://mangowm.github.io/docs/window-management/rules#layer-rules
layerrule=animation_type_open:zoom,layer_name:rofi
layerrule=animation_type_close:zoom,layer_name:rofi
@@ -0,0 +1,11 @@
# https://mangowm.github.io/docs/window-management/rules#tag-rules
tagrule=id:1,layout_name:tile
tagrule=id:2,layout_name:tile
tagrule=id:3,layout_name:tile
tagrule=id:4,layout_name:tile
tagrule=id:5,layout_name:tile
tagrule=id:6,layout_name:tile
tagrule=id:7,layout_name:tile
tagrule=id:8,layout_name:tile
tagrule=id:9,layout_name:tile
@@ -0,0 +1 @@
# https://mangowm.github.io/docs/window-management/rules#window-rules