chore: add mango 82cb7585
Steve Simkins · 2026-04-30 09:48 6 file(s) · +455 −0
mango/autostart.sh (added) +6 −0
1 +
#!/bin/bash
2 +
waybar -c ~/.config/mango/config.jsonc -s ~/.config/mango/style.css  &
3 +
swaybg -i ~/andromeda.png &
4 +
swaync &
5 +
wl-clip-persist --clipboard regular --reconnect-tries 0 &
6 +
wl-paste --watch cliphist store &
mango/clipboard.sh (added) +3 −0
1 +
#!/bin/bash
2 +
3 +
cliphist list | tofi | cliphist decode | wl-copy
mango/config.conf (added) +260 −0
1 +
# More option see https://github.com/DreamMaoMao/mango/wiki/
2 +
3 +
# Window effect
4 +
blur=0
5 +
blur_layer=0
6 +
blur_optimized=1
7 +
blur_params_num_passes = 2
8 +
blur_params_radius = 5
9 +
blur_params_noise = 0.02
10 +
blur_params_brightness = 0.9
11 +
blur_params_contrast = 0.9
12 +
blur_params_saturation = 1.2
13 +
14 +
shadows = 0
15 +
layer_shadows = 0
16 +
shadow_only_floating = 1
17 +
shadows_size = 10
18 +
shadows_blur = 15
19 +
shadows_position_x = 0
20 +
shadows_position_y = 0
21 +
shadowscolor= 0x000000ff
22 +
23 +
border_radius=6
24 +
no_radius_when_single=0
25 +
focused_opacity=1.0
26 +
unfocused_opacity=1.0
27 +
28 +
# Animation Configuration(support type:zoom,slide)
29 +
# tag_animation_direction: 0-horizontal,1-vertical
30 +
animations=1
31 +
layer_animations=1
32 +
animation_type_open=slide
33 +
animation_type_close=slide
34 +
animation_fade_in=1
35 +
animation_fade_out=1
36 +
tag_animation_direction=1
37 +
zoom_initial_ratio=0.3
38 +
zoom_end_ratio=0.8
39 +
fadein_begin_opacity=0.5
40 +
fadeout_begin_opacity=0.8
41 +
animation_duration_move=500
42 +
animation_duration_open=400
43 +
animation_duration_tag=350
44 +
animation_duration_close=800
45 +
animation_duration_focus=0
46 +
animation_curve_open=0.46,1.0,0.29,1
47 +
animation_curve_move=0.46,1.0,0.29,1
48 +
animation_curve_tag=0.46,1.0,0.29,1
49 +
animation_curve_close=0.08,0.92,0,1
50 +
animation_curve_focus=0.46,1.0,0.29,1
51 +
52 +
# Scroller Layout Setting
53 +
scroller_structs=20
54 +
scroller_default_proportion=0.8
55 +
scroller_focus_center=0
56 +
scroller_prefer_center=0
57 +
edge_scroller_pointer_focus=1
58 +
scroller_default_proportion_single=1.0
59 +
scroller_proportion_preset=0.5,0.8,1.0
60 +
61 +
# Master-Stack Layout Setting
62 +
new_is_master=1
63 +
default_mfact=0.5
64 +
default_nmaster=1
65 +
smartgaps=0
66 +
67 +
# Overview Setting
68 +
hotarea_size=10
69 +
enable_hotarea=1
70 +
ov_tab_mode=0
71 +
overviewgappi=5
72 +
overviewgappo=30
73 +
74 +
# Misc
75 +
no_border_when_single=0
76 +
axis_bind_apply_timeout=100
77 +
focus_on_activate=1
78 +
inhibit_regardless_of_visibility=0
79 +
sloppyfocus=1
80 +
warpcursor=1
81 +
focus_cross_monitor=0
82 +
focus_cross_tag=0
83 +
enable_floating_snap=0
84 +
snap_distance=30
85 +
cursor_size=24
86 +
drag_tile_to_tile=1
87 +
88 +
# keyboard
89 +
repeat_rate=25
90 +
repeat_delay=600
91 +
numlockon=0
92 +
xkb_rules_layout=us
93 +
94 +
# Trackpad
95 +
# need relogin to make it apply
96 +
disable_trackpad=0
97 +
tap_to_click=1
98 +
tap_and_drag=1
99 +
drag_lock=1
100 +
trackpad_natural_scrolling=0
101 +
disable_while_typing=1
102 +
left_handed=0
103 +
middle_button_emulation=0
104 +
swipe_min_threshold=1
105 +
106 +
# mouse
107 +
# need relogin to make it apply
108 +
mouse_natural_scrolling=1
109 +
110 +
# Appearance
111 +
gappih=20
112 +
gappiv=20
113 +
gappoh=20
114 +
gappov=20
115 +
scratchpad_width_ratio=0.8
116 +
scratchpad_height_ratio=0.9
117 +
borderpx=4
118 +
rootcolor=0x201b14ff
119 +
bordercolor=0x444444ff
120 +
focuscolor=0xc9b890ff
121 +
maximizescreencolor=0x89aa61ff
122 +
urgentcolor=0xad401fff
123 +
scratchpadcolor=0x516c93ff
124 +
globalcolor=0xb153a7ff
125 +
overlaycolor=0x14a57cff
126 +
127 +
# layout support:
128 +
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
129 +
tagrule=id:1,layout_name:tile
130 +
tagrule=id:2,layout_name:tile
131 +
tagrule=id:3,layout_name:tile
132 +
tagrule=id:4,layout_name:tile
133 +
tagrule=id:5,layout_name:tile
134 +
tagrule=id:6,layout_name:tile
135 +
tagrule=id:7,layout_name:tile
136 +
tagrule=id:8,layout_name:tile
137 +
tagrule=id:9,layout_name:tile
138 +
139 +
# Key Bindings
140 +
# key name refer to `xev` or `wev` command output,
141 +
# mod keys name: super,ctrl,alt,shift,none
142 +
143 +
# reload config
144 +
bind=SUPER+SHIFT,r,reload_config
145 +
146 +
# menu and terminal
147 +
bind=SUPER,d,spawn,/home/stevedylandev/.config/rofi/scripts/launcher_t1
148 +
bind=SUPER,Return,spawn,wezterm
149 +
bind=SUPER,b,spawn,chromium --force-device-scale-factor=1.2
150 +
bind=SUPER,s,spawn,/home/stevedylandev/.config/mango/snip.sh
151 +
bind=SUPER+SHIFT,c,spawn,/home/stevedylandev/.config/rofi/scripts/clipboard
152 +
153 +
# exit
154 +
bind=SUPER+SHIFT,m,quit
155 +
bind=SUPER,q,killclient,
156 +
157 +
# switch window focus
158 +
bind=SUPER,Tab,focusstack,next
159 +
bind=SUPER,h,focusdir,left
160 +
bind=SUPER,l,focusdir,right
161 +
bind=SUPER,k,focusdir,up
162 +
bind=SUPER,j,focusdir,down
163 +
164 +
# swap window
165 +
bind=SUPER+SHIFT,k,exchange_client,up
166 +
bind=SUPER+SHIFT,j,exchange_client,down
167 +
bind=SUPER+SHIFT,h,exchange_client,left
168 +
bind=SUPER+SHIFT,l,exchange_client,right
169 +
170 +
# switch window status
171 +
bind=SUPER,g,toggleglobal,
172 +
bind=ALT,Tab,toggleoverview,
173 +
bind=SUPER,f,togglefloating,
174 +
bind=ALT,a,togglemaximizescreen,
175 +
bind=ALT,f,togglefullscreen,
176 +
bind=ALT+SHIFT,f,togglefakefullscreen,
177 +
bind=SUPER,i,minimized,
178 +
bind=SUPER,o,toggleoverlay,
179 +
bind=SUPER+SHIFT,I,restore_minimized
180 +
bind=SUPER,p,toggle_scratchpad
181 +
182 +
# scroller layout
183 +
bind=ALT,e,set_proportion,1.0
184 +
bind=ALT,x,switch_proportion_preset,
185 +
186 +
# switch layout
187 +
bind=SUPER,n,switch_layout
188 +
bind=SUPER,t,setlayout,tile
189 +
bind=SUPER+SHIFT,t,setlayout,center_tile
190 +
191 +
# tag switch
192 +
bind=SUPER,Left,viewtoleft,0
193 +
bind=CTRL,Left,viewtoleft_have_client,0
194 +
bind=SUPER,Right,viewtoright,0
195 +
bind=CTRL,Right,viewtoright_have_client,0
196 +
bind=CTRL+SUPER,Left,tagtoleft,0
197 +
bind=CTRL+SUPER,Right,tagtoright,0
198 +
199 +
bind=SUPER,1,view,1,0
200 +
bind=SUPER,2,view,2,0
201 +
bind=SUPER,3,view,3,0
202 +
bind=SUPER,4,view,4,0
203 +
bind=SUPER,5,view,5,0
204 +
bind=SUPER,6,view,6,0
205 +
bind=SUPER,7,view,7,0
206 +
bind=SUPER,8,view,8,0
207 +
bind=SUPER,9,view,9,0
208 +
209 +
# tag: move client to the tag and focus it
210 +
# tagsilent: move client to the tag and not focus it
211 +
# bind=Alt,1,tagsilent,1
212 +
bind=SUPER+SHIFT,1,tag,1,0
213 +
bind=SUPER+SHIFT,2,tag,2,0
214 +
bind=SUPER+SHIFT,3,tag,3,0
215 +
bind=SUPER+SHIFT,4,tag,4,0
216 +
bind=SUPER+SHIFT,5,tag,5,0
217 +
bind=SUPER+SHIFT,6,tag,6,0
218 +
bind=SUPER+SHIFT,7,tag,7,0
219 +
bind=SUPER+SHIFT,8,tag,8,0
220 +
bind=SUPER+SHIFT,9,tag,9,0
221 +
222 +
# monitor switch
223 +
bind=alt+shift,Left,focusmon,left
224 +
bind=alt+shift,Right,focusmon,right
225 +
bind=SUPER+Alt,Left,tagmon,left
226 +
bind=SUPER+Alt,Right,tagmon,right
227 +
228 +
# gaps
229 +
bind=ALT+SHIFT,X,incgaps,1
230 +
bind=ALT+SHIFT,Z,incgaps,-1
231 +
bind=ALT+SHIFT,R,togglegaps
232 +
233 +
# movewin
234 +
bind=CTRL+SHIFT,Up,movewin,+0,-50
235 +
bind=CTRL+SHIFT,Down,movewin,+0,+50
236 +
bind=CTRL+SHIFT,Left,movewin,-50,+0
237 +
bind=CTRL+SHIFT,Right,movewin,+50,+0
238 +
239 +
# resizewin
240 +
bind=CTRL+ALT,Up,resizewin,+0,-50
241 +
bind=CTRL+ALT,Down,resizewin,+0,+50
242 +
bind=CTRL+ALT,Left,resizewin,-50,+0
243 +
bind=CTRL+ALT,Right,resizewin,+50,+0
244 +
245 +
# Mouse Button Bindings
246 +
# NONE mode key only work in ov mode
247 +
mousebind=SUPER,btn_left,moveresize,curmove
248 +
mousebind=NONE,btn_middle,togglemaximizescreen,0
249 +
mousebind=SUPER,btn_right,moveresize,curresize
250 +
mousebind=NONE,btn_left,toggleoverview,1
251 +
mousebind=NONE,btn_right,killclient,0
252 +
253 +
# Axis Bindings
254 +
axisbind=SUPER,UP,viewtoleft_have_client
255 +
axisbind=SUPER,DOWN,viewtoright_have_client
256 +
257 +
258 +
# layer rule
259 +
layerrule=animation_type_open:zoom,layer_name:rofi
260 +
layerrule=animation_type_close:zoom,layer_name:rofi
mango/config.jsonc (added) +80 −0
1 +
// -*- mode: jsonc -*-
2 +
{
3 +
    "layer": "top", 
4 +
    "position": "top", 
5 +
    "height": 30, 
6 +
    "spacing": 4, 
7 +
8 +
    // Choose the order of the modules
9 +
    "modules-left": [
10 +
        "ext/workspaces",
11 +
        "custom/sep",
12 +
        "dwl/window",
13 +
        "custom/sep"
14 +
    ],
15 +
    "modules-center": [
16 +
    ],
17 +
18 +
    "modules-right": [
19 +
        "custom/sep",
20 +
        "cpu",
21 +
        "custom/sep",
22 +
        "memory",
23 +
        "custom/sep",
24 +
        "disk",
25 +
        "custom/sep",
26 +
        "clock",
27 +
        "custom/sep",
28 +
        "tray"
29 +
    ],
30 +
31 +
    // Modules configuration
32 +
    "ext/workspaces": {
33 +
        "format": "{icon}",
34 +
        "ignore-hidden": false,
35 +
        "on-click": "activate",
36 +
        "sort-by-id": true
37 +
    },
38 +
    "dwl/window" : {
39 +
        "format": "[{layout}]{title}"
40 +
    },
41 +
    "tray": {
42 +
        // "icon-size": 21,
43 +
        "spacing": 10
44 +
        // "icons": {
45 +
        //   "blueman": "bluetooth",
46 +
        //   "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
47 +
        // }
48 +
    },
49 +
    "clock": {
50 +
        "format-alt": "{:%Y-%m-%d}"
51 +
    },
52 +
    "cpu": {
53 +
        "format": "CPU: {usage}%",
54 +
        "tooltip": false
55 +
    },
56 +
    "memory": {
57 +
        "format": "Mem: {used}GiB"
58 +
    },
59 +
    "disk": {
60 +
        "interval": 60,
61 +
        "path": "/",
62 +
        "format": "Disk: {free}"
63 +
    },
64 +
    "battery": {
65 +
        "states": {
66 +
            "good": 95,
67 +
            "warning": 30,
68 +
            "critical": 15
69 +
        },
70 +
        "format": "Bat: {capacity}% {icon} {time}",
71 +
        "format-plugged": "{capacity}% ",
72 +
        "format-alt": "Bat {capacity}%",
73 +
        "format-time": "{H}:{M}",
74 +
        "format-icons": ["", "", "", "", ""]
75 +
    },
76 +
    "custom/sep": {
77 +
        "format" : "|",
78 +
        "interval" : 0
79 +
    }
80 +
}
mango/snip.sh (added) +2 −0
1 +
#!/bin/bash
2 +
grim -l 0 -g "$(slurp)" - | wl-copy
mango/style.css (added) +104 −0
1 +
@define-color bg    #121113;
2 +
@define-color fg    #ffffff;
3 +
@define-color blk   #121113;
4 +
@define-color red   #5f8787;
5 +
@define-color grn   #fbcb97;
6 +
@define-color ylw   #e78a53;
7 +
@define-color blu   #888888;
8 +
@define-color mag   #999999;
9 +
@define-color cyn   #aaaaaa;
10 +
@define-color brblk #333333;
11 +
@define-color white #c1c1c1; 
12 +
13 +
* {
14 +
    font-family: "BerkeleyMono Nerd Font", monospace;
15 +
    font-size: 16px;
16 +
    font-weight: bold;
17 +
}
18 +
19 +
window#waybar {
20 +
    background-color: @bg;
21 +
    color: @fg;
22 +
}
23 +
24 +
#workspaces button {
25 +
    padding: 0 6px;
26 +
    color: @cyn;
27 +
    background: transparent;
28 +
    border-bottom: 3px solid @bg;
29 +
}
30 +
#workspaces button.active {
31 +
    color: @cyn;
32 +
    border-bottom: 3px solid @mag;
33 +
}
34 +
#workspaces button.empty {
35 +
    color: @white;
36 +
}
37 +
#workspaces button.empty.active {
38 +
    color: @cyn;
39 +
    border-bottom: 3px solid @mag;
40 +
}
41 +
42 +
#workspaces button.urgent {
43 +
    background-color: @red;
44 +
}
45 +
46 +
button:hover {
47 +
    background: inherit;
48 +
    box-shadow: inset 0 -3px #ffffff;
49 +
}
50 +
51 +
#clock,
52 +
#custom-sep,
53 +
#battery,
54 +
#cpu,
55 +
#memory,
56 +
#disk,
57 +
#network,
58 +
#tray {
59 +
    padding: 0 8px;
60 +
    color: @white;
61 +
}
62 +
63 +
#custom-sep {
64 +
    color: @brblk;
65 +
}
66 +
67 +
#clock {
68 +
    color: @cyn;
69 +
    border-bottom: 4px solid @cyn;
70 +
}
71 +
72 +
#battery {
73 +
    color: @mag;
74 +
    border-bottom: 4px solid @mag;
75 +
}
76 +
77 +
#disk {
78 +
    color: @ylw;
79 +
    border-bottom: 4px solid @ylw;
80 +
}
81 +
82 +
#memory {
83 +
    color: @mag;
84 +
    border-bottom: 4px solid @mag;
85 +
}
86 +
87 +
#cpu {
88 +
    color: @grn;
89 +
    border-bottom: 4px solid @grn;
90 +
}
91 +
92 +
#network {
93 +
    color: @blu;
94 +
    border-bottom: 4px solid @blu;
95 +
}
96 +
97 +
#network.disconnected {
98 +
    background-color: @red;
99 +
}
100 +
101 +
#tray {
102 +
    background-color: #2980b9;
103 +
}
104 +