2024-06-25 04:13:51 -05:00
|
|
|
source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme
|
|
|
|
|
|
|
|
# < Start Section >
|
|
|
|
# monitors
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-07-29 03:59:27 -05:00
|
|
|
# nvidia
|
2024-04-17 04:25:01 -05:00
|
|
|
# Single
|
2024-07-29 03:59:27 -05:00
|
|
|
#monitor=DP-3, 3440x1440@160, 0x0, 1, vrr, 1, bitdepth, 8
|
|
|
|
|
|
|
|
# intel
|
|
|
|
# Single
|
|
|
|
monitor=DP-1, 3440x1440@160, 0x0, 1, vrr, 1, bitdepth, 8
|
|
|
|
#monitor=DP-2, disable
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-04-17 04:25:01 -05:00
|
|
|
# Double
|
2024-06-25 04:13:51 -05:00
|
|
|
#monitor=DP-1, 3440x1440@160, 1920x0, 1, vrr, 1, bitdepth, 8
|
|
|
|
#monitor=DP-2, 1920x1080@120, 0x180, 1, vrr, 0
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < End Section >
|
2024-01-16 18:25:48 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-29 03:59:27 -05:00
|
|
|
# < Start Section >
|
|
|
|
# environment variables
|
|
|
|
|
|
|
|
env = xdg_current_desktop,hyprland
|
|
|
|
env = XDG_SESSION_TYPE,wayland
|
|
|
|
env = XDG_SESSION_DESKTOP,Hyprland
|
|
|
|
env = MOZ_ENABLE_WAYLAND,1
|
|
|
|
env = HYPRCURSOR_THEME, rose-pine-hyprcursor
|
|
|
|
env = HYPRCURSOR_SIZE, 24
|
|
|
|
|
|
|
|
# nvidia
|
|
|
|
#env = LIBVA_DRIVER_NAME,nvidia
|
|
|
|
#env = XDG_SESSION_TYPE,wayland
|
|
|
|
#env = GDM_BACKEND,nvidia-drm
|
|
|
|
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
|
|
|
|
|
|
# possible fnv fix?
|
|
|
|
#env = intel_btimr, false
|
|
|
|
|
|
|
|
# aquamarine
|
|
|
|
#env = AQ_TRACE, 1
|
|
|
|
#env = HYPRLAND_TRACE, 1
|
|
|
|
|
|
|
|
# < End Section >
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < Start Section >
|
|
|
|
# startup applications
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# environment launches
|
2024-07-29 03:59:27 -05:00
|
|
|
exec-once = ~/.config/hypr/scripts/resetxdgportal.sh # reset XDPH for screenshare
|
|
|
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
|
2024-05-09 01:39:11 -05:00
|
|
|
exec-once = dbus-update-activation-environment --systemd --all
|
|
|
|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
2024-06-25 04:13:51 -05:00
|
|
|
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'
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-05-09 01:39:11 -05:00
|
|
|
# xrandr settings
|
2024-07-29 03:59:27 -05:00
|
|
|
exec-once = ~/.config/hypr/scripts/xrandr.sh
|
|
|
|
|
|
|
|
# wayland to xwayland copy fix (text only)
|
|
|
|
#exec-once = wl-paste -t text -w xclip -selection clipboard
|
2024-01-24 23:23:07 -06:00
|
|
|
|
2024-07-29 03:59:27 -05:00
|
|
|
# background applications
|
2024-05-09 01:39:11 -05:00
|
|
|
exec-once = waybar -c ~/.config/waybar/config
|
|
|
|
exec-once = dunst
|
2024-07-29 03:59:27 -05:00
|
|
|
exec-once = swww-daemon
|
2024-05-09 01:39:11 -05:00
|
|
|
exec-once = syncthing --no-browser
|
2024-06-25 04:13:51 -05:00
|
|
|
exec-once = xwaylandvideobridge
|
2024-01-24 23:23:07 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# main applications
|
2024-07-29 03:59:27 -05:00
|
|
|
exec-once = discord
|
|
|
|
#exec-once = dopamine
|
2024-05-09 01:39:11 -05:00
|
|
|
exec-once = spotify --disable-gpu
|
2024-07-29 03:59:27 -05:00
|
|
|
exec-once = cool-retro-term
|
2024-05-09 01:39:11 -05:00
|
|
|
exec-once = firefox
|
2024-07-29 03:59:27 -05:00
|
|
|
#exec-once = taskset -c 1-7 steam
|
2024-06-25 04:13:51 -05:00
|
|
|
#exec-once = taskset -c 1-7 gamescope -W 3200 -H 1100 -b -- steam
|
2024-07-29 03:59:27 -05:00
|
|
|
#exec-once = bolt
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < End Section >
|
2024-01-16 18:25:48 -06:00
|
|
|
|
|
|
|
|
2024-01-24 23:23:07 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < Start Section >
|
|
|
|
# workspace rules
|
|
|
|
|
2024-07-29 03:59:27 -05:00
|
|
|
# gaps numbers (top, right, bottom, left)
|
|
|
|
workspace = 1, monitor:DP-1, persistent:true, default:true
|
|
|
|
#workspace = 1, monitor:DP-1, persistent:true, gapsout:0 440 0 440, default:true
|
|
|
|
workspace = 2, monitor:DP-1, persistent:true, gapsout:160 756 146 756
|
|
|
|
workspace = 3, monitor:DP-1, persistent:true, gapsout:50 440 50 440
|
|
|
|
workspace = 4, monitor:DP-1, persistent:true, gapsout:45 0 0 0
|
2024-06-25 04:13:51 -05:00
|
|
|
|
|
|
|
# Workspaces swapped for ease of use
|
2024-05-09 01:39:11 -05:00
|
|
|
workspace = 6, monitor:DP-1, persistent:true
|
2024-06-25 04:13:51 -05:00
|
|
|
workspace = 5, monitor:DP-1, persistent:true
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < End Section >
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# < Start Section >
|
|
|
|
# variables
|
|
|
|
|
|
|
|
general {
|
|
|
|
gaps_in = 0
|
2024-07-29 03:59:27 -05:00
|
|
|
gaps_out = 8
|
2024-06-25 04:13:51 -05:00
|
|
|
border_size = 3
|
|
|
|
col.active_border = $peach
|
|
|
|
#col.inactive_border = $peach
|
|
|
|
layout = dwindle
|
|
|
|
resize_on_border = false
|
2024-01-16 18:25:48 -06:00
|
|
|
}
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
decoration {
|
|
|
|
rounding = 6
|
|
|
|
drop_shadow = false
|
|
|
|
dim_special = 0.3
|
|
|
|
fullscreen_opacity = 1.0
|
|
|
|
|
|
|
|
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
|
2024-07-29 03:59:27 -05:00
|
|
|
kb_options = caps:swapescape
|
2024-06-25 04:13:51 -05:00
|
|
|
follow_mouse = 2
|
|
|
|
#follow_mouse = 3
|
|
|
|
mouse_refocus = false;
|
|
|
|
|
|
|
|
sensitivity = -.75 # -1.0 - 1.0, 0 means no modification.
|
|
|
|
force_no_accel = 1
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
2024-07-29 03:59:27 -05:00
|
|
|
no_direct_scanout = true
|
2024-01-16 18:25:48 -06:00
|
|
|
}
|
|
|
|
|
2024-03-18 20:08:42 -05:00
|
|
|
xwayland {
|
|
|
|
# latest configuration
|
|
|
|
# use_nearset_neighbor = true
|
|
|
|
# force_zero_scaling = true
|
|
|
|
# current configuration
|
2024-06-25 04:13:51 -05:00
|
|
|
use_nearest_neighbor = true
|
2024-03-18 20:08:42 -05:00
|
|
|
force_zero_scaling = false
|
|
|
|
}
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
cursor {
|
|
|
|
no_hardware_cursors = true
|
|
|
|
inactive_timeout = 2
|
|
|
|
no_warps = false
|
|
|
|
default_monitor = DP-1
|
|
|
|
}
|
2024-01-16 18:25:48 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
debug {
|
|
|
|
disable_logs = true
|
|
|
|
#disable_logs = false
|
|
|
|
}
|
2024-01-24 23:23:07 -06:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
#device {
|
|
|
|
# name = opentabletdriver-virtual-tablet
|
|
|
|
# enabled = yes
|
|
|
|
#}
|
2024-05-09 01:39:11 -05:00
|
|
|
|
2024-07-29 03:59:27 -05:00
|
|
|
experimental {
|
|
|
|
explicit_sync = true
|
|
|
|
}
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < End Section >
|
2024-05-09 01:39:11 -05:00
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
# < Start Section >
|
|
|
|
# dwindle layout
|
|
|
|
|
|
|
|
dwindle {
|
|
|
|
pseudotile = yes
|
|
|
|
preserve_split = yes
|
2024-05-09 01:39:11 -05:00
|
|
|
}
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < End Section >
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# < Start Section >
|
|
|
|
# master layout
|
|
|
|
|
|
|
|
master {
|
|
|
|
new_status = master
|
2024-05-09 01:39:11 -05:00
|
|
|
}
|
|
|
|
|
2024-06-25 04:13:51 -05:00
|
|
|
# < 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)$
|
|
|
|
|
|
|
|
# main
|
|
|
|
windowrulev2 = workspace 1 silent, class:^(discord)$
|
2024-07-29 03:59:27 -05:00
|
|
|
windowrulev2 = workspace 1 silent, class:^(Dopamine)$
|
2024-06-25 04:13:51 -05:00
|
|
|
windowrulev2 = workspace 1 silent, class:^(Spotify)$
|
2024-07-29 03:59:27 -05:00
|
|
|
windowrulev2 = workspace 2 silent, class:^(cool-retro-term.cool-retro-term)$
|
2024-06-25 04:13:51 -05:00
|
|
|
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)$
|
2024-07-29 03:59:27 -05:00
|
|
|
windowrulev2 = workspace 5 silent, class:^(steam)$
|
|
|
|
windowrulev2 = workspace 6 silent, class:^(Bolt.*)$
|
2024-06-25 04:13:51 -05:00
|
|
|
|
|
|
|
# development
|
|
|
|
windowrulev2 = pseudo, title:^(SnakePlusPlus)$
|
|
|
|
windowrulev2 = center, title:^(SnakePlusPlus)$
|
|
|
|
windowrulev2 = opacity 0.4, title:^(SnakePlusPlus)$
|
|
|
|
windowrulev2 = float, title:^(TetrisPlusPlus)$
|
|
|
|
windowrulev2 = center, title:^(TetrisPlusPlus)$
|
|
|
|
|
|
|
|
# games
|
|
|
|
# 16:9 windowed - 1920 1080
|
|
|
|
# 21:9 windowed - 2560 1080
|
|
|
|
# 32:9 windowed - 3200 900
|
|
|
|
# theoretical mix - 3200 1100
|
|
|
|
# runelite
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, class:^(net-runelite-client-RuneLite)$
|
|
|
|
windowrulev2 = pseudo, class:^(net-runelite-client-RuneLite)$
|
|
|
|
windowrulev2 = size 825 520, class:^(net-runelite-client-RuneLite)$
|
|
|
|
# minecraft
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, title:^(Minecraft.*)$
|
|
|
|
windowrulev2 = pseudo, title:^(Minecraft.*)$
|
|
|
|
windowrulev2 = size 3200 1100, title:^(Minecraft.*)$
|
|
|
|
# native
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_app_.*)$
|
|
|
|
windowrulev2 = pseudo, class:^(steam_app_.*)$
|
|
|
|
#windowrulev2 = size 3200 900, class:^(steam_app_.*)$
|
|
|
|
# proton
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_proton)$
|
|
|
|
windowrulev2 = pseudo, class:^(steam_proton)$
|
|
|
|
#windowrulev2 = size 3200 900, class:^(steam_proton)$
|
|
|
|
# hl2 (css, etc)
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, class:^(hl2_linux)$
|
|
|
|
# gamescope
|
|
|
|
windowrulev2 = opacity 1.00 override 1.00 override, class:^(gamescope)$
|
|
|
|
windowrulev2 = pseudo, class:^(gamescope)$
|
|
|
|
windowrulev2 = size 3200 1100, class:^(gamescope)$
|
|
|
|
|
|
|
|
# layer rules
|
|
|
|
layerrule = blur,waybar
|
|
|
|
layerrule = ignorezero, waybar
|
|
|
|
|
|
|
|
# xwaylandvideobridge
|
|
|
|
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
|
|
|
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
|
|
|
|
|
|
|
# < 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
|
2024-07-29 03:59:27 -05:00
|
|
|
bind = $mainMod, RETURN, exec, cool-retro-term
|
2024-06-25 04:13:51 -05:00
|
|
|
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
|
|
|
|
|
|
|
|
# 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 >
|