feat: add mango window manager config
This commit is contained in:
25
.config/mango/autostart.sh
Executable file
25
.config/mango/autostart.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
# obs
|
||||||
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots
|
||||||
|
|
||||||
|
# wallpaper
|
||||||
|
#swaybg -i ~/.config/mango/wallpaper/room.png &
|
||||||
|
|
||||||
|
# top bar
|
||||||
|
waybar -c ~/.config/mango/waybar/config.jsonc -s ~/.config/mango/waybar/style.css &
|
||||||
|
|
||||||
|
# keep clipboard content
|
||||||
|
wl-clip-persist --clipboard regular --reconnect-tries 0 &
|
||||||
|
|
||||||
|
# clipboard content manager
|
||||||
|
wl-paste --type text --watch cliphist store &
|
||||||
|
|
||||||
|
# shikane
|
||||||
|
systemctl --user start shikane
|
||||||
|
|
||||||
|
pipewire &
|
||||||
|
swaync &
|
||||||
|
dex -a &
|
||||||
278
.config/mango/config.conf
Normal file
278
.config/mango/config.conf
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
# More option see https://github.com/DreamMaoMao/mango/wiki/
|
||||||
|
|
||||||
|
# Window effect
|
||||||
|
blur=0
|
||||||
|
blur_layer=0
|
||||||
|
blur_optimized=1
|
||||||
|
blur_params_num_passes = 2
|
||||||
|
blur_params_radius = 5
|
||||||
|
blur_params_noise = 0.02
|
||||||
|
blur_params_brightness = 0.9
|
||||||
|
blur_params_contrast = 0.9
|
||||||
|
blur_params_saturation = 1.2
|
||||||
|
|
||||||
|
shadows = 0
|
||||||
|
layer_shadows = 0
|
||||||
|
shadow_only_floating = 1
|
||||||
|
shadows_size = 10
|
||||||
|
shadows_blur = 15
|
||||||
|
shadows_position_x = 0
|
||||||
|
shadows_position_y = 0
|
||||||
|
shadowscolor= 0x000000ff
|
||||||
|
|
||||||
|
border_radius=6
|
||||||
|
no_radius_when_single=0
|
||||||
|
focused_opacity=1.0
|
||||||
|
unfocused_opacity=1.0
|
||||||
|
|
||||||
|
# Animation Configuration(support type:zoom,slide)
|
||||||
|
# tag_animation_direction: 0-horizontal,1-vertical
|
||||||
|
animations=1
|
||||||
|
layer_animations=1
|
||||||
|
animation_type_open=slide
|
||||||
|
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_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
|
||||||
|
|
||||||
|
# Scroller Layout Setting
|
||||||
|
scroller_structs=20
|
||||||
|
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
|
||||||
|
new_is_master=1
|
||||||
|
default_mfact=0.55
|
||||||
|
default_nmaster=1
|
||||||
|
smartgaps=0
|
||||||
|
|
||||||
|
# Overview Setting
|
||||||
|
hotarea_size=10
|
||||||
|
enable_hotarea=1
|
||||||
|
ov_tab_mode=0
|
||||||
|
overviewgappi=5
|
||||||
|
overviewgappo=30
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
no_border_when_single=0
|
||||||
|
axis_bind_apply_timeout=100
|
||||||
|
focus_on_activate=1
|
||||||
|
inhibit_regardless_of_visibility=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
|
||||||
|
repeat_rate=25
|
||||||
|
repeat_delay=600
|
||||||
|
numlockon=1
|
||||||
|
xkb_rules_layout=us
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# need relogin to make it apply
|
||||||
|
mouse_natural_scrolling=0
|
||||||
|
|
||||||
|
# Appearance
|
||||||
|
gappih=5
|
||||||
|
gappiv=5
|
||||||
|
gappoh=10
|
||||||
|
gappov=10
|
||||||
|
scratchpad_width_ratio=0.8
|
||||||
|
scratchpad_height_ratio=0.9
|
||||||
|
borderpx=4
|
||||||
|
rootcolor=0x201b14ff
|
||||||
|
bordercolor=0x444444ff
|
||||||
|
focuscolor=0xc9b890ff
|
||||||
|
maxmizescreencolor=0x89aa61ff
|
||||||
|
urgentcolor=0xad401fff
|
||||||
|
scratchpadcolor=0x516c93ff
|
||||||
|
globalcolor=0xb153a7ff
|
||||||
|
overlaycolor=0x14a57cff
|
||||||
|
|
||||||
|
# layout support:
|
||||||
|
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
|
||||||
|
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
|
||||||
|
|
||||||
|
# Key Bindings
|
||||||
|
# key name refer to `xev` or `wev` command output,
|
||||||
|
# mod keys name: super,ctrl,alt,shift,none
|
||||||
|
|
||||||
|
# reload config
|
||||||
|
bind=SUPER,r,reload_config
|
||||||
|
|
||||||
|
# menu and terminal
|
||||||
|
bind=SUPER,d,spawn,wofi --show drun
|
||||||
|
bind=SUPER,Return,spawn,kitty
|
||||||
|
|
||||||
|
# exit
|
||||||
|
bind=SUPER+SHIFT,m,quit
|
||||||
|
bind=SUPER+SHIFT,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
|
||||||
|
|
||||||
|
bind=SUPER,j,focusstack,next
|
||||||
|
bind=SUPER,k,focusstack,prev
|
||||||
|
bind=SUPER,h,focusdir,left
|
||||||
|
bind=SUPER,l,focusdir,right
|
||||||
|
|
||||||
|
# swap window
|
||||||
|
bind=SUPER+SHIFT,k,exchange_client,up
|
||||||
|
bind=SUPER+SHIFT,j,exchange_client,down
|
||||||
|
bind=SUPER+SHIFT,h,exchange_client,left
|
||||||
|
bind=SUPER+SHIFT,l,exchange_client,right
|
||||||
|
|
||||||
|
# switch window status
|
||||||
|
bind=SUPER,g,toggleglobal,
|
||||||
|
#bind=ALT,Tab,toggleoverview,
|
||||||
|
bind=SUPER,backslash,togglefloating,
|
||||||
|
#bind=ALT,a,togglemaxmizescreen,
|
||||||
|
bind=SUPER,f,togglefullscreen,
|
||||||
|
#bind=ALT+SHIFT,f,togglefakefullscreen,
|
||||||
|
#
|
||||||
|
# Go through all the bookmarks
|
||||||
|
bind=SUPER,i,toggle_scratchpad,
|
||||||
|
bind=SUPER+SHIFT,I,minimized,
|
||||||
|
#bind=SUPER,o,toggleoverlay,
|
||||||
|
#bind=SUPER+SHIFT,I,restore_minimized
|
||||||
|
|
||||||
|
# scroller layout
|
||||||
|
bind=ALT,e,set_proportion,1.0
|
||||||
|
bind=ALT,x,switch_proportion_preset,
|
||||||
|
|
||||||
|
# switch layout
|
||||||
|
bind=SUPER,n,switch_layout
|
||||||
|
|
||||||
|
# Layouts
|
||||||
|
bind=SUPER,t,setlayout,tile
|
||||||
|
bind=SUPER,v,setlayout,vertical_grid
|
||||||
|
bind=SUPER,c,setlayout,spiral
|
||||||
|
bind=SUPER,x,setlayout,scroller
|
||||||
|
bind=SUPER,a,togglegaps
|
||||||
|
|
||||||
|
# tag switch
|
||||||
|
bind=SUPER,1,view,1,0
|
||||||
|
bind=SUPER,2,view,2,0
|
||||||
|
bind=SUPER,3,view,3,0
|
||||||
|
bind=SUPER,4,view,4,0
|
||||||
|
bind=SUPER,5,view,5,0
|
||||||
|
bind=SUPER,6,view,6,0
|
||||||
|
bind=SUPER,7,view,7,0
|
||||||
|
bind=SUPER,8,view,8,0
|
||||||
|
bind=SUPER,9,view,9,0
|
||||||
|
bind=SUPER,0,view,0,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=SUPER+SHIFT,1,tagsilent,1,0
|
||||||
|
bind=SUPER+SHIFT,2,tagsilent,2,0
|
||||||
|
bind=SUPER+SHIFT,3,tagsilent,3,0
|
||||||
|
bind=SUPER+SHIFT,4,tagsilent,4,0
|
||||||
|
bind=SUPER+SHIFT,5,tagsilent,5,0
|
||||||
|
bind=SUPER+SHIFT,6,tagsilent,6,0
|
||||||
|
bind=SUPER+SHIFT,7,tagsilent,7,0
|
||||||
|
bind=SUPER+SHIFT,8,tagsilent,8,0
|
||||||
|
bind=SUPER+SHIFT,9,tagsilent,9,0
|
||||||
|
bind=SUPER+SHIFT,0,tagsilent,0,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
|
||||||
|
|
||||||
|
# Mouse Button Bindings
|
||||||
|
# NONE mode key only work in ov mode
|
||||||
|
mousebind=SUPER,btn_left,moveresize,curmove
|
||||||
|
mousebind=SUPER,btn_right,moveresize,curresize
|
||||||
|
#mousebind=NONE,btn_middle,togglemaxmizescreen,0
|
||||||
|
#mousebind=NONE,btn_left,toggleoverview,-1
|
||||||
|
#mousebind=NONE,btn_right,killclient,0
|
||||||
|
|
||||||
|
# Axis Bindings
|
||||||
|
#axisbind=SUPER,UP,viewtoleft_have_client
|
||||||
|
#axisbind=SUPER,DOWN,viewtoright_have_client
|
||||||
|
|
||||||
|
|
||||||
|
# layer rule
|
||||||
|
layerrule=animation_type_open:zoom,layer_name:wofi
|
||||||
|
layerrule=animation_type_close:zoom,layer_name:wofi
|
||||||
|
|
||||||
|
|
||||||
|
# Volume control
|
||||||
|
bind=none,XF86AudioRaiseVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks;,
|
||||||
|
bind=none,XF86AudioLowerVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks;,
|
||||||
|
bind=none,XF86AudioMute,spawn_shell,pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks;,
|
||||||
|
bind=none,XF86AudioMicMute,spwan_shell,pactl set-source-mute @DEFAULT_SOURCE@ toggle;,
|
||||||
|
|
||||||
|
# Brightness Control
|
||||||
|
bind=none,XF86MonBrightnessDown,spawn_shell,brightnessctl set 2%-
|
||||||
|
bind=none,XF86MonBrightnessUp,spawn_shell,brightnessctl set 2%+
|
||||||
|
bind=SUPER+SHIFT,p, spawn_shell, slurp | grim -g - - | tee ~/Pictures/$(date +%F-%s).png | wl-copy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
251
.config/mango/waybar/config.jsonc
Normal file
251
.config/mango/waybar/config.jsonc
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
// -*- mode: jsonc -*-
|
||||||
|
{
|
||||||
|
// "layer": "top", // Waybar at top layer
|
||||||
|
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||||
|
//"height": 10, // Waybar height (to be removed for auto height)
|
||||||
|
// "width": 1280, // Waybar width
|
||||||
|
"spacing": 6, // Gaps between modules (4px)
|
||||||
|
// Choose the order of the modules
|
||||||
|
"modules-left": [
|
||||||
|
"ext/workspaces",
|
||||||
|
"dwl/window",
|
||||||
|
"sway/mode",
|
||||||
|
"sway/scratchpad",
|
||||||
|
"custom/media"
|
||||||
|
],
|
||||||
|
//"modules-center": [
|
||||||
|
//"sway/window"
|
||||||
|
//],
|
||||||
|
"modules-right": [
|
||||||
|
"mpd",
|
||||||
|
"custom/audio_idle_inhibitor",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
//"power-profiles-daemon",
|
||||||
|
//"cpu",
|
||||||
|
//"memory",
|
||||||
|
//"temperature",
|
||||||
|
//"backlight",
|
||||||
|
//"keyboard-state",
|
||||||
|
//"sway/language",
|
||||||
|
"battery",
|
||||||
|
//"battery#bat2",
|
||||||
|
"clock",
|
||||||
|
"tray"
|
||||||
|
//"custom/power"
|
||||||
|
],
|
||||||
|
"ext/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"ignore-hidden": true,
|
||||||
|
"on-click": "activate",
|
||||||
|
"on-click-right": "deactivate",
|
||||||
|
"sort-by-id": true,
|
||||||
|
},
|
||||||
|
"dwl/tags": {
|
||||||
|
"num-tags":9,
|
||||||
|
},
|
||||||
|
"dwl/window": {
|
||||||
|
//"format": "[{layout}]{title}"
|
||||||
|
"format": "[{layout}]"
|
||||||
|
},
|
||||||
|
// Modules configuration
|
||||||
|
// "sway/workspaces": {
|
||||||
|
// "disable-scroll": true,
|
||||||
|
// "all-outputs": true,
|
||||||
|
// "warp-on-scroll": false,
|
||||||
|
// "format": "{name}: {icon}",
|
||||||
|
// "format-icons": {
|
||||||
|
// "1": "",
|
||||||
|
// "2": "",
|
||||||
|
// "3": "",
|
||||||
|
// "4": "",
|
||||||
|
// "5": "",
|
||||||
|
// "urgent": "",
|
||||||
|
// "focused": "",
|
||||||
|
// "default": ""
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
"keyboard-state": {
|
||||||
|
"numlock": true,
|
||||||
|
"capslock": true,
|
||||||
|
"format": "{name} {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"locked": "",
|
||||||
|
"unlocked": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sway/mode": {
|
||||||
|
"format": "<span style=\"italic\">{}</span>"
|
||||||
|
},
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"mpd": {
|
||||||
|
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title} ⸨{songPosition}|{queueLength}⸩% ",
|
||||||
|
"format-alt": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ",
|
||||||
|
"format-disconnected": "Disconnected ",
|
||||||
|
//"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||||
|
"format-stopped": "",
|
||||||
|
//"unknown-tag": "N/A",
|
||||||
|
"unknown-tag": "",
|
||||||
|
"interval": 5,
|
||||||
|
"consume-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"random-icons": {
|
||||||
|
"off": "<span color=\"#f53c3c\"></span> ",
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"repeat-icons": {
|
||||||
|
"on": " "
|
||||||
|
},
|
||||||
|
"single-icons": {
|
||||||
|
"on": "1 "
|
||||||
|
},
|
||||||
|
"state-icons": {
|
||||||
|
"paused": "",
|
||||||
|
"playing": ""
|
||||||
|
},
|
||||||
|
"tooltip-format": "MPD (connected)",
|
||||||
|
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
// "icon-size": 21,
|
||||||
|
"spacing": 10,
|
||||||
|
// "icons": {
|
||||||
|
// "blueman": "bluetooth",
|
||||||
|
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
//"timezone": "America/Los_Angeles",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "{:%r %Y-%m-%d}",
|
||||||
|
//"format": "{:%R %p %Y-%m-%d}",
|
||||||
|
//"format-alt": "{:%Y-%m-%d}"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "{usage}% ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "{}% "
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
// "thermal-zone": 2,
|
||||||
|
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
// "format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format": "{temperatureC}°C {icon}",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{time} {capacity}% {icon}",
|
||||||
|
"format-full": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% C",
|
||||||
|
"format-plugged": "{capacity}% P",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"power-profiles-daemon": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||||
|
"tooltip": true,
|
||||||
|
"format-icons": {
|
||||||
|
"default": "",
|
||||||
|
"performance": "",
|
||||||
|
"balanced": "",
|
||||||
|
"power-saver": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"custom/media": {
|
||||||
|
"format": "{icon} {text}",
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 40,
|
||||||
|
"format-icons": {
|
||||||
|
"spotify": "",
|
||||||
|
"default": "🎜"
|
||||||
|
},
|
||||||
|
"escape": true,
|
||||||
|
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||||
|
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format" : "⏻ ",
|
||||||
|
"tooltip": false,
|
||||||
|
"menu": "on-click",
|
||||||
|
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
|
||||||
|
"menu-actions": {
|
||||||
|
"shutdown": "shutdown",
|
||||||
|
"reboot": "reboot",
|
||||||
|
"suspend": "systemctl suspend",
|
||||||
|
"hibernate": "systemctl hibernate"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom/audio_idle_inhibitor": {
|
||||||
|
"format": "{icon} ",
|
||||||
|
"exec": "sway-audio-idle-inhibit --dry-print-both-waybar",
|
||||||
|
"exec-if": "which sway-audio-idle-inhibit",
|
||||||
|
"return-type": "json",
|
||||||
|
"format-icons": {
|
||||||
|
"output": "",
|
||||||
|
"input": "",
|
||||||
|
"output-input": " ",
|
||||||
|
"none": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
405
.config/mango/waybar/style.css
Normal file
405
.config/mango/waybar/style.css
Normal file
@@ -0,0 +1,405 @@
|
|||||||
|
* {
|
||||||
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
|
/*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
|
||||||
|
font-family: "JetBrainsMono NF";
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
/*background-color: rgba(43, 48, 59, 0.5);
|
||||||
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
||||||
|
background-color: rgba(0, 0, 0, 1);
|
||||||
|
color: #ffffff;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.empty {
|
||||||
|
/*background-color: transparent;*/
|
||||||
|
}
|
||||||
|
window#waybar.solo {
|
||||||
|
/*background-color: #FFFFFF;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.termite {
|
||||||
|
background-color: #3F3F3F;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
/* Avoid rounded borders under each button name */
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* you can set a style on hover for any module like this */
|
||||||
|
#pulseaudio:hover {
|
||||||
|
/*background-color: #a37800;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: #64727D;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: #64727D;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mode,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#power-profiles-daemon,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
/* background-color: #64727D;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
/*background-color: #ffffff;
|
||||||
|
color: #000000;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
/*color: #ffffff;
|
||||||
|
background-color: #26A65B;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: steps(12);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon {
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.performance {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.balanced {
|
||||||
|
background-color: #2980b9;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.power-saver {
|
||||||
|
background-color: #2ecc71;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
background-color: #2ecc71;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
background-color: #9b59b6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
background-color: #964B00;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
/*background-color: #2980b9;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
/*background-color: #f53c3c;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
/*background-color: #f1c40f;*/
|
||||||
|
/*color: #000000;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
/*background-color: #90b1b1;*/
|
||||||
|
/*color: #2a5c45;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber {
|
||||||
|
background-color: #fff0f5;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber.muted {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
background-color: #f0932b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
/*background-color: #2980b9;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #ecf0f1;
|
||||||
|
color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.stopped {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.paused {
|
||||||
|
background-color: #51a37a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background: #00b093;
|
||||||
|
color: #740864;
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
background: #97e1ad;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item {
|
||||||
|
padding: 0 5px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.screenshare {
|
||||||
|
background-color: #cf5700;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.audio-in {
|
||||||
|
background-color: #1ca000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.audio-out {
|
||||||
|
background-color: #0069d4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*MANGO WORKSPACES */
|
||||||
|
#workspaces {
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #c9b890;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
color: #ddca9e;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.hidden {
|
||||||
|
color: #9e906f;
|
||||||
|
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.visible {
|
||||||
|
color: #ddca9e;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: #d79921;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
background-color: #ddca9e;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #ef5e5e;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags button {
|
||||||
|
color: #a585cd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags button:not(.occupied):not(.focused) {
|
||||||
|
font-size: 0;
|
||||||
|
min-width: 0;
|
||||||
|
min-height: 0;
|
||||||
|
margin: -17px;
|
||||||
|
padding: 0;
|
||||||
|
color: transparent;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags button.occupied {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #cdc885;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags button.focused {
|
||||||
|
background-color: rgb(186, 142, 213);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tags button.urgent {
|
||||||
|
background: rgb(171, 101, 101);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
#window {
|
||||||
|
background-color: rgb(237, 196, 147);
|
||||||
|
color: rgb(63, 37, 5);
|
||||||
|
}
|
||||||
|
*/
|
||||||
@@ -4,7 +4,7 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
require("nvim-treesitter.configs").setup {
|
require("nvim-treesitter.configs").setup {
|
||||||
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
||||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make", "markdown"},
|
ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" },
|
||||||
|
|
||||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||||
sync_install = false,
|
sync_install = false,
|
||||||
@@ -14,7 +14,7 @@ return {
|
|||||||
auto_install = true,
|
auto_install = true,
|
||||||
|
|
||||||
-- List of parsers to ignore installing (for "all")
|
-- List of parsers to ignore installing (for "all")
|
||||||
-- ignore_install = { "javascript" },
|
ignore_install = { "javascript" },
|
||||||
|
|
||||||
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
||||||
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
||||||
@@ -40,8 +40,7 @@ return {
|
|||||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||||
-- Instead of true it can also be a list of languages
|
-- Instead of true it can also be a list of languages
|
||||||
-- additional_vim_regex_highlighting = false,
|
additional_vim_regex_highlighting = false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end }
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user