nix/homes/modules/wm/mango/mango/config.conf

245 lines
8.1 KiB
Text

################################################################################
##### Monitors /////////////////////////////////////////////////////////////////
################################################################################
# note: display stream compression pending for open source
# amd gpu driver and my monitor (VG279QM) only supports DP 1.2
# so no >240hz atm
# main monitor
monitorrule = name:DP-2,width:1920,height:1080,refresh:240,x:0,y:0
# second monitor
monitorrule = name:DP-3,width:1920,height:1080,refresh:144,x:1920,y:0
# third monitor (drawing tablet)
monitorrule = name:HDMI-A-2,width:2560,height:1440,refresh:60,x:3840,y:0
# tv
monitorrule = name:HDMI-A-1,width:1920,height:1080,refresh:60,x:-1920,y:0
################################################################################
##### Startup //////////////////////////////////////////////////////////////////
################################################################################
exec-once = waybar
exec-once = waybar --config ~/.config/mango/waybar.jsonc
exec-once = awww-daemon
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = wl-clip-persist --clipboard regular
exec-once = playerctld daemon
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=wlroots PATH
################################################################################
##### Themeing /////////////////////////////////////////////////////////////////
################################################################################
borderpx = 2
gappih = 5 # inner gap horizontal
gappiv = 5 # inner gap vertical
gappoh = 10 # outer gap horizontal
# we set the bottom vertical gap by using an empty layer that defines an exclusive zone
gappov = 0 # outer gap vertical
border_radius = 8
focused_opacity = 1.0
unfocused_opacity = 1.0
blur = 1
blur_layer = 1
blur_optimized = 1
blur_params_radius = 6
blur_params_num_passes = 2
blur_params_noise = 0.02
blur_params_brightness = 0.9
blur_params_contrast = 0.9
blur_params_saturation = 1.2
cursor_size=24
cursor_theme=Bunny (Icy) and Strawberries
################################################################################
##### Animations ///////////////////////////////////////////////////////////////
################################################################################
animations=1
layer_animations=1
################################################################################
##### Input ////////////////////////////////////////////////////////////////////
################################################################################
# keyboard stuff
repeat_rate = 50
repeat_delay = 300
# mouse stuff
accel_profile = 0
################################################################################
##### Keybinds /////////////////////////////////////////////////////////////////
################################################################################
# applications
bind = SUPER, t, spawn, alacritty
bind = SUPER, e, spawn, alacritty -e yazi
bind = SUPER, r, spawn, zen-twilight
# rofi
bind = SUPER, d, spawn_shell, pkill -x rofi || rofi -show drun -show-icons
bind = SUPER, v, spawn_shell, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy
bind = ALT, TAB, spawn_shell, pkill -x rofi || rofi -modi window -show window -show-icons
# manage session
bind = SUPER+ALT, c, killclient
bind = SUPER+SHIFT, r, reload_config
bind = SUPER+ALT, delete, quit
# screenshots
# grim - | wl-copy
bind = SUPER, s, spawn_shell, grim -g $(slurp -d) - | wl-copy
bind = SUPER+ALT, s, spawn_shell, grim -g $(slurp -o) - | wl-copy
bind = SUPER+CTRL, s, spawn_shell, grim - | wl-copy
# task manager
bind = SUPER+CTRL, escape, spawn, task-manager.sh
bind = SUPER+CTRL, grave, spawn, task-manager.sh
# color picker
bind = SUPER, n, spawn, hyprpicker -v
# lock screen
bind = SUPER+ALT, y, spawn, hyprlock
# media keybinds
bind = NONE, XF86AudioMute, spawn, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = NONE, XF86AudioPlay, spawn, playerctl play-pause
bind = NONE, XF86AudioNext, spawn, playerctl next
bind = NONE, XF86AudioPrev, spawn, playerctl previous
# needs to be `bind` for some reason, doesn't work otherwise
# if all of them are `bind` and not `binds`, it also doesn't work
# weird bug!! qwq
binds = Shift_R, XF86AudioPlay, spawn_shell, playerctl shuffle toggle
binds = Shift_R, XF86AudioNext, spawn, playerctl loop track
bind = NONE, XF86AudioRaiseVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
bind = NONE, XF86AudioLowerVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
binds = Shift_R, XF86AudioRaiseVolume, spawn, playerctl volume 0.05+
binds = Shift_R, XF86AudioLowerVolume, spawn, playerctl volume 0.05-
# window states
bind = SUPER, f, togglefullscreen
bind = SUPER+ALT, f, togglefakefullscreen
bind = SUPER, x, togglefloating
# layouts
bind = SUPER, u, switch_layout
# move focus - l/d/u/r
bind = SUPER, h, focusdir, left
bind = SUPER, j, focusdir, down
bind = SUPER, k, focusdir, up
bind = SUPER, l, focusdir, right
# move focus - stack
bind = SUPER+SHIFT, j, focusstack, next
bind = SUPER+SHIFT, k, focusstack, prev
# swap window - l/d/u/r
bind = SUPER+ALT, h, exchange_client, left
bind = SUPER+ALT, j, exchange_client, down
bind = SUPER+ALT, k, exchange_client, up
bind = SUPER+ALT, l, exchange_client, right
# swap window - stack
bind = SUPER+SHIFT, h, exchange_stack_client, next
bind = SUPER+SHIFT, l, exchange_stack_client, prev
# swap focused window with master
bind = SUPER, g, zoom
# view tag
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, 10, 0
BIND = SUPER, minus, view, 11, 0
BIND = SUPER, equal, view, 12, 0
# toggle tag on monitor
BIND = SUPER+ALT, 1, toggletag, 1, 0
BIND = SUPER+ALT, 2, toggletag, 2, 0
BIND = SUPER+ALT, 3, toggletag, 3, 0
BIND = SUPER+ALT, 4, toggletag, 4, 0
BIND = SUPER+ALT, 5, toggletag, 5, 0
BIND = SUPER+ALT, 6, toggletag, 6, 0
BIND = SUPER+ALT, 7, toggletag, 7, 0
BIND = SUPER+ALT, 8, toggletag, 8, 0
BIND = SUPER+ALT, 9, toggletag, 9, 0
BIND = SUPER+ALT, 0, toggletag, 10, 0
BIND = SUPER+ALT, minus, toggletag, 11, 0
BIND = SUPER+ALT, equal, toggletag, 12, 0
# move window to tag
BIND = SUPER+SHIFT, 1, tag, 1, 0
BIND = SUPER+SHIFT, 2, tag, 2, 0
BIND = SUPER+SHIFT, 3, tag, 3, 0
BIND = SUPER+SHIFT, 4, tag, 4, 0
BIND = SUPER+SHIFT, 5, tag, 5, 0
BIND = SUPER+SHIFT, 6, tag, 6, 0
BIND = SUPER+SHIFT, 7, tag, 7, 0
BIND = SUPER+SHIFT, 8, tag, 8, 0
BIND = SUPER+SHIFT, 9, tag, 9, 0
BIND = SUPER+SHIFT, 0, tag, 10, 0
BIND = SUPER+SHIFT, minus, tag, 11, 0
BIND = SUPER+SHIFT, equal, tag, 12, 0
# mouse binds :3
mousebind = SUPER, btn_left, moveresize, curmove
mousebind = SUPER, btn_right, moveresize, curresize
################################################################################
##### Miscellaneous ////////////////////////////////////////////////////////////
################################################################################
# focus follows mouse cursor
sloppyfocus = 1
# automatically focus windows when they request activiation
focus_on_activate = 1
# scroll speed
axis_scroll_factor = 1.0
# disables hotarea for overview mode
enable_hotarea = 0
################################################################################
##### Environment Variables ////////////////////////////////////////////////////
################################################################################
env = XCURSOR_THEME,Bunny (Icy) and Strawberries
env = XCURSOR_SIZE,24
################################################################################
##### Imports //////////////////////////////////////////////////////////////////
################################################################################
# windowrules!!! <3
source = ./windowrules.conf
# layerrules :3
source = ./layerrules.conf
# colors generated from palette generator
source = ./colors.conf