initial commit

This commit is contained in:
daniel fusser
2026-06-21 15:35:58 +02:00
committed by dafu
parent ce5bbf3916
commit 49462fb909
49 changed files with 2269 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
set +e
# obs
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots >/dev/null 2>&1
# some env can't auto run the portal, so need this
/usr/lib/xdg-desktop-portal-wlr >/dev/null 2>&1 &
# xwayland dpi scale
# echo "Xft.dpi: 140" | xrdb -merge #dpi缩放
# xrdb merge ~/.Xresources >/dev/null 2>&1
# dms shell
# dms run >/dev/null 2>&1 &
# ime input
# fcitx5 --replace -d >/dev/null 2>&1 &
# keep clipboard content
wl-clip-persist --clipboard regular --reconnect-tries 0 >/dev/null 2>&1 &
# clipboard content manager
wl-paste --type text --watch cliphist store >/dev/null 2>&1 &
swaybg -m full -i ~/Downloads/brandon-siu-nI7knd5sQfo-unsplash.jpg &
# inhibit by audio
# sway-audio-idle-inhibit >/dev/null 2>&1 &
mako &
# Start network and bluetooth tray applets
nm-applet --indicator &
blueman-applet &
# Start waybar
~/.config/waybar/waybar.sh &
+174
View File
@@ -0,0 +1,174 @@
# reload config
bind=SUPER,r,spawn_shell,bash ~/.config/mango/scripts/config_check.sh
bind=SUPER,r,reload_config
bind=SHIFT+SUPER,e,quit
bind=ALT,q,killclient,
# menu and terminal
bind=Alt,Return,spawn,foot
# bind=Alt,space,spawn,dms ipc call spotlight toggle
# bind=Alt,b,spawn,dms ipc call bar toggle index 0
bind=Alt,b,spawn,kill -SIGUSR1 $(pidof waybar)
bind=Alt,p,spawn,~/.local/bin/sh/dmenu_run
# switch window focus
bind=Alt,Tab,focusstack,next
bind=SUPER,u,focuslast
# 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
# 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
# switch window status
bind=SUPER,g,toggleglobal,
bind=SUPER,Tab,toggleoverview,
bind=ALT,s,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,
# tile layout
bind=SUPER,e,incnmaster,1
bind=SUPER,t,incnmaster,-1
bind=ALT+SHIFT,s,zoom,
# switch layout
bind=CTRL+SUPER,i,setlayout,tile
bind=CTRL+SUPER,l,setlayout,scroller
bind=SUPER,n,switch_layout
# tag switch
bind=SUPER,Left,viewtoleft_have_client,0
# bind=SUPER,Left,viewtoleft,0
# bind=CTRL,Left,viewtoleft_have_client,0
bind=SUPER,Right,viewtoright_have_client,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,Right,tagtoright,0
bind=Alt,1,view,1,0
bind=Alt,2,view,2,0
bind=Alt,3,view,3,0
bind=Alt,4,view,4,0
bind=Alt,5,view,5,0
bind=Alt,6,view,6,0
bind=Alt,7,view,7,0
bind=Alt,8,view,8,0
bind=Alt,9,view,9,0
bind=Alt+Shift,1,tag,1,0
bind=Alt+Shift,2,tag,2,0
bind=Alt+Shift,3,tag,3,0
bind=Alt+Shift,4,tag,4,0
bind=Alt+Shift,5,tag,5,0
bind=Alt+Shift,6,tag,6,0
bind=Alt+Shift,7,tag,7,0
bind=Alt+Shift,8,tag,8,0
bind=Alt+Shift,9,tag,9,0
bind=ctrl+Super,1,toggletag,1
bind=ctrl+Super,2,toggletag,2
bind=ctrl+Super,3,toggletag,3
bind=ctrl+Super,4,toggletag,4
bind=ctrl+Super,5,toggletag,5
bind=ctrl+Super,6,toggletag,6
bind=ctrl+Super,7,toggletag,7
bind=ctrl+Super,8,toggletag,8
bind=ctrl+Super,9,toggletag,9
bind=Super,1,toggleview,1
bind=Super,2,toggleview,2
bind=Super,3,toggleview,3
bind=Super,4,toggleview,4
bind=Super,5,toggleview,5
bind=Super,6,toggleview,6
bind=Super,7,toggleview,7
bind=Super,8,toggleview,8
bind=Super,9,toggleview,9
# monitor switch
bind=alt+shift,Left,focusmon,left
bind=SUPER+Alt,Left,tagmon,left
# gaps
bind=ALT+SHIFT,X,incgaps,1
bind=ALT+SHIFT,Z,incgaps,-1
bind=ALT+SHIFT,R,togglegaps
# Mouse Button Bindings
mousebind=ALT,btn_left,moveresize,curmove
mousebind=ALT,btn_right,moveresize,curresize
mousebind=alt,btn_middle,set_proportion,0.5
# mousebind=SUPER+CTRL,btn_left,minimized
# mousebind=SUPER+CTRL,btn_right,killclient
# mousebind=SUPER+CTRL,btn_middle,togglefullscreen
# mousebind=SUPER,btn_middle,togglemaximizescreen,0
# Axis Bindings
# axisbind=SUPER,UP,viewtoleft_have_client
# axisbind=SUPER,DOWN,viewtoright_have_client
# axisbind=alt,UP,focusdir,left
# axisbind=alt,DOWN,focusdir,right
# axisbind=shift+super,UP,exchange_client,left
# axisbind=shift+super,DOWN,exchange_client,right
# Gesturebind
# 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,1
# gesturebind=none,down,4,toggleoverview,1
# brightness and volume
bind=CTRL,comma,spawn,dms ipc call brightness decrement 2 ""
bind=CTRL,period,spawn,dms ipc call brightness increment 2 ""
bind=ALT,comma,spawn,dms ipc call audio decrement 3
bind=ALT,period,spawn,dms ipc call audio increment 3
bind=none,XF86AudioRaiseVolume,spawn,dms ipc call audio increment 3
bind=none,XF86AudioLowerVolume,spawn,dms ipc call audio decrement 3
bind=none,XF86MonBrightnessUp,spawn,dms ipc call brightness increment 1
bind=none,XF86MonBrightnessDown,spawn,dms ipc call brightness decrement 1
#custom app bind
bind=SUPER,Return,spawn,google-chrome
bind=CTRL+ALT,a,spawn_shell,grim -g "$(slurp -b '#2E2A1E55' -c '#fb751bff')" -t ppm - | satty -f -
bind=SUPER,h,spawn,bash ~/.config/mango/scripts/hide_waybar_mango.sh
bind=SUPER,l,spawn,dms ipc call lock lock
+148
View File
@@ -0,0 +1,148 @@
# https://github.com/strcat/dotfiles/blob/main/.config/mango/config.conf
# Effect
blur=0
blur_layer=1
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 = 1
shadow_only_floating=1
shadows_size = 12
shadows_blur = 15
shadows_position_x = 0
shadows_position_y = 0
shadowscolor= 0x000000ff
border_radius=0
no_radius_when_single=0
focused_opacity=1.0
unfocused_opacity=1.0
# unfocused_opacity=0.85
# Animation Configuration
animations=0
layer_animations=0
animation_type_open=fade
animation_type_close=fade
layer_animation_type_open=fade
layer_animation_type_close=fade
animation_fade_in=1
animation_fade_out=1
tag_animation_direction=1
zoom_initial_ratio=0.3
zoom_end_ratio=0.7
fadein_begin_opacity=0.6
fadeout_begin_opacity=0.8
animation_duration_move=500
animation_duration_open=400
animation_duration_tag=350
animation_duration_close=800
animation_duration_focus=400
animation_curve_open=0.46,1.0,0.29,1.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.58,0.98,0.58,0.98
animation_curve_opafadein=0.46,1.0,0.29,1
# Scroller Layout Setting
scroller_structs=20
scroller_default_proportion=0.8
scroller_focus_center=0
scroller_prefer_center=1
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
smartgaps=0
default_mfact=0.55
default_nmaster=1
# Overview Setting
hotarea_size=10
enable_hotarea=0
ov_tab_mode=1
overviewgappi=5
overviewgappo=30
# Misc
xwayland_persistence=1
syncobj_enable=0
# VRR is global: set adaptive_sync=1 in config.conf
no_border_when_single=1
axis_bind_apply_timeout=100
focus_on_activate=1
sloppyfocus=1
warpcursor=1
focus_cross_monitor=0
focus_cross_tag=0
circle_layout=tile,monocle,grid,tgmix
enable_floating_snap=1
snap_distance=50
# cursor_size=24
# cursor_theme=Bibata-Modern-Ice
cursor_hide_timeout=0
drag_tile_to_tile=1
single_scratchpad = 1
# keyboard
repeat_rate=25
repeat_delay=600
numlockon=1
xkb_rules_layout=de,de
# xkb_rules_options=ctrl:nocaps
# xkb_rules_options=grp:alt_altgr_toggle,caps:hyper
# Trackpad
disable_trackpad=0
tap_to_click=1
tap_and_drag=1
drag_lock=1
mouse_natural_scrolling=0
trackpad_natural_scrolling=0
disable_while_typing=1
left_handed=0
middle_button_emulation=0
swipe_min_threshold=1
#accel_profile=2
#accel_speed=0.0
# scroll_button=274
# scroll_method=1
# Appearance
gappih=0
gappiv=0
gappoh=0
gappov=0
scratchpad_width_ratio=0.8
scratchpad_height_ratio=0.9
borderpx=1
rootcolor=0x201b14ff
bordercolor=0x444444ff
focuscolor=0xc9b890ff
maximizescreencolor=0xDA7510ff
urgentcolor=0xad401fff
scratchpadcolor=0xc4939dff
globalcolor=0x8d64cfff
overlaycolor=0x89aa61ff
# sub config load
source=./env.conf
source=./bind.conf
source=./rule.conf
# source=./monitor.conf
source=./tag.conf
exec-once=~/.config/mango/autostart.sh
# source=./dms/outputs.conf
source=./monitor.conf
source=./dms/colors.conf
+7
View File
@@ -0,0 +1,7 @@
# ! Auto-generated file. Do not edit directly.
# Remove source = ./dms/colors.conf from your config to override.
bordercolor = 0x00000080
focuscolor = 0x30344680
# focuscolor = 0xbfc2ff80
urgentcolor = 0xffb4abff
+7
View File
@@ -0,0 +1,7 @@
# Auto-generated by DMS - do not edit manually
border_radius=4
gappih=4
gappiv=4
gappoh=4
gappov=4
borderpx=2
+5
View File
@@ -0,0 +1,5 @@
# Auto-generated by DMS - do not edit manually
# VRR is global: set adaptive_sync=1 in config.conf
monitorrule=eDP-1,0.55,1,tile,0,1,0,2160,1920,1080,60
monitorrule=DP-2,0.55,1,tile,0,1,0,0,3840,2160,60
+11
View File
@@ -0,0 +1,11 @@
# env=XCURSOR_SIZE,24
# env=XCURSOR_THEME,Bibata-Modern-Ice
# env=GTK_IM_MODULE,fcitx
# env=QT_IM_MODULE,fcitx
# env=SDL_IM_MODULE,fcitx
# env=XMODIFIERS,@im=fcitx
# env=GLFW_IM_MODULE,ibus
# env=QT_QPA_PLATFORMTHEME,qt6ct
# env=QT_AUTO_SCREEN_SCALE_FACTOR,1
# # env=QT_WAYLAND_FORCE_DPI,140
# env=QT_QPA_PLATFORM,Wayland;xcb
+285
View File
@@ -0,0 +1,285 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
# title=foot
# locked-title=no
font=Maple Mono NF CN:size=20:style=Medium:antialias=true:autohint=true
# font=monospace:size=8
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# font-size-adjustment=0.5
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# underline-thickness=<font underline thickness>
# strikeout-thickness=<font strikeout thickness>
# box-drawings-uses-font-glyphs=no
# dpi-aware=no
initial-window-size-pixels=1500x900
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=0x0 # optionally append 'center'
# resize-by-cells=yes
# resize-keep-grid=yes
# resize-delay-ms=100
# bold-text-in-bright=no
# word-delimiters=,│`|:"'()[]{}<>
selection-target=clipboard
# selection-target=primary
# workers=<number of logical CPUs>
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is libutempter (Linux)
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ulog (FreeBSD)
[environment]
# name=value
TIMG_PIXELATION=sixel
TERM=foot
[security]
# osc52=enabled # disabled|copy-enabled|paste-enabled|enabled
[bell]
# system=yes
# urgent=no
# notify=no
# visual=no
# command=
# command-focused=no
[desktop-notifications]
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
# command-action-argument=--action ${action-name}=${action-label}
# close=""
# inhibit-when-focused=yes
[scrollback]
lines=999999
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=""
[url]
launch=xdg-open ${url}
label-letters=jklsdfgheiunaowcmp
osc8-underline=url-mode
regex=(([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
# You can define your own regex's, by adding a section called
# 'regex:<ID>' with a 'regex' and 'launch' key. These can then be tied
# to a key-binding. See foot.ini(5) for details
# [regex:your-fancy-name]
# regex=<a POSIX-Extended Regular Expression>
# launch=<path to script or application> ${match}
#
# [key-bindings]
# regex-launch=[your-fancy-name] Control+Shift+q
# regex-copy=[your-fancy-name] Control+Alt+Shift+q
[regex:data]
regex=((([~]{0,1}(/[^/\0]+)+)/[^\^ ]+)|([a-fA-f0-9]{7,128})|(ghp_[0-9a-zA-Z]{36})|([0-9]{4,})|([0-9a-f]{7,40})|(core-[0-9A-Za-z]+-[0-9A-Za-z]+-[0-9A-Za-z]+)|(0x[0-9a-fA-F]+)|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|([A-f0-9:]+:+[A-f0-9:]+[A-f0-9]+)|([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})|([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
[key-bindings]
regex-copy=[data] Control+Shift+o
[cursor]
style=block
# color=<inverse foreground/background>
# blink=no
# blink-rate=500
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
hide-when-typing=no
# alternate-scroll-mode=yes
[touch]
# long-press-delay=400
[colors]
alpha=0.7
foreground=D1B88E
background=201b14
# flash=7f7f00
# flash-alpha=0.5
## Normal/regular colors (color palette 0-7)
regular0=262626 #gray
regular1=cc0000 #red
regular2=42B63F # green
regular3=DD9400 #yello
regular4=DD9400 #yello
regular5=bf78cf #purple
regular6=74cd45 #blue-green
regular7=D1B88E #yellow-white
## Bright colors (color palette 8-15)
bright0=a79e67 #gray-green
bright1=ef2929 # red
bright2=8ae234 #green
bright3=ead96b #yellow
bright4=729fcf #blue
bright5=ad7fa8 #pink
bright6=ead96b #yellow
bright7=eeeeec #light-yellow
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Sixel colors
# sixel0 = 000000
# sixel1 = 3333cc
# sixel2 = cc2121
# sixel3 = 33cc33
# sixel4 = cc33cc
# sixel5 = 33cccc
# sixel6 = cccc33
# sixel7 = 878787
# sixel8 = 424242
# sixel9 = 545499
# sixel10 = 994242
# sixel11 = 549954
# sixel12 = 995499
# sixel13 = 549999
# sixel14 = 999954
# sixel15 = cccccc
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3> # black-on-yellow
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
# search-box-no-match=<regular0> <regular1> # black-on-red
# search-box-match=<regular0> <regular3> # black-on-yellow
# urls=<regular3>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# hide-when-maximized=no
# double-click-to-maximize=yes
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# scrollback-home=none
# scrollback-end=none
# clipboard-copy=Control+Shift+c XF86Copy
# clipboard-paste=Control+Shift+v XF86Paste
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
show-urls-launch=Control+Shift+j
# show-urls-copy=none
# show-urls-persistent=none
# prompt-prev=Control+Shift+z
# prompt-next=Control+Shift+x
# unicode-input=Control+Shift+u
# noop=none
# quit=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return KP_Enter
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# delete-to-start=Control+u
# delete-to-end=Control+k
# extend-char=Shift+Right
# extend-to-word-boundary=Control+w Control+Shift+Right
# extend-to-next-whitespace=Control+Shift+w
# extend-line-down=Shift+Down
# extend-backward-char=Shift+Left
# extend-backward-to-word-boundary=Control+Shift+Left
# extend-backward-to-next-whitespace=none
# extend-line-up=Shift+Up
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
# primary-paste=Shift+Insert
# unicode-input=none
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# scrollback-home=none
# scrollback-end=none
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[text-bindings]
# \x03=Mod4+c # Map Super+c -> Ctrl+c
[mouse-bindings]
# scrollback-up-mouse=BTN_WHEEL_BACK
# scrollback-down-mouse=BTN_WHEEL_FORWARD
# font-increase=Control+BTN_WHEEL_BACK
# font-decrease=Control+BTN_WHEEL_FORWARD
# selection-override-modifiers=Shift
clipboard-paste=BTN_RIGHT
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
select-extend=BTN_LEFT-5 # select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-quote = BTN_LEFT-3
# select-row=BTN_LEFT-4
# vim: ft=dosini
+3
View File
@@ -0,0 +1,3 @@
# Monitor Rules
monitorrule=name:eDP-1,width:1920,height:1080,refresh:59.999001,x:0,y:2160,scale:1,vrr:0,rr:0
monitorrule=name:DP-,width:3840,height:2160,refresh:59.997002,x:0,y:0,scale:1,vrr:0,rr:0
+122
View File
@@ -0,0 +1,122 @@
# Window Rules
windowrule=isfullscreen:1,appid:org.remmina.Remmina
windowrule=tags:9,appid:org.remmina.Remmina
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:org.mozilla.firefox
# windowrule=force_maximize:1,appid:org.mozilla.firefox
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:chromium-browser
# windowrule=force_maximize:1,appid:chromium-browser
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:google-chrome-unstable
# windowrule=force_maximize:1,appid:google-chrome-unstable
#windowrule=force_maximize:1,appid:org.telegram.desktop
#windowrule=appid:org.telegram.desktop,tags:8,
windowrule=appid:org.telegram.desktop,istagsilent:1,isfloating:1,width:420,height:660,offsetx:95,offsety:-90,isnoborder:1,isglobal:1
windowrule=title:pi_mpv,isfloating:1,width:420,height:660,isnoborder:1
## notme
## windowrule=isfloating:1,appid:xdg-desktop-portal-gtk,title:打开本地仓库
## windowrule=isfloating:1,appid:xdg-desktop-portal-gtk,title:打开文件
##
## windowrule=isfloating:1,isnosizehint:1,title:迅雷
## windowrule=width:800,height:900,title:迅雷
##
## windowrule=isfloating:1,title:Translate
## windowrule=width:800,height:900,title:Translate
##
## windowrule=globalkeybinding:ctrl+alt-o,appid:com.obsproject.Studio
## windowrule=globalkeybinding:ctrl+alt-n,appid:com.obsproject.Studio
## # windowrule=isopensilent:1,appid:com.obsproject.Studio
##
## windowrule=noswallow:1,appid:flameshot
## windowrule=isfullscreen:1,appid:flameshot
## windowrule=animation_type_open:none,appid:flameshot
## windowrule=animation_type_close:none,appid:flameshot
## # windowrule=animation_type_close:none,appid:Sxiv
##
## windowrule=noswallow:1,title:Event Tester
##
## windowrule=isfloating:1,width:1500,height:900,appid:yesplaymusic
## windowrule=animation_type_open:slide,appid:yesplaymusic
## windowrule=animation_type_close:slide,appid:yesplaymusic
##
## windowrule=isfloating:1,appid:clash-verge
## windowrule=width:1500,height:900,appid:clash-verge
## windowrule=animation_type_open:slide,animation_type_close:slide,appid:clash-verge
##
## windowrule=isfloating:1,width:1500,height:900,appid:pot,title:Recognize
## windowrule=animation_type_open:none,animation_type_close:none,isnoshadow:1,isnoradius:1,isnoborder:1,appid:^wps$,title:^wps$
## windowrule=force_maximize:1,appid:^wpsoffice$
##
## windowrule=isfloating:1,appid:blueman-manager
## windowrule=width:1500,height:900,appid:blueman-manager
##
## windowrule=isfloating:1,title:图片查看器
## windowrule=isfloating:1,title:预览
## windowrule=isfloating:1,title:图片查看
## windowrule=isfloating:1,title:选择文件
## windowrule=isfloating:1,title:打开文件
## windowrule=isfloating:1,appid:python3,title:qxdrag
## windowrule=isfloating:1,title:rofi - Networks
##
## windowrule=animation_type_open:zoom,title:图片查看器
## windowrule=animation_type_open:zoom,title:图片查看
## windowrule=animation_type_open:zoom,title:选择文件
## windowrule=animation_type_open:zoom,title:打开文件
## windowrule=animation_type_open:zoom,appid:python3,title:qxdrag
## windowrule=animation_type_open:zoom,title:rofi - Networks
##
##
## windowrule=isfloating:1,appid:Rofi
## windowrule=isfloating:1,appid:qxdrag.py
## windowrule=isfloating:1,appid:xfce-polkit
##
## windowrule=isnoborder:1,appid:Rofi
## windowrule=animation_type_open:slide,appid:Rofi
## windowrule=animation_type_close:zoom,appid:Rofi
## windowrule=animation_type_open:zoom,appid:qxdrag.py
## windowrule=animation_type_open:zoom,appid:python3,title:qxdrag
## windowrule=animation_type_close:zoom,appid:qxdrag.py
## windowrule=animation_type_close:zoom,appid:python3,title:qxdrag
## windowrule=animation_type_close:zoom,appid:^com.gabm.satty$
##
## windowrule=isterm:1,appid:St
##
## # These applications can only strictly adhere to the tiling size when maximized
## windowrule=force_maximize:1,appid:org.gnome.SystemMonitor
## windowrule=force_maximize:1,appid:org.gnome.gThumb
##
## windowrule=tags:4,appid:Google-chrome
## windowrule=tags:3,appid:QQ
## windowrule=tags:2,appid:mpv
## windowrule=tags:6,appid:obs
##
## windowrule=animation_type_open:none,nofadein:1,title:wechat
## windowrule=animation_type_close:none,nofadeout:1,title:wechat
## windowrule=isfloating:1,isoverlay:1,isnoborder:1,isunglobal:1,width:400,height:400,offsetx:9999,offsety:9999,appid:bongo-cat,title:BongoCat
## windowrule=isfloating:1,isoverlay:1,isnoborder:1,isunglobal:1,width:280,height:200,offsetx:9999,offsety:9999,appid:mpv,title:video0 - mpv
## windowrule=isfloating:1,isnosizehint:1,width:1500,height:900,appid:baidunetdisk,title:百度网盘
## windowrule=isoverlay:1,appid:^com.gabm.satty$
##
##
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^mpv$
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^St$
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^foot$
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^obsidian$
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^Google-chrome$
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^QQ$
##
## # layer rule
## layerrule=noblur:1,noanim:1,layer_name:selection
## layerrule=noblur:1,noanim:1,layer_name:quickshell
## layerrule=noblur:1,noanim:1,layer_name:quickshell:popout
## layerrule=noblur:1,noanim:1,layer_name:dms
## layerrule=noblur:1,noanim:1,layer_name:dms:.*
## layerrule=noblur:1,noanim:1,layer_name:dimland_layer
## layerrule=noanim:1,noblur:1,noshadow:1,layer_name:hyprpicker
## layerrule=noanim:1,layer_name:showkeys
##
##
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/bash
# Change brightness level with `light`.
# You can call this script like this:
# brightness.sh [up|down]
function get_brightness {
var=$(brightnessctl get)
echo "${var##* }" | sed 's/[^0-9][^.]*//g'
}
function send_notification {
DIR=$(dirname "$0")
brightness=$(get_brightness)
icon_name="${HOME}/.config/rice_assets/Icons/b.png"
# Send the notification
dunstify "Brightness: $brightness%" -h int:value:$brightness -i /usr/share/icons/Adwaita/96x96/status/display-brightness-symbolic.symbolic.png -t 1000 --replace=555 -u low
}
case $1 in
up)
swayosd-client --brightness +2
# brightnessctl set +1%
# send_notification
;;
down)
swayosd-client --brightness -2
# brightnessctl set 1%-
# send_notification
;;
esac
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
# 获取mango命令输出并清理格式
output=$(mango -p 2>&1 | sed -r '
s/\x1b\[[0-9;]*[a-zA-Z]//g # 移除ANSI颜色代码
s/ ╰─/ ╰─/g # 压缩多余空格
s/^[[:space:]]*// # 删除行首空格
s/[[:space:]]*$// # 删除行尾空格
')
# 设置通知图标
icon="$HOME/.config/mango/wallpaper/mango.png"
# 如果没有输出或输出为空,则退出
if [[ -z "$output" ]]; then
exit 0
fi
# 发送通知
notify-send --urgency=critical --icon="$icon" "Mango Status" "$output"
+3
View File
@@ -0,0 +1,3 @@
#!/usr/bin/bash
ps aux | grep -v grep |grep dimland | grep -v idle | awk '{print $2}' | xargs kill
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/bash
startd=$(pgrep waybar)
if [ -n "$startd" ]; then
pkill waybar
else
waybar -c ~/.config/mango/waybar/config.jsonc -s ~/.config/mango/waybar/style.css
fi
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/bash
#swayidle -w \
# timeout 1800 'swaylock -f -c 000000' \
# timeout 1800 'hyprctl dispatch dpms off' \
# resume 'hyprctl dispatch dpms on && ~/.config/hypr/scripts/restart_wlsunset.sh' \
# timeout 300 'bash $HOME/.config/hypr/scripts/lightresume.sh dark' \
# resume 'bash $HOME/.config/hypr/scripts/lightresume.sh resume' \
# timeout 3600 'systemctl suspend'
swayidle \
timeout 1800 'wlr-dpms off' \
resume 'wlr-dpms on && ~/.config/mango/scripts/restart_wlsunset.sh' \
timeout 300 'dimland -a 0.3' \
resume 'bash ~/.config/mango/scripts/exitdim.sh'
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/bash
enable=$(wlr-randr --json | jq --arg name "eDP-1" '.[] | select(.name == $name) | .enabled')
if [ $enable == "true" ]; then
wlr-randr --output eDP-1 --off
else
wlr-randr --output eDP-1 --on
fi
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/bash
set +e
ps aux | grep wlsunset | grep -v swayidle | grep -v restart | grep -v grep | awk '{print $2}' | xargs sudo kill
nohup wlsunset -T 3501 -t 3500 >> /dev/null 2<&1 &
+36
View File
@@ -0,0 +1,36 @@
#!/bin/bash
# Function to find the first HEADLESS-* display
find_headless_display() {
wlr-randr --json | jq -r '.[] | select(.name | startswith("HEADLESS-")) | .name' | head -n 1
}
# Get the first HEADLESS display
HEADLESS_DISPLAY=$(find_headless_display)
if [ -z "$HEADLESS_DISPLAY" ]; then
mmsg -d create_virtual_output
notify-send "Creating virtual monitor"
HEADLESS_DISPLAY=$(find_headless_display)
# wlr-randr --output "$HEADLESS_DISPLAY" --pos 1926,0 --scale 1 --custom-mode 1920x1080@60Hz --on
# wlr-randr --output eDP-1 --pos 0,0 --scale 1
notify-send "Starting sunshine"
sunshine &
notify-send "Sunshine on"
exit 0
fi
# Now check and toggle status
enable=$(wlr-randr --json | jq --arg name "$HEADLESS_DISPLAY" '.[] | select(.name == $name) | .enabled')
if [ "$enable" == "true" ]; then
wlr-randr --output "$HEADLESS_DISPLAY" --off
pkill sunshine
notify-send "Sunshine off"
mmsg -d destroy_all_virtual_output
notify-send "Removed virtual monitor"
wlr-randr --output eDP-1 --pos 0,0 --scale 1
else
wlr-randr --output "$HEADLESS_DISPLAY" --on
sunshine &
notify-send "Sunshine on"
fi
+75
View File
@@ -0,0 +1,75 @@
#!/usr/bin/bash
# Changes de volume of the default sink
# Warning: This script offers no cap for volume,
# I'd advice to not go above 150% (which is the standard cap).
# You can call this script like this:
# volume.sh [up|down|mute]
function get_volume {
pactl get-sink-volume @DEFAULT_SINK@ | awk '{printf $5}' | cut -d '%' -f 1
}
function is_mute {
pactl get-sink-mute @DEFAULT_SINK@
}
function send_notification {
overvolume=`get_volume`
[[ $overvolume -gt 100 ]] && volume=100 || volume=$overvolume
#Set correct icon
if [[ $volume -eq 0 ]]
then
icon_name="${HOME}/.config/rice_assets/Icons/nov.png"
elif [[ $volume -lt 35 ]]
then
icon_name="${HOME}/.config/rice_assets/Icons/vlow.png"
elif [[ $volume -lt 70 ]]
then
icon_name="${HOME}/.config/rice_assets/Icons/vmid.png"
elif [[ $volume -lt 100 ]]
then
icon_name="${HOME}/.config/rice_assets/Icons/vhigh.png"
else
icon_name="${HOME}/.config/rice_assets/Icons/vthigh.png"
fi;
#bn=$(( (volume + 5) / 5 ))
#bar=$(seq -s "" $bn | sed 's/[0-9]//g')
# Send the notification
dunstify "Volume: $overvolume%" -h int:value:$volume -i /usr/share/icons/Adwaita/96x96/status/audio-volume-medium-symbolic.symbolic.png -t 1000 --replace=555 -u normal
}
case $1 in
up)
swayosd-client --output-volume 5
# # Set the volume on (if it was muted)
# pactl set-sink-mute @DEFAULT_SINK@ 0 > /dev/null
# # Up the volume (+ 5%)
# curvol=`get_volume`
# rem=$(( (curvol + 5) % 5 ))
# inc="+$(( 5 - rem ))%"
# pactl set-sink-volume @DEFAULT_SINK@ $inc > /dev/null
# send_notification
;;
down)
swayosd-client --output-volume -5
# pactl set-sink-mute @DEFAULT_SINK@ 0 > /dev/null
# curvol=`get_volume`
# rem=$(( (curvol - 5) % 5 ))
# inc="-$(( 5 + rem ))%"
# pactl set-sink-volume @DEFAULT_SINK@ $inc > /dev/null
# send_notification
;;
mute)
# Toggle mute
pactl set-sink-mute @DEFAULT_SINK@ toggle > /dev/null
if [[ `is_mute` == "Mute: yes" ]] ; then
dunstify -i "${HOME}/.config/rice_assets/Icons/mute.png" --replace=555 -u normal "Volume: Mute" -t 1000 -u critical
else
send_notification
fi
;;
esac
+11
View File
@@ -0,0 +1,11 @@
# tags rule
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:monocle