dotfiles/hypr/hyprland.conf

333 lines
8.4 KiB
Plaintext
Executable File

source = ~/.config/hypr/frappe.conf # Catppuccin colorscheme
# < Start Section >
# monitors
monitor = eDP-1, highrr, 0x0, 1.00
monitor = , highrr, 1920x0, 1.00
# < End Section >
# < Start Section >
# startup applications
# environment launches
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-kde-authentication-agent-1 # authentication dialogue for GUI apps
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = waybar -c ~/.config/waybar/config
exec-once = dunst
exec-once = swww init
exec-once = syncthing --no-browser
# main applications
#exec-once = discord --enable-features=UseOzonePlatform --ozone-platform=wayland
exec-once = spotify --disable-gpu
exec-once = alacritty
exec-once = firefox
#exec-once = taskset -c 1-7 steam
#exec-once = taskset -c 1-7 gamescope -W 3200 -H 1100 -b -- steam
exec-once = bolt
# < End Section >
# < Start Section >
# workspace rules
workspace = 1, monitor:eDP-1, persistent:true, default:true
workspace = 2, monitor:eDP-1, persistent:true
workspace = 3, monitor:eDP-1, persistent:true
workspace = 4, monitor:eDP-1, persistent:true
workspace = 5, monitor:eDP-1, persistent:true
# last workspace for hdmi
workspace = 6, monitor:HDMI-A-1
# < End Section >
# < Start Section >
# variables
general {
gaps_in = 0
gaps_out = 0
border_size = 0
col.active_border = $peach
#col.inactive_border = $peach
layout = dwindle
resize_on_border = false
# old border colors
#col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
#col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg
}
decoration {
#rounding = 0
rounding = 6
drop_shadow = false
dim_special = 0.3
fullscreen_opacity = 1.0
#active_opacity = 1.0
#inactive_opacity = 0.9
blur {
enabled = yes
special = true
size = 6
passes = 3
new_optimizations = on
ignore_opacity = on
xray = false
}
}
animations {
enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
input {
kb_layout = us
follow_mouse = 2
mouse_refocus = false;
sensitivity = 0
force_no_accel = 1
touchpad {
natural_scroll = no
}
}
gestures {
workspace_swipe = off
}
group {
col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
}
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
force_default_wallpaper = 0
vrr = 1
vfr = true
}
xwayland {
# latest configuration
# use_nearset_neighbor = true
# force_zero_scaling = true
# current configuration
use_nearest_neighbor = true
force_zero_scaling = false
}
cursor {
no_hardware_cursors = true
inactive_timeout = 2
no_warps = false
default_monitor = DP-1
}
debug {
disable_logs = true
#disable_logs = false
}
# Disable touchscreen
device {
name = gxtp7386:00-27c6:011a
enabled = false
}
# < End Section >
# < Start Section >
# dwindle layout
dwindle {
pseudotile = yes
preserve_split = yes
}
# < End Section >
# < Start Section >
# master layout
master {
# TODO: replace when out of git version
#new_status = master
new_is_master = true
}
# < End Section >
# < Start Section >
# window rules
# core
windowrulev2 = opacity 0.80 0.80,class:^(.*)$
windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = float, class:^(qt5ct)$
windowrulev2 = float, class:^(nwg-look)$
windowrulev2 = float, class:^(pavucontrol)$
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
#windowrulev2 = float, class:^(steam)$
# main
windowrulev2 = workspace 1 silent, class:^(discord)$
windowrulev2 = workspace 1 silent, class:^(Spotify)$
windowrulev2 = workspace 2 silent, class:^(Alacritty)$
windowrulev2 = workspace 3 silent, class:^(firefox)$
windowrulev2 = workspace 4 silent, class:^(steam)$
windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$
windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$
windowrulev2 = workspace 4 silent, class:^(steam_proton)$
windowrulev2 = workspace 4 silent, class:^(hl2_linux)$
windowrulev2 = workspace 4 silent, class:^(gamescope)$
windowrulev2 = workspace 5 silent, class:^(Bolt.*)$
# development
windowrulev2 = pseudo, title:^(SnakePlusPlus)$
windowrulev2 = center, title:^(SnakePlusPlus)$
windowrulev2 = opacity 0.4, title:^(SnakePlusPlus)$
windowrulev2 = float, title:^(TetrisPlusPlus)$
windowrulev2 = center, title:^(TetrisPlusPlus)$
# layer rules
layerrule = blur,waybar
layerrule = ignorezero, waybar
# < End Section >
# < Start Section >
# keybinds
# main modifier
$mainMod = SUPER
# passthrough
bind = , mouse:275, pass, ^(discord)$
bind = SHIFT, mouse:275, pass, ^(discord)$
# core binds
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod SHIFT, M, exit
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, F, fullscreen,
bind = $mainMod SHIFT, L, exec, hyprlock
bind = $mainMod $CONTROL, ESCAPE, exec, killall waybar || waybar # toggle waybar
bind = $mainMod SHIFT, J, togglesplit, # dwindle
bind = $mainMod SHIFT, SPACE, pseudo, # dwindle
# main application shortcuts
bind = $mainMod, RETURN, exec, alacritty
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod SHIFT, 7, exec, taskset -c 1-7 prismlauncher
bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun
# generic audio control
binde = , XF86AudioPlay, exec, playerctl play-pause
binde = , XF86AudioStop, exec, playerctl stop
binde = , XF86AudioPrev, exec, playerctl previous
binde = , XF86AudioNext, exec, playerctl next
binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
# custom audio control
binde = $mainMod, F1, exec, playerctl play-pause
binde = $mainMod, F2, exec, playerctl previous
binde = $mainMod, F3, exec, playerctl next
# Laptop binds
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
# move focus
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
# workspaces
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 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 ALT, 1, movetoworkspacesilent, 1
bind = $mainMod ALT, 2, movetoworkspacesilent, 2
bind = $mainMod ALT, 3, movetoworkspacesilent, 3
bind = $mainMod ALT, 4, movetoworkspacesilent, 4
bind = $mainMod ALT, 5, movetoworkspacesilent, 5
bind = $mainMod ALT, 6, movetoworkspacesilent, 6
# resizing windows
binde = $mainMod, right, resizeactive, 5 0
binde = $mainMod, left, resizeactive, -5 0
binde = $mainMod, up, resizeactive, 0 -5
binde = $mainMod, down, resizeactive, 0 5
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# < End Section >
# < Start Section >
# environment variables
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = MOZ_ENABLE_WAYLAND,1
env = HYPRCURSOR_THEME, rose-pine-hyprcursor
env = HYPRCURSOR_SIZE, 24
# < End Section >