# Animation Configuration(support type:zoom,slide) animations=1 animation_type_open=slide animation_type_close=slide animation_fade_in=1 zoom_initial_ratio=0.5 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 scoller_focus_center=0 scroller_proportion_preset=0.5,0.8,1.0 # Master-Stack Layout Setting (tile,spiral,dwindle) new_is_master=1 default_mfact=0.55 default_nmaster=1 smartgaps=0 # only work in spiral and dwindlw default_smfact=0.5 # Overview Setting hotarea_size=10 enable_hotarea=1 ov_tab_mode=0 overviewgappi=5 overviewgappo=30 # Misc axis_bind_apply_timeout=100 focus_on_activate=1 bypass_surface_visibility=0 sloppyfocus=1 warpcursor=1 # keyboard repeat_rate=25 repeat_delay=600 numlockon=1 # Trackpad tap_to_click=1 tap_and_drag=1 drag_lock=1 natural_scrolling=0 disable_while_typing=1 left_handed=0 middle_button_emulation=0 # Appearance gappih=5 gappiv=5 gappoh=10 gappov=10 borderpx=4 rootcolor=0x323232ff bordercolor=0x444444ff focuscolor=0xad741fff maxmizescreencolor=0x89aa61ff urgentcolor=0xad401fff scratchpadcolor=0x516c93ff globalcolor=0xb153a7ff # layout circle limit # if not set, it will circle all layout # circle_layout=spiral,scroller # tags rule # layout support: tile,scroller,grid,monocle,spiral,dwindle tags=id:1,layout_name:tile tags=id:2,layout_name:tile tags=id:3,layout_name:tile tags=id:4,layout_name:tile tags=id:5,layout_name:tile tags=id:6,layout_name:tile tags=id:7,layout_name:tile tags=id:8,layout_name:tile tags=id:9,layout_name:tile # Window Rules # appid: type-string if match it or title, the rule match # title: type-string if match it or appid, the rule match # tags: type-num(1-9) # isfloating: type-num(0 or 1) # isfullscreen: type-num(0 or 1) # scroller_proportion: type-float(0.1-1.0) # animation_type_open : type-string(zoom,slide,none) # animation_type_close : type-string(zoom,slide) # isnoborder : type-num(0 or 1) # monitor : type-int(0-99999) # width : type-num(0-9999) # height : type-num(0-9999) # isterm : type-num (0 or 1) -- when new window open, will replace it, and will restore after the sub window exit # nnoswallow : type-num(0 or 1) -- if enable, this window wll not replace isterm window when it was open by isterm window # globalkeybinding: type-string(for example-- alt-l or alt+super-l) # example # windowrule=isfloating:1,appid:yesplaymusic # windowrule=width:1500,appid:yesplaymusic # windowrule=height:900,appid:yesplaymusic # windowrule=isfloating:1,title:qxdrag # windowrule=isfloating:1,appid:Rofi # windowrule=isfloating:1,appid:wofi # windowrule=isnoborder:1,appid:wofi # windowrule=animation_type_open:zoom,appid:wofi # windowrule=globalkeybinding:ctrl+alt-o,appid:com.obsproject.Studio # windowrule=globalkeybinding:ctrl+alt-n,appid:com.obsproject.Studio # open in specific tag # windowrule=tags:4,appid:Google-chrome # windowrule=tags:3,appid:QQ # windowrule=tags:5,appid:yesplaymusic # windowrule=tags:2,appid:mpv # windowrule=tags:6,appid:obs # Monitor Rules # name|mfact|nmaster|scale|layout|(rotate or reflect)|x|y # rotate or reflect: # 0:no transform # 1:90 degrees counter-clockwise # 2:180 degrees counter-clockwise # 3:270 degrees counter-clockwise # 4:180 degree flip around a vertical axis # 5:flip and rotate 90 degrees counter-clockwise # 6:flip and rotate 180 degrees counter-clockwise # 7:flip and rotate 270 degrees counter-clockwise # example # monitorrule=eDP-1,0.55,1,tile,0,1,0,0 # monitorrule=HDMI-A-1,0.55,1,tile,0,1,1920,0 # Key Bindings # The mod key is not case sensitive, # but the second key is case sensitive, # if you use shift as one of the mod keys, # remember to use uppercase keys # reload config bind=SUPER,r,reload_config # menu and terminal bind=Alt,space,spawn,rofi -show drun bind=Alt,Return,spawn,foot # exit bind=SUPER,m,quit bind=ALT,q,killclient, # switch window focus bind=SUPER,Tab,focusstack,next bind=ALT,Left,focusdir,left bind=ALT,Right,focusdir,right bind=ALT,Up,focusdir,up bind=ALT,Down,focusdir,down # swap window bind=SUPER+SHIFT,Up,exchange_client,up bind=SUPER+SHIFT,Down,exchange_client,down bind=SUPER+SHIFT,Left,exchange_client,left bind=SUPER+SHIFT,Right,exchange_client,right # switch window status bind=SUPER,g,toggleglobal, bind=ALT,Tab,toggleoverview, bind=ALT,backslash,togglefloating, bind=ALT,a,togglemaxmizescreen, bind=ALT,f,togglefullscreen, bind=SUPER,i,minized, bind=SUPER+SHIFT,I,restore_minized 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+CTRL,Left,setmfact,-0.01 bind=ALT+CTRL,Right,setmfact,+0.01 bind=ALT+CTRL,Up,setsmfact,-0.01 bind=ALT+CTRL,Down,setsmfact,+0.01 bind=ALT,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, bind=CTRL,Left,viewtoleft_have_client, bind=SUPER,Right,viewtoright, bind=CTRL,Right,viewtoright_have_client, bind=CTRL+SUPER,Left,tagtoleft, bind=CTRL+SUPER,Right,tagtoright, # normal num key is (1-9) # right-side keyboard num keys is (KP_1-KP_9) bind=Ctrl,KP_1,view,1 bind=Ctrl,KP_2,view,2 bind=Ctrl,KP_3,view,3 bind=Ctrl,KP_4,view,4 bind=Ctrl,KP_5,view,5 bind=Ctrl,KP_6,view,6 bind=Ctrl,KP_7,view,7 bind=Ctrl,KP_8,view,8 bind=Ctrl,KP_9,view,9 bind=Alt,KP_1,tag,1 bind=Alt,KP_2,tag,2 bind=Alt,KP_3,tag,3 bind=Alt,KP_4,tag,4 bind=Alt,KP_5,tag,5 bind=Alt,KP_6,tag,6 bind=Alt,KP_7,tag,7 bind=Alt,KP_8,tag,8 bind=Alt,KP_9,tag,9 bind=Super,KP_1,toggletag,1 bind=Super,KP_2,toggletag,2 bind=Super,KP_3,toggletag,3 bind=Super,KP_4,toggletag,4 bind=Super,KP_5,toggletag,5 bind=Super,KP_6,toggletag,6 bind=Super,KP_7,toggletag,7 bind=Super,KP_8,toggletag,8 bind=Super,KP_9,toggletag,9 bind=Super+alt,KP_1,toggleview,1 bind=Super+alt,KP_2,toggleview,2 bind=Super+alt,KP_3,toggleview,3 bind=Super+alt,KP_4,toggleview,4 bind=Super+alt,KP_5,toggleview,5 bind=Super+alt,KP_6,toggleview,6 bind=Super+alt,KP_7,toggleview,7 bind=Super+alt,KP_8,toggleview,8 bind=Super+alt,KP_9,toggleview,9 # monitor switch bind=SUPER,bracketleft,focusmon,left bind=SUPER,bracketright,focusmon,right bind=SUPER+CTRL,bracketleft,tagmon,left bind=SUPER+CTRL,bracketright,tagmon,right # gaps bind=ALT+SHIFT,X,incgaps,1 bind=ALT+SHIFT,Z,incgaps,-1 bind=ALT+SHIFT,R,togglegaps #custom app bind example # spawn_on_empty (if tag 4 is empty , open app in this,otherwise view to tag 4) # bind=SUPER,Return,spawn_on_empty,google-chrome,4 # spawn # bind=CTRL+ALT,Return,spawn,st -e ~/tool/ter-multiplexer.sh # Mouse Button Bindings # NONE mode key only work in ov mode mousebind=SUPER,btn_left,moveresize,curmove mousebind=NONE,btn_middle,togglemaxmizescreen,0 mousebind=SUPER,btn_right,moveresize,curresize 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