mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-03-19 05:34:04 -04:00
Update default config.conf
This commit is contained in:
parent
57d7801df2
commit
6e95899fbb
1 changed files with 584 additions and 194 deletions
778
config.conf
778
config.conf
|
|
@ -1,257 +1,647 @@
|
||||||
# More option see https://github.com/DreamMaoMao/mango/wiki/
|
# ==============================================================================
|
||||||
|
# mangowc config.conf
|
||||||
|
# ==============================================================================
|
||||||
|
# For more detailed information and additional config options visit:
|
||||||
|
# https://mangowc.vercel.app/
|
||||||
|
# https://github.com/DreamMaoMao/mangowc/wiki
|
||||||
|
|
||||||
# Window effect
|
# The default config path is: ~/.config/mango/config.conf
|
||||||
blur=0
|
# The default fallback path is: /etc/mango/config.conf
|
||||||
blur_layer=0
|
|
||||||
blur_optimized=1
|
# You can make your config modular by sourcing other files:
|
||||||
|
# An example of using an absolute path
|
||||||
|
# source = ~/.config/mango/bind.conf
|
||||||
|
# An example of using a relative path
|
||||||
|
# source = ./bind.conf
|
||||||
|
|
||||||
|
# You can also start mango using a custom configuration path:
|
||||||
|
# $ mango -c /path/to/config
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Startup Apps & Environment Variables
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# exec-once = discord
|
||||||
|
# Only run when first starting mango
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP = wlroots
|
||||||
|
# Runs every time the config is reloaded
|
||||||
|
# exec = bash reloadsomething.sh
|
||||||
|
|
||||||
|
# exec-once = waybar
|
||||||
|
|
||||||
|
# You can set system environment variables that reset on each config reload.
|
||||||
|
# For example:
|
||||||
|
# env = LANG, en_US.UTF-8
|
||||||
|
# env = XDG_SCREENSHOTS_DIR, ~/Pictures/Screenshots
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Monitor Rules
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Warning: If using xwayland do not set any display to negative coordinates.
|
||||||
|
# It will cause the click event to be abnormal. Refer to: https://gitlab.freedesktop.org/xorg/xserver/-/issues/899
|
||||||
|
# The layout set in `tagrule` has a higher priority than the layout set in `monitorrule` and will override it.
|
||||||
|
# Example format:
|
||||||
|
# monitorrule = <monitor_name>, <mfact>, <nmaster>, <layout>, <transform>, <scale>, <x_coord>, <y_coord>, <width>, <height>, <refreshrate>
|
||||||
|
|
||||||
|
# Example dual monitor setup:
|
||||||
|
# monitorrule = DP-1, 0.50, 1, tgmix, 0, 1, 1920, 0, 1920, 1080, 60
|
||||||
|
# monitorrule = DP-3, 0.50, 1, scroller, 0, 1, 0, 0, 1920, 1080, 144
|
||||||
|
|
||||||
|
# The transform values are:
|
||||||
|
# 0: no transform
|
||||||
|
# 1: 90 degrees counter-clockwise
|
||||||
|
# 2: 180 degrees counter-clockwise
|
||||||
|
# 3: 270 degrees counter-clockwise
|
||||||
|
# 4: 180 degrees vertical flip
|
||||||
|
# 5: Vertical flip + 90 degrees counter-clockwise
|
||||||
|
# 6: Vertical flip + 180 degrees counter-clockwise
|
||||||
|
# 7: Vertical flip + 270 counter-clockwise
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Window Effects (Blur & Shadows)(Requires SceneFX version)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Enable/disable window background blur
|
||||||
|
blur = 0
|
||||||
|
|
||||||
|
# Enable/disable blur on shell layers (like panels/menus)
|
||||||
|
blur_layer = 0
|
||||||
|
|
||||||
|
# Use optimized blur shader for better performance
|
||||||
|
blur_optimized = 1
|
||||||
|
|
||||||
|
# Quality of blur (higher = smoother but heavier)
|
||||||
blur_params_num_passes = 2
|
blur_params_num_passes = 2
|
||||||
|
|
||||||
|
# Strength of the blur effect
|
||||||
blur_params_radius = 5
|
blur_params_radius = 5
|
||||||
|
|
||||||
|
# Dithering/noise to prevent color banding in blur
|
||||||
blur_params_noise = 0.02
|
blur_params_noise = 0.02
|
||||||
|
|
||||||
|
# Adjust brightness of the blurred area
|
||||||
blur_params_brightness = 0.9
|
blur_params_brightness = 0.9
|
||||||
|
|
||||||
|
# Adjust contrast of the blurred area
|
||||||
blur_params_contrast = 0.9
|
blur_params_contrast = 0.9
|
||||||
|
|
||||||
|
# Adjust color intensity of the blurred area
|
||||||
blur_params_saturation = 1.2
|
blur_params_saturation = 1.2
|
||||||
|
|
||||||
|
# Enable/disable window shadows
|
||||||
shadows = 0
|
shadows = 0
|
||||||
|
|
||||||
|
# Enable/disable shadows on shell layers
|
||||||
layer_shadows = 0
|
layer_shadows = 0
|
||||||
|
|
||||||
|
# Only draw shadows on floating (non-tiled) windows
|
||||||
shadow_only_floating = 1
|
shadow_only_floating = 1
|
||||||
|
|
||||||
|
# The spread/size of the shadow
|
||||||
shadows_size = 10
|
shadows_size = 10
|
||||||
|
|
||||||
|
# The softness of the shadow edges
|
||||||
shadows_blur = 15
|
shadows_blur = 15
|
||||||
|
|
||||||
|
# Horizontal offset of the shadow
|
||||||
shadows_position_x = 0
|
shadows_position_x = 0
|
||||||
|
|
||||||
|
# Vertical offset of the shadow
|
||||||
shadows_position_y = 0
|
shadows_position_y = 0
|
||||||
shadowscolor= 0x000000ff
|
|
||||||
|
|
||||||
border_radius=6
|
# Shadow color in HEX (RGBA)
|
||||||
no_radius_when_single=0
|
shadowscolor = 0x000000ff
|
||||||
focused_opacity=1.0
|
|
||||||
unfocused_opacity=1.0
|
|
||||||
|
|
||||||
# Animation Configuration(support type:zoom,slide)
|
# ------------------------------------------------------------------------------
|
||||||
# tag_animation_direction: 1-horizontal,0-vertical
|
# Animations (Open, Close, Move, Tag Switch)
|
||||||
animations=1
|
# ------------------------------------------------------------------------------
|
||||||
layer_animations=1
|
# Master toggle for window animations
|
||||||
animation_type_open=slide
|
animations = 1
|
||||||
animation_type_close=slide
|
|
||||||
animation_fade_in=1
|
|
||||||
animation_fade_out=1
|
|
||||||
tag_animation_direction=1
|
|
||||||
zoom_initial_ratio=0.3
|
|
||||||
zoom_end_ratio=0.8
|
|
||||||
fadein_begin_opacity=0.5
|
|
||||||
fadeout_begin_opacity=0.8
|
|
||||||
animation_duration_move=500
|
|
||||||
animation_duration_open=400
|
|
||||||
animation_duration_tag=350
|
|
||||||
animation_duration_close=800
|
|
||||||
animation_duration_focus=0
|
|
||||||
animation_curve_open=0.46,1.0,0.29,1
|
|
||||||
animation_curve_move=0.46,1.0,0.29,1
|
|
||||||
animation_curve_tag=0.46,1.0,0.29,1
|
|
||||||
animation_curve_close=0.08,0.92,0,1
|
|
||||||
animation_curve_focus=0.46,1.0,0.29,1
|
|
||||||
animation_curve_opafadeout=0.5,0.5,0.5,0.5
|
|
||||||
animation_curve_opafadein=0.46,1.0,0.29,1
|
|
||||||
|
|
||||||
# Scroller Layout Setting
|
# Toggle animations for layers (menus/popups)
|
||||||
scroller_structs=20
|
layer_animations = 1
|
||||||
scroller_default_proportion=0.8
|
|
||||||
scroller_focus_center=0
|
|
||||||
scroller_prefer_center=0
|
|
||||||
edge_scroller_pointer_focus=1
|
|
||||||
scroller_default_proportion_single=1.0
|
|
||||||
scroller_proportion_preset=0.5,0.8,1.0
|
|
||||||
|
|
||||||
# Master-Stack Layout Setting
|
# Animation style for opening (zoom or slide)
|
||||||
new_is_master=1
|
animation_type_open = slide
|
||||||
default_mfact=0.55
|
|
||||||
default_nmaster=1
|
|
||||||
smartgaps=0
|
|
||||||
|
|
||||||
# Overview Setting
|
# Animation style for closing (zoom or slide)
|
||||||
hotarea_size=10
|
animation_type_close = slide
|
||||||
enable_hotarea=1
|
|
||||||
ov_tab_mode=0
|
|
||||||
overviewgappi=5
|
|
||||||
overviewgappo=30
|
|
||||||
|
|
||||||
# Misc
|
# Enable fade-in effect during open
|
||||||
no_border_when_single=0
|
animation_fade_in = 1
|
||||||
axis_bind_apply_timeout=100
|
|
||||||
focus_on_activate=1
|
|
||||||
idleinhibit_ignore_visible=0
|
|
||||||
sloppyfocus=1
|
|
||||||
warpcursor=1
|
|
||||||
focus_cross_monitor=0
|
|
||||||
focus_cross_tag=0
|
|
||||||
enable_floating_snap=0
|
|
||||||
snap_distance=30
|
|
||||||
cursor_size=24
|
|
||||||
drag_tile_to_tile=1
|
|
||||||
|
|
||||||
# keyboard
|
# Enable fade-out effect during close
|
||||||
repeat_rate=25
|
animation_fade_out = 1
|
||||||
repeat_delay=600
|
|
||||||
numlockon=0
|
# 1 for horizontal sliding, 0 for vertical sliding
|
||||||
xkb_rules_layout=us
|
tag_animation_direction = 1
|
||||||
|
|
||||||
|
# Ratios & Opacity
|
||||||
|
|
||||||
|
# Starting size multiplier for zoom animation
|
||||||
|
zoom_initial_ratio = 0.3
|
||||||
|
|
||||||
|
# Ending size multiplier for zoom animation
|
||||||
|
zoom_end_ratio = 0.8
|
||||||
|
|
||||||
|
# Starting opacity for fade-in
|
||||||
|
fadein_begin_opacity = 0.5
|
||||||
|
|
||||||
|
# Starting opacity for fade-out
|
||||||
|
fadeout_begin_opacity = 0.8
|
||||||
|
|
||||||
|
# Durations (in milliseconds)
|
||||||
|
|
||||||
|
# Time taken to move/resize a window
|
||||||
|
animation_duration_move = 500
|
||||||
|
|
||||||
|
# Time taken to open a window
|
||||||
|
animation_duration_open = 400
|
||||||
|
|
||||||
|
# Time taken to switch between tags (workspaces)
|
||||||
|
animation_duration_tag = 350
|
||||||
|
|
||||||
|
# Time taken to close a window
|
||||||
|
animation_duration_close = 800
|
||||||
|
|
||||||
|
# Time taken to animate focus changes
|
||||||
|
animation_duration_focus = 0
|
||||||
|
|
||||||
|
# Animation Curves (Cubic Bezier: x1, y1, x2, y2)
|
||||||
|
animation_curve_open = 0.46, 1.0, 0.29, 1
|
||||||
|
animation_curve_move = 0.46, 1.0, 0.29, 1
|
||||||
|
animation_curve_tag = 0.46, 1.0, 0.29, 1
|
||||||
|
animation_curve_close = 0.08, 0.92, 0, 1
|
||||||
|
animation_curve_focus = 0.46, 1.0, 0.29, 1
|
||||||
|
animation_curve_opafadeout = 0.5, 0.5, 0.5, 0.5
|
||||||
|
animation_curve_opafadein = 0.46, 1.0, 0.29, 1
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Layout Settings (Scroller, Master-Stack, Gaps)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Scroller Layout
|
||||||
|
|
||||||
|
# Maximum internal structures for scroller
|
||||||
|
scroller_structs = 20
|
||||||
|
|
||||||
|
# Default window width in scroller mode
|
||||||
|
scroller_default_proportion = 0.8
|
||||||
|
|
||||||
|
# Keep focused window centered
|
||||||
|
scroller_focus_center = 0
|
||||||
|
|
||||||
|
# Favor center positioning for new windows
|
||||||
|
scroller_prefer_center = 0
|
||||||
|
|
||||||
|
# Focus window under pointer at screen edges
|
||||||
|
edge_scroller_pointer_focus = 1
|
||||||
|
|
||||||
|
# Width proportion when only one window exists
|
||||||
|
scroller_default_proportion_single = 1.0
|
||||||
|
|
||||||
|
# Cycling presets for window sizing
|
||||||
|
scroller_proportion_preset = 0.5, 0.8, 1.0
|
||||||
|
|
||||||
|
# Master-Stack Layout
|
||||||
|
|
||||||
|
# New windows become the master (left side)
|
||||||
|
new_is_master = 1
|
||||||
|
|
||||||
|
# Default master area width percentage
|
||||||
|
default_mfact = 0.55
|
||||||
|
|
||||||
|
# Default number of windows in the master area
|
||||||
|
default_nmaster = 1
|
||||||
|
|
||||||
|
# Hide gaps if only one window is visible
|
||||||
|
smartgaps = 0
|
||||||
|
|
||||||
|
# Appearance & Gaps
|
||||||
|
|
||||||
|
# Horizontal inner gap (between windows)
|
||||||
|
gappih = 5
|
||||||
|
|
||||||
|
# Vertical inner gap (between windows)
|
||||||
|
gappiv = 5
|
||||||
|
|
||||||
|
# Horizontal outer gap (window to screen edge)
|
||||||
|
gappoh = 10
|
||||||
|
|
||||||
|
# Vertical outer gap (window to screen edge)
|
||||||
|
gappov = 10
|
||||||
|
|
||||||
|
# Window border thickness in pixels
|
||||||
|
borderpx = 4
|
||||||
|
|
||||||
|
# Rounding of window corners
|
||||||
|
border_radius = 6
|
||||||
|
|
||||||
|
# Disable corner rounding for single windows
|
||||||
|
no_radius_when_single = 0
|
||||||
|
|
||||||
|
# Disable borders for single windows
|
||||||
|
no_border_when_single = 0
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Workspace (Tag) Rules
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Default layout for each tag
|
||||||
|
# (tile, scroller, monocle, grid, deck, center_tile, vertical_tile, vertical_grid, vertical_scroller, tgmix)
|
||||||
|
# tagrule = id:1, layout_name:tgmix
|
||||||
|
# tagrule = id:2, layout_name:tgmix
|
||||||
|
tagrule = id:3, layout_name:tgmix
|
||||||
|
tagrule = id:4, layout_name:tgmix
|
||||||
|
tagrule = id:5, layout_name:tgmix
|
||||||
|
tagrule = id:6, layout_name:tgmix
|
||||||
|
tagrule = id:7, layout_name:tgmix
|
||||||
|
tagrule = id:8, layout_name:tgmix
|
||||||
|
tagrule = id:9, layout_name:tgmix
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Colors (Hex RGBA)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Desktop background color
|
||||||
|
rootcolor = 0x201b14ff
|
||||||
|
|
||||||
|
# Inactive window border color
|
||||||
|
bordercolor = 0x444444ff
|
||||||
|
|
||||||
|
# Focused window border color
|
||||||
|
focuscolor = 0xc9b890ff
|
||||||
|
|
||||||
|
# Color hint when a window is maximized
|
||||||
|
maximizescreencolor = 0x89aa61ff
|
||||||
|
|
||||||
|
# Border color for windows requesting attention
|
||||||
|
urgentcolor = 0xad401fff
|
||||||
|
|
||||||
|
# Border color for scratchpad windows
|
||||||
|
scratchpadcolor = 0x516c93ff
|
||||||
|
|
||||||
|
# Border color for global windows
|
||||||
|
globalcolor = 0xb153a7ff
|
||||||
|
|
||||||
|
# Border color for overlay windows
|
||||||
|
overlaycolor = 0x14a57cff
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Input Configuration (Keyboard, Mouse, Trackpad)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Keyboard
|
||||||
|
|
||||||
|
# Keys per second when held down
|
||||||
|
repeat_rate = 25
|
||||||
|
|
||||||
|
# Delay before key repeat starts (ms)
|
||||||
|
repeat_delay = 600
|
||||||
|
|
||||||
|
# Enable NumLock on startup
|
||||||
|
numlockon = 0
|
||||||
|
|
||||||
|
# Keyboard layout
|
||||||
|
xkb_rules_layout = us
|
||||||
|
|
||||||
# Trackpad
|
# Trackpad
|
||||||
# need relogin to make it apply
|
|
||||||
disable_trackpad=0
|
|
||||||
tap_to_click=1
|
|
||||||
tap_and_drag=1
|
|
||||||
drag_lock=1
|
|
||||||
trackpad_natural_scrolling=0
|
|
||||||
disable_while_typing=1
|
|
||||||
left_handed=0
|
|
||||||
middle_button_emulation=0
|
|
||||||
swipe_min_threshold=1
|
|
||||||
|
|
||||||
# mouse
|
# Set to 1 to disable trackpad
|
||||||
# need relogin to make it apply
|
disable_trackpad = 0
|
||||||
mouse_natural_scrolling=0
|
|
||||||
|
|
||||||
# Appearance
|
# Enable tapping to click
|
||||||
gappih=5
|
tap_to_click = 1
|
||||||
gappiv=5
|
|
||||||
gappoh=10
|
|
||||||
gappov=10
|
|
||||||
scratchpad_width_ratio=0.8
|
|
||||||
scratchpad_height_ratio=0.9
|
|
||||||
borderpx=4
|
|
||||||
rootcolor=0x201b14ff
|
|
||||||
bordercolor=0x444444ff
|
|
||||||
focuscolor=0xc9b890ff
|
|
||||||
maximizescreencolor=0x89aa61ff
|
|
||||||
urgentcolor=0xad401fff
|
|
||||||
scratchpadcolor=0x516c93ff
|
|
||||||
globalcolor=0xb153a7ff
|
|
||||||
overlaycolor=0x14a57cff
|
|
||||||
|
|
||||||
# layout support:
|
# Tap and then immediately drag
|
||||||
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
|
tap_and_drag = 1
|
||||||
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
|
|
||||||
|
|
||||||
|
# Keep dragging after finger lift
|
||||||
|
drag_lock = 1
|
||||||
|
|
||||||
|
# Reverse scroll direction
|
||||||
|
trackpad_natural_scrolling = 0
|
||||||
|
|
||||||
|
# Prevent accidental trackpad input
|
||||||
|
disable_while_typing = 1
|
||||||
|
|
||||||
|
# Swap left/right buttons
|
||||||
|
left_handed = 0
|
||||||
|
|
||||||
|
# Tap both buttons for middle click
|
||||||
|
middle_button_emulation = 0
|
||||||
|
|
||||||
|
# Minimum distance for swipe gestures
|
||||||
|
swipe_min_threshold = 1
|
||||||
|
|
||||||
|
# Mouse
|
||||||
|
|
||||||
|
# Reverse scroll direction for mouse wheel
|
||||||
|
mouse_natural_scrolling = 0
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Miscellaneous System Settings
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Size of the screen corner "hot area"
|
||||||
|
hotarea_size = 10
|
||||||
|
|
||||||
|
# Enable triggers when mouse hits screen corners
|
||||||
|
enable_hotarea = 1
|
||||||
|
|
||||||
|
# Overview tab behavior mode
|
||||||
|
ov_tab_mode = 0
|
||||||
|
|
||||||
|
# Inner gaps in Overview mode
|
||||||
|
overviewgappi = 5
|
||||||
|
|
||||||
|
# Outer gaps in Overview mode
|
||||||
|
overviewgappo = 30
|
||||||
|
|
||||||
|
# (0 or 1) Enable xwayland persistence (needs a relogin to take effect)
|
||||||
|
xwayland_persistence = 1
|
||||||
|
|
||||||
|
# (0 or 1) Enable drm_syncobj (needs a relogin to take effect). Can improve game performance.
|
||||||
|
syncobj_enable = 0
|
||||||
|
|
||||||
|
# (0 or 1) Enable variable refresh rate(vrr). Can improve game performance.
|
||||||
|
adaptive_sync = 0
|
||||||
|
|
||||||
|
# (0 or 1) Allow shortcuts to be inhibited by clients
|
||||||
|
allow_shortcuts_inhibit = 1
|
||||||
|
|
||||||
|
# (0 or 1 or 2) Allow tearing. Can improve game performance.
|
||||||
|
allow_tearing = 0
|
||||||
|
|
||||||
|
# (0 or 1) Enable transparent lock screen
|
||||||
|
allow_lock_transparent = 0
|
||||||
|
|
||||||
|
# Detect the intervals of consecutive scroll for axisbind
|
||||||
|
axis_bind_apply_timeout = 100
|
||||||
|
|
||||||
|
# (0.1-10.0) Scroll factor for axis scroll speed
|
||||||
|
axis_scroll_factor = 1.0
|
||||||
|
|
||||||
|
# (0 or 1) Focus window when window send activate event (0-disable, 1-enable)
|
||||||
|
focus_on_activate = 1
|
||||||
|
|
||||||
|
# (0 or 1) Invisible clients can also trigger idle inhibit
|
||||||
|
idleinhibit_ignore_visible = 0
|
||||||
|
|
||||||
|
# (0 or 1) Focus follow mouse move
|
||||||
|
sloppyfocus = 1
|
||||||
|
|
||||||
|
# (0 or 1) Cursor warping when focus change
|
||||||
|
warpcursor = 1
|
||||||
|
|
||||||
|
# (0 or 1) Focus across monitors
|
||||||
|
focus_cross_monitor = 0
|
||||||
|
|
||||||
|
# (0 or 1) exchange two clients across monitors
|
||||||
|
exchange_cross_monitor = 0
|
||||||
|
|
||||||
|
# (0 or 1) all monitors have the same scratchpad
|
||||||
|
scratchpad_cross_monitor = 0
|
||||||
|
|
||||||
|
# (0 or 1) Focus across tags
|
||||||
|
focus_cross_tag = 0
|
||||||
|
|
||||||
|
# (0 or 1) View current tag will auto back to prev view tag
|
||||||
|
view_current_to_back = 1
|
||||||
|
|
||||||
|
# (0 or 1) Enable floating window snap
|
||||||
|
enable_floating_snap = 0
|
||||||
|
|
||||||
|
# (0 - 9999) The max distance to trigger floating window snap
|
||||||
|
snap_distance = 30
|
||||||
|
|
||||||
|
# (0 - 9999) Set cursor size
|
||||||
|
cursor_size = 24
|
||||||
|
|
||||||
|
# Set cursor theme
|
||||||
|
# cursor_theme = -
|
||||||
|
|
||||||
|
# (0 or 1) Don't render border when the window is alone in the tag
|
||||||
|
no_border_when_single = 0
|
||||||
|
|
||||||
|
# (0 - 9999) Time spent idle until cursor hides
|
||||||
|
cursor_hide_timeout = 0
|
||||||
|
|
||||||
|
# (0 or 1) If the dragged window is a tiled window, it will retile when the drag ends
|
||||||
|
drag_tile_to_tile = 0
|
||||||
|
|
||||||
|
# only show one out of named scratchpads or the normal scratchpad
|
||||||
|
single_scratchpad = 1
|
||||||
|
|
||||||
|
# Confine `switch_layout` to a specific group of layouts
|
||||||
|
# circle_layout = -
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
# Key Bindings
|
# Key Bindings
|
||||||
# key name refer to `xev` or `wev` command output,
|
# ------------------------------------------------------------------------------
|
||||||
# mod keys name: super,ctrl,alt,shift,none
|
# Refer to `xev` or `wev` to find key names
|
||||||
|
# You can use `spawn_shell` in place of `spawn` to use more advanced shell commands with piping
|
||||||
|
|
||||||
# reload config
|
# reload config
|
||||||
bind=SUPER,r,reload_config
|
bind = Super, r, reload_config
|
||||||
|
|
||||||
# menu and terminal
|
# menu and terminal
|
||||||
bind=Alt,space,spawn,rofi -show drun
|
bind = Alt, space, spawn, rofi -show drun
|
||||||
bind=Alt,Return,spawn,foot
|
bind = Alt, Return, spawn, foot
|
||||||
|
|
||||||
# exit
|
# exit
|
||||||
bind=SUPER,m,quit
|
bind = Super+Shift+Ctrl, m, quit
|
||||||
bind=ALT,q,killclient,
|
bind = Alt, q, killclient
|
||||||
|
|
||||||
# switch window focus
|
# switch window focus
|
||||||
bind=SUPER,Tab,focusstack,next
|
bind = Super, Tab, focusstack, next
|
||||||
bind=ALT,Left,focusdir,left
|
bind = Alt, Left, focusdir, left
|
||||||
bind=ALT,Right,focusdir,right
|
bind = Alt, Right, focusdir, right
|
||||||
bind=ALT,Up,focusdir,up
|
bind = Alt, Up, focusdir, up
|
||||||
bind=ALT,Down,focusdir,down
|
bind = Alt, Down, focusdir, down
|
||||||
|
|
||||||
# swap window
|
# swap window
|
||||||
bind=SUPER+SHIFT,Up,exchange_client,up
|
bind = Super+Shift, Up, exchange_client, up
|
||||||
bind=SUPER+SHIFT,Down,exchange_client,down
|
bind = Super+Shift, Down, exchange_client, down
|
||||||
bind=SUPER+SHIFT,Left,exchange_client,left
|
bind = Super+Shift, Left, exchange_client, left
|
||||||
bind=SUPER+SHIFT,Right,exchange_client,right
|
bind = Super+Shift, Right, exchange_client, right
|
||||||
|
|
||||||
# switch window status
|
# switch window status
|
||||||
bind=SUPER,g,toggleglobal,
|
bind = Super, g, toggleglobal
|
||||||
bind=ALT,Tab,toggleoverview,
|
bind = Alt, Tab, toggleoverview
|
||||||
bind=ALT,backslash,togglefloating,
|
bind = Alt, backslash, togglefloating
|
||||||
bind=ALT,a,togglemaximizescreen,
|
bind = Alt, a, togglemaximizescreen
|
||||||
bind=ALT,f,togglefullscreen,
|
bind = Alt, f, togglefullscreen
|
||||||
bind=ALT+SHIFT,f,togglefakefullscreen,
|
bind = Alt+Shift, f, togglefakefullscreen
|
||||||
bind=SUPER,i,minimized,
|
bind = Super, i, minimized
|
||||||
bind=SUPER,o,toggleoverlay,
|
bind = Super, o, toggleoverlay
|
||||||
bind=SUPER+SHIFT,I,restore_minimized
|
bind = Super+Shift, i, restore_minimized
|
||||||
bind=ALT,z,toggle_scratchpad
|
bind = Alt, z, toggle_scratchpad
|
||||||
|
|
||||||
# scroller layout
|
# scroller layout
|
||||||
bind=ALT,e,set_proportion,1.0
|
bind = Alt, e, set_proportion, 1.0
|
||||||
bind=ALT,x,switch_proportion_preset,
|
bind = Alt, x, switch_proportion_preset
|
||||||
|
bind = Alt+Ctrl+Shift, left, scroller_stack, left
|
||||||
|
bind = Alt+Ctrl+Shift, h, scroller_stack, left
|
||||||
|
bind = Alt+Ctrl+Shift, right, scroller_stack, right
|
||||||
|
bind = Alt+Ctrl+Shift, l, scroller_stack, right
|
||||||
|
bind = Alt+Ctrl+Shift, up, scroller_stack, up
|
||||||
|
bind = Alt+Ctrl+Shift, k, scroller_stack, up
|
||||||
|
bind = Alt+Ctrl+Shift, down, scroller_stack, down
|
||||||
|
bind = Alt+Ctrl+Shift, j, scroller_stack, down
|
||||||
|
|
||||||
# switch layout
|
# switch layout
|
||||||
bind=SUPER,n,switch_layout
|
bind = Super, n, switch_layout
|
||||||
|
|
||||||
# tag switch
|
# tag switch
|
||||||
bind=SUPER,Left,viewtoleft,0
|
bind = Super, Left, viewtoleft, 0
|
||||||
bind=CTRL,Left,viewtoleft_have_client,0
|
bind = Ctrl, Left, viewtoleft_have_client, 0
|
||||||
bind=SUPER,Right,viewtoright,0
|
bind = Super, Right, viewtoright, 0
|
||||||
bind=CTRL,Right,viewtoright_have_client,0
|
bind = Ctrl, Right, viewtoright_have_client, 0
|
||||||
bind=CTRL+SUPER,Left,tagtoleft,0
|
bind = Ctrl+Super, Left, tagtoleft, 0
|
||||||
bind=CTRL+SUPER,Right,tagtoright,0
|
bind = Ctrl+Super, Right, tagtoright, 0
|
||||||
|
|
||||||
bind=Ctrl,1,view,1,0
|
bind = Ctrl, 1, view, 1, 0
|
||||||
bind=Ctrl,2,view,2,0
|
bind = Ctrl, 2, view, 2, 0
|
||||||
bind=Ctrl,3,view,3,0
|
bind = Ctrl, 3, view, 3, 0
|
||||||
bind=Ctrl,4,view,4,0
|
bind = Ctrl, 4, view, 4, 0
|
||||||
bind=Ctrl,5,view,5,0
|
bind = Ctrl, 5, view, 5, 0
|
||||||
bind=Ctrl,6,view,6,0
|
bind = Ctrl, 6, view, 6, 0
|
||||||
bind=Ctrl,7,view,7,0
|
bind = Ctrl, 7, view, 7, 0
|
||||||
bind=Ctrl,8,view,8,0
|
bind = Ctrl, 8, view, 8, 0
|
||||||
bind=Ctrl,9,view,9,0
|
bind = Ctrl, 9, view, 9, 0
|
||||||
|
|
||||||
# tag: move client to the tag and focus it
|
# tag: move client to the tag and focus it
|
||||||
# tagsilent: move client to the tag and not 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,1,tag,1,0
|
bind = Alt, 1, tag, 1, 0
|
||||||
bind=Alt,2,tag,2,0
|
bind = Alt, 2, tag, 2, 0
|
||||||
bind=Alt,3,tag,3,0
|
bind = Alt, 3, tag, 3, 0
|
||||||
bind=Alt,4,tag,4,0
|
bind = Alt, 4, tag, 4, 0
|
||||||
bind=Alt,5,tag,5,0
|
bind = Alt, 5, tag, 5, 0
|
||||||
bind=Alt,6,tag,6,0
|
bind = Alt, 6, tag, 6, 0
|
||||||
bind=Alt,7,tag,7,0
|
bind = Alt, 7, tag, 7, 0
|
||||||
bind=Alt,8,tag,8,0
|
bind = Alt, 8, tag, 8, 0
|
||||||
bind=Alt,9,tag,9,0
|
bind = Alt, 9, tag, 9, 0
|
||||||
|
|
||||||
# monitor switch
|
# monitor switch
|
||||||
bind=alt+shift,Left,focusmon,left
|
bind = Alt+Shift, Left, focusmon, left
|
||||||
bind=alt+shift,Right,focusmon,right
|
bind = Alt+Shift, Right, focusmon, right
|
||||||
bind=SUPER+Alt,Left,tagmon,left
|
bind = Super+Alt, Left, tagmon, left
|
||||||
bind=SUPER+Alt,Right,tagmon,right
|
bind = Super+Alt, Right, tagmon, right
|
||||||
|
|
||||||
# gaps
|
# gaps
|
||||||
bind=ALT+SHIFT,X,incgaps,1
|
bind = Alt+Shift, X, incgaps, 1
|
||||||
bind=ALT+SHIFT,Z,incgaps,-1
|
bind = Alt+Shift, Z, incgaps, -1
|
||||||
bind=ALT+SHIFT,R,togglegaps
|
bind = Alt+Shift, R, togglegaps
|
||||||
|
|
||||||
# movewin
|
# movewin
|
||||||
bind=CTRL+SHIFT,Up,movewin,+0,-50
|
bind = Ctrl+Shift, Up, movewin, +0, -50
|
||||||
bind=CTRL+SHIFT,Down,movewin,+0,+50
|
bind = Ctrl+Shift, Down, movewin, +0, +50
|
||||||
bind=CTRL+SHIFT,Left,movewin,-50,+0
|
bind = Ctrl+Shift, Left, movewin, -50, +0
|
||||||
bind=CTRL+SHIFT,Right,movewin,+50,+0
|
bind = Ctrl+Shift, Right, movewin, +50, +0
|
||||||
|
|
||||||
# resizewin
|
# resizewin
|
||||||
bind=CTRL+ALT,Up,resizewin,+0,-50
|
bind = Ctrl+Alt, Up, resizewin, +0, -50
|
||||||
bind=CTRL+ALT,Down,resizewin,+0,+50
|
bind = Ctrl+Alt, Down, resizewin, +0, +50
|
||||||
bind=CTRL+ALT,Left,resizewin,-50,+0
|
bind = Ctrl+Alt, Left, resizewin, -50, +0
|
||||||
bind=CTRL+ALT,Right,resizewin,+50,+0
|
bind = Ctrl+Alt, Right, resizewin, +50, +0
|
||||||
|
|
||||||
# Mouse Button Bindings
|
# Audio control
|
||||||
# NONE mode key only work in ov mode
|
bind = none, XF86AudioRaiseVolume, spawn, wpctl set-volume @DEFAULT_SINK@ 5%+
|
||||||
mousebind=SUPER,btn_left,moveresize,curmove
|
bind = none, XF86AudioLowerVolume, spawn, wpctl set-volume @DEFAULT_SINK@ 5%-
|
||||||
mousebind=NONE,btn_middle,togglemaximizescreen,0
|
bind = none, XF86AudioMute, spawn, wpctl set-mute @DEFAULT_SINK@ toggle
|
||||||
mousebind=SUPER,btn_right,moveresize,curresize
|
bind = none, XF86AudioMicMute, spawn, wpctl set-mute @DEFAULT_SOURCE@ toggle
|
||||||
mousebind=NONE,btn_left,toggleoverview,1
|
|
||||||
mousebind=NONE,btn_right,killclient,0
|
|
||||||
|
|
||||||
# Axis Bindings
|
# `bind[flag]` can also be used in the following combinations:
|
||||||
axisbind=SUPER,UP,viewtoleft_have_client
|
# `bindl`: apply bind while screen is locked
|
||||||
axisbind=SUPER,DOWN,viewtoright_have_client
|
# `binds`: use keysym instead of keycode for bind
|
||||||
|
# `bindr`: use bind on keyrelease instead of keypress
|
||||||
|
# `bindp`: pass key event to client
|
||||||
|
|
||||||
|
# Example:
|
||||||
|
# bindl = Super, l, quit
|
||||||
|
|
||||||
# layer rule
|
# Flags can also be combined:
|
||||||
layerrule=animation_type_open:zoom,layer_name:rofi
|
# bindls = Super, s, quit
|
||||||
layerrule=animation_type_close:zoom,layer_name:rofi
|
|
||||||
|
# Binds can also use keycodes directly, such as `code:24`, etc.
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Mouse & Layer Rules
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
mousebind = Super, btn_left, moveresize, curmove
|
||||||
|
mousebind = Super, btn_right, moveresize, curresize
|
||||||
|
mousebind = NONE, btn_middle, toggleoverview, 1
|
||||||
|
|
||||||
|
# You can also use axis bindings for the mouse wheel:
|
||||||
|
# axisbind = <MODIFIERS>, <AXIS_DIRECTION>, <COMMAND>, <ARGS>
|
||||||
|
axisbind = Super, UP, viewtoleft_have_client
|
||||||
|
axisbind = Super, DOWN, viewtoright_have_client
|
||||||
|
|
||||||
|
# Specialized animation rules for specific apps (e.g., Rofi)
|
||||||
|
# You can use `mmsg -e` to get the last open layer name
|
||||||
|
layerrule = animation_type_open:zoom, layer_name:rofi
|
||||||
|
layerrule = animation_type_close:zoom, layer_name:rofi
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Switch Bindings (For laptop lid open/close toggles)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# To utilize switch bindings you need to disable `lidhandle` in /etc/systemd/logind.conf
|
||||||
|
# HandleLidSwitch = ignore
|
||||||
|
# HandleLidSwitchExternalPower = ignore
|
||||||
|
# HandleLidSwitchDocked = ignore
|
||||||
|
|
||||||
|
# Format: switchbind = <FOLD_STATE>, <ACTION>, <COMMAND><ARGS>
|
||||||
|
# Examples:
|
||||||
|
# switchbind = fold, spawn, swaylock -f -c 000000
|
||||||
|
# switchbind = unfold, spawn, wlr-dpms on
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Gesture Bindings (For laptop/touchpad gestures)
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Format: gesturebind = <MODIFIERS>, <DIRECTION>, <FINGERS>, <COMMAND>, <ARGS>
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
# gesturebind = none, left, 3, focusdir, left
|
||||||
|
# gesturebind = none, right, 3, focusdir, right
|
||||||
|
# gesturebind = none, up, 3, focusdir, up
|
||||||
|
# gesturebind = none, down, 3, focusdir, down
|
||||||
|
# gesturebind = none, left, 4, viewtoleft_have_client
|
||||||
|
# gesturebind = none, right, 4, viewtoright_have_client
|
||||||
|
# gesturebind = none, up, 4, toggleoverview
|
||||||
|
# gesturebind = none, down, 4, toggleoverview
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Window Rules
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# https://github.com/DreamMaoMao/mangowc/wiki#window-rules
|
||||||
|
# All parameters can be set in one line
|
||||||
|
# If you set both `appid` and `title` the window will only follow the rules when they match each other
|
||||||
|
# Examples:
|
||||||
|
# windowrule = Parameter:Values, title:Values
|
||||||
|
# windowrule = Parameter:Values, Parameter:Values, appid:Values, title:Values
|
||||||
|
# windowrule = force_tearing:1, title:vkcube # Enable window tearing for specific application
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Keymodes Example
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Keymodes allow you to enter a "state" where keys perform different actions.
|
||||||
|
# Useful for a "Resize Mode" or "Launcher Mode."
|
||||||
|
# Set the keymode before the bind, then the bind will apply to the keymode.
|
||||||
|
# If no keymode is explicitly set before a bind, then the default keymode is `keymode = default`.
|
||||||
|
# Binds under `keymode = common` will be usable in ALL keymodes.
|
||||||
|
# keymode = common
|
||||||
|
# bind = Super, r, reload_config # Bind works in all keymodes
|
||||||
|
|
||||||
|
# keymode = default
|
||||||
|
# bind = Alt, Return, spawn, st
|
||||||
|
# bind = Super, f, setkeymode, test
|
||||||
|
|
||||||
|
# keymode = test
|
||||||
|
# bind = Alt, Return, spawn, foot
|
||||||
|
# bind = Super, f, setkeymode, default
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# MMSG IPC Examples
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# mangowc supports IPC via the `mmsg` command to control the compositor from
|
||||||
|
# external scripts or the terminal.
|
||||||
|
# Example Shell Commands:
|
||||||
|
# mmsg -g: get message from mango
|
||||||
|
# mmsg -d reload_config: hot reload the configuration file
|
||||||
|
# mmsg -d quit: exit mango to tty or login screen.
|
||||||
|
# For more information about mmsg visit: https://github.com/DreamMaoMao/mangowc/wiki/mango-ipc-(mmsg)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue