Files
linux-dotfiles/hypr/hyprland.conf
2024-04-06 19:31:51 -05:00

208 lines
7.5 KiB
Plaintext

# ___ ___ .__ .___
# / | \ ___.__._____________| | _____ ____ __| _/
# / ~ < | |\____ \_ __ \ | \__ \ / \ / __ |
# \ Y /\___ || |_> > | \/ |__/ __ \| | \/ /_/ |
# \___|_ / / ____|| __/|__| |____(____ /___| /\____ |
# \/ \/ |__| \/ \/ \/
#
# https://wiki.hyprland.org/Configuring/Variables/#general
# Configuration by Coby Powers
source = ~/.config/hypr/catppuccin-mocha.conf
monitor = HDMI-A-1, 2560x1440@144, 0x1080, 1
monitor = DP-10, 1920x1080@74.97, 320x0, 1
monitor = DP-11, 1920x1080@74.97,320x0, 1
monitor = eDP-1, 2560x1600@120, 2560x1400, 2
monitor = eDP-2, 2560x1600@120, 2560x1400, 2
monitor = , preferred, auto, auto
# keybind variables
$mainMod = SUPER
# app variables
$terminal = alacritty
$browser = brave
$fileManager = nautilus
$musicPlayer = spotify
$menu = wofi
$powerMenu = wlogout
# environment variables
env = XDG_CURRENT_DESKTOP, Hyprland
env = XDG_SESSION_DESTOP, Hyprland
env = XDG_SESSION_TYPE, wayland
env = GDK_BACKEND, wayland,x11
env = QT_QPA_PLATFORM, wayland;xcb
env = QT_QPA_PLATFORMTHEME, qt6ct
env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
env = SDL_VIDEODRIVER, wayland
env = CLUTTER_BACKEND, wayland
env = ELECTRON_OZONE_PLATFORM_HINT, wayland
env = HYPRCURSOR_THEME, Oxygen-18-White
env = HYPRCURSOR_SIZE, 24
# launch system apps
exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland.sh
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# launch util apps
exec-once = wl-paste --watch cliphist store
exec-once = hyprpaper
exec-once = hypridle
exec-once = waybar
exec-once = nm-applet
exec-once = blueman-applet
exec-once = nextcloud-client
exec-once = notify-send -u low "Daily Quote" "$(python ~/.config/hypr/scripts/quotes.py)"
general {
border_size = 2
gaps_in = 5
gaps_out = 10
col.inactive_border = $surface0
col.active_border = $blue
resize_on_border = true
}
decoration {
rounding = 12
inactive_opacity = 0.95
}
animations {
enabled = true
bezier = custom, .8, 0, .08, 1
animation = windows, 1, 2, custom
animation = layers, 1, 2, custom
animation = fade, 1, 3, default
animation = border, 1, 3, default
animation = borderangle, 1, 3, default
animation = workspaces, 1, 2, custom
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true # isn't working
}
input {
repeat_rate = 30
repeat_delay = 400
follow_mouse = 1
touchpad {
natural_scroll = true
scroll_factor = 0.3
}
}
gestures {
workspace_swipe = true
}
device {
name = razer-razer-viper-ultimate-dongle
#sensitivity = -0.9
}
dwindle {
pseudotile = true
preserve_split = true
}
windowrulev2 = float, class:(Lxappearance)
windowrulev2 = float, class:(nwg-look)
windowrulev2 = float, class:(qt5ct)
windowrulev2 = float, class:(qt6ct)
windowrulev2 = float, class:(com.nextcloud.desktopclient.nextcloud)
windowrulev2 = float, class:(minecraft-launcher)
windowrulev2 = float, class:(org.gnome.Nautilus)
windowrulev2 = float, title:(Save File)
windowrulev2 = float, title:(Open File)
windowrulev2 = opacity 0.9, class:(org.gnome.Nautilus)
windowrulev2 = opacity, 0.9, class:(wofi)
windowrulev2 = opacity 0.95, class:(signal)
layerrule = blur, logout_dialog
bind = $mainMod, T, exec, $terminal
bind = $mainMod, B, exec, $browser
bind = $mainMod, F, exec, $fileManager
bind = $mainMod, M, exec, $musicPlayer
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, exec, $powerMenu
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit,
bind = $mainMod, K, togglefloating,
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, C, exec, grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | tail -n 1 | cut -d ' ' -f 4 | wl-copy
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
bind = $mainMod SHIFT, V, exec, cliphist wipe
bind = $mainMod, S, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > /home/coby/Pictures/Screenshots/$(date +"scrn_%Y%m%d_%H%M%S.png") && notify-send "Screenshot taken!"
bind = $mainMod SHIFT, S, exec, grim - | wl-copy && wl-paste > /home/coby/Pictures/Screenshots/$(date +"fscrn_%Y%m%d_%H%M%S.png") && notify-send "Screenshot taken!"
bind = $mainMod, left, swapwindow, l
bind = $mainMod, right, swapwindow, r
bind = $mainMod, up, swapwindow, u
bind = $mainMod, down, swapwindow, d
bind = $mainMod SHIFT, left, resizeactive, -5% 0%
bind = $mainMod SHIFT, right, resizeactive, 5% 0%
bind = $mainMod SHIFT, up, resizeactive, 0% -5%
bind = $mainMod SHIFT, down, resizeactive, 0% 5%
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod, N, togglespecialworkspace, magic
bind = $mainMod SHIFT, N, movetoworkspace, special:magic
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# TODO: maybe extrapolate notification behavior into scripts
bindel = ,XF86AudioRaiseVolume, exec, pamixer -i 5; notify-send -h string:x-canonical-private-synchronous:vol "Volume set to $(pamixer --get-volume)%"
bindel = ,XF86AudioLowerVolume, exec, pamixer -d 5; notify-send -h string:x-canonical-private-synchronous:vol "Volume set to $(pamixer --get-volume)%"
bindel = ,XF86KbdBrightnessUp, exec, brightnessctl -d asus::kbd_backlight set 1%+; notify-send -h string:x-canonical-private-synchronous:kbd_bright "Keyboard brightness set to $(brightnessctl -d asus::kbd_backlight g)"
bindel = ,XF86KbdBrightnessDown, exec, brightnessctl -d asus::kbd_backlight set 1%-; notify-send -h string:x-canonical-private-synchronous:kbd_bright "Keyboard brightness set to $(brightnessctl -d asus::kbd_backlight g)"
bindel = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+; notify-send -h string:x-canonical-private-synchronous:mon_bright "Monitor brightness set to $(brightnessctl g)"
bindel = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-; notify-send -h string:x-canonical-private-synchronous:mon_bright "Monitor brightness set to $(brightnessctl g)"
bindl = ,XF86AudioMute, exec, pamixer -t; notify-send -h string:x-canonical-private-synchronous:vol "Volume is now $(pamixer --get-volume-human)"
bindl = ,XF86AudioMicMute, exec, pamixer --default-source -t
bindl = ,XF86AudioPrev, exec, playerctl previous
bindl = ,XF86AudioPlay, exec, playerctl play-pause
bindl = ,XF86AudioNext, exec, playerctl next
bindl = ,XF86TouchpadToggle, exec, notify-send -u normal "Unavailable" "Disabling the touchpad has not been implemented yet."
bind = ,156, exec, rog-control-center # rog button
bind = ,210, exec, asusctl led-mode -n # aura button
bind = ,211, exec, asusctl profile -n # fan button