01: update config
This commit is contained in:
+394
-87
@@ -1,137 +1,444 @@
|
||||
# Monitor
|
||||
monitor=,highrr,auto,1.00
|
||||
source = ~/.config/hypr/colorscheme.conf # Catppuccin colorscheme
|
||||
|
||||
# Startup
|
||||
exec-once = hyprpaper
|
||||
exec-once = waybar -c ~/.config/waybar/config.json
|
||||
exec-once = pulseaudio
|
||||
exec-once = linux-discord-rich-presence --config ~/.config/linux-discord-rich-presencerc
|
||||
exec-once = syncthing --no-browser
|
||||
# < Start Section >
|
||||
# monitors
|
||||
|
||||
# Settings
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 2
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = 0
|
||||
monitorv2 {
|
||||
output = eDP-1
|
||||
mode = highrr
|
||||
position = 0x0 # alt: 0x0
|
||||
bitdepth = 8
|
||||
cm = edid
|
||||
}
|
||||
|
||||
# HDMI port
|
||||
monitorv2 {
|
||||
output =
|
||||
mode = highrr
|
||||
position = 1920x0 # alt: 0x0
|
||||
scale = 1.00
|
||||
bitdepth = 8
|
||||
cm = edid
|
||||
}
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < 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, volantes
|
||||
env = HYPRCURSOR_SIZE, 30
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
|
||||
#env = HYPRLAND_TRACE,1
|
||||
#env = AQ_TRACE,1
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# startup applications
|
||||
|
||||
# environment launches
|
||||
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
|
||||
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 = sleep 1 && hyprpm reload
|
||||
#exec-once = wayvnc --output=DP-3 0.0.0.0
|
||||
|
||||
# xrandr settings
|
||||
#exec-once = ~/.config/hypr/scripts/xrandr.sh
|
||||
|
||||
# background applications
|
||||
exec-once = waybar -c ~/.config/waybar/config
|
||||
exec-once = dunst
|
||||
exec-once = swww-daemon
|
||||
exec-once = syncthing --no-browser
|
||||
#exec-once = xwaylandvideobridge
|
||||
#exec-once = pulsemeeter
|
||||
|
||||
# main applications
|
||||
exec-once = thunderbird
|
||||
#exec-once = obs
|
||||
#exec-once = vesktop --ozone-platform-hint=auto --enable-webrtc-pipewire-capturer --enable-features=WaylandWindowDecorations
|
||||
exec-once = commet
|
||||
#exec-once = spotify
|
||||
#exec-once = dopamine
|
||||
exec-once = alacritty
|
||||
exec-once = floorp
|
||||
exec-once = env JAVA_HOME=/usr/lib/jvm/java-17-openjdk bolt > /tmp/bolt-launcher.log 2>&1
|
||||
|
||||
# obsidian planner
|
||||
exec-once = ~/sync/obsidian/Trinote/create-week.sh
|
||||
|
||||
# completion alert
|
||||
# exec-once = sleep 5 && pw-play --volume=2.0 ~/.alert/finished.mp3
|
||||
|
||||
# first time lock
|
||||
exec-once = hyprlock
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# workspace rules
|
||||
|
||||
# smart gaps
|
||||
#workspace = w[tv1], gapsout:25 725 25 725, gapsin:0
|
||||
workspace = w[tv1] r[4-5], gapsout:0 0 0 0, gapsin:0
|
||||
|
||||
# gaps numbers (top, right, bottom, left)
|
||||
# Workspaces swapped for ease of use
|
||||
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:HDMI-A-1, persistent:true, gapsout:0
|
||||
workspace = 6, monitor:eDP-1, persistent:true
|
||||
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# variables
|
||||
|
||||
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
border_size = 0
|
||||
layout = dwindle
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
border_size = 3
|
||||
#col.active_border = rgb($yellow)
|
||||
col.active_border = rgb($fg)
|
||||
col.inactive_border = rgb($bg)
|
||||
layout = dwindle
|
||||
resize_on_border = false
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
blur {
|
||||
enabled = false
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
drop_shadow = false
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
active_opacity = 0.75
|
||||
inactive_opacity = 0.75
|
||||
rounding_power = 2
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 32
|
||||
render_power = 2
|
||||
color = rgba(00000050)
|
||||
}
|
||||
dim_special = 0.3
|
||||
fullscreen_opacity = 1.0
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
special = true
|
||||
size = 3
|
||||
passes = 4
|
||||
new_optimizations = true
|
||||
ignore_opacity = true
|
||||
xray = true
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
animation = windows, 1, 8, default
|
||||
animation = windowsOut, 1, 8, default
|
||||
animation = border, 1, 8, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 8, default
|
||||
animation = workspaces, 1, 8, default, slidefade 80%
|
||||
enabled = true
|
||||
|
||||
bezier = easeOutQuint, 0.23, 1, 0.32, 1
|
||||
bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = almostLinear, 0.5, 0.5, 0.75, 1
|
||||
bezier = quick, 0.15, 0, 0.1, 1
|
||||
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
animation = zoomFactor, 1, 7, quick
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = yes
|
||||
preserve_split = yes
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_options = caps:escape
|
||||
follow_mouse = 2
|
||||
mouse_refocus = true
|
||||
force_no_accel = 1
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
master {
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
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 {
|
||||
vfr = true
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_default_wallpaper = 0
|
||||
vrr = 1
|
||||
vfr = true
|
||||
middle_click_paste = false
|
||||
render_unfocused_fps = 15
|
||||
}
|
||||
|
||||
device:epic-mouse-v1 {
|
||||
sensitivity = -0.5
|
||||
xwayland {
|
||||
enabled = true
|
||||
use_nearest_neighbor = true
|
||||
force_zero_scaling = false
|
||||
}
|
||||
|
||||
# Window rules
|
||||
windowrule = float, ^(SnakePlusPlus)$
|
||||
windowrule = center, ^(SnakePlusPlus)$
|
||||
cursor {
|
||||
inactive_timeout = 2
|
||||
no_warps = false
|
||||
persistent_warps = true
|
||||
default_monitor = eDP-1
|
||||
warp_on_change_workspace = false
|
||||
}
|
||||
|
||||
# General binds
|
||||
debug {
|
||||
disable_logs = true
|
||||
#overlay
|
||||
full_cm_proto = true
|
||||
}
|
||||
|
||||
render {
|
||||
new_render_scheduling = true
|
||||
direct_scanout = true
|
||||
}
|
||||
|
||||
# Disable touchscreen
|
||||
device {
|
||||
name = gxtp7386:00-27c6:011a
|
||||
enabled = false
|
||||
}
|
||||
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# master layout
|
||||
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# dwindle layout
|
||||
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
smart_resizing = true
|
||||
}
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# window rules
|
||||
|
||||
# core
|
||||
windowrule {
|
||||
name = globals
|
||||
match:class = ^(.*)$
|
||||
suppress_event = maximize fullscreen
|
||||
render_unfocused = true
|
||||
opacity = 0.75 0.75
|
||||
pseudo = false
|
||||
}
|
||||
|
||||
windowrule = match:workspace 1, float true
|
||||
windowrule = match:workspace 2, float true
|
||||
windowrule = match:class ^(qt5ct)$, float true
|
||||
windowrule = match:class ^(nwg-look)$, float true
|
||||
windowrule = match:class ^(pavucontrol)$, float true
|
||||
windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, float true
|
||||
windowrule = match:class ^(org.speedcrunch.speedcrunch)$, float true
|
||||
|
||||
# main
|
||||
#windowrule = match:class ^(discord)$, workspace 1 silent
|
||||
#windowrule = match:class ^(vesktop)$, workspace 1 silent
|
||||
windowrule = match:class ^(chat.commet.commetapp)$, workspace 1 silent
|
||||
windowrule = match:class ^(thunderbird)$, workspace 1 silent
|
||||
windowrule = match:class ^(Dopamine)$, workspace 1 silent
|
||||
windowrule = match:class ^(spotify)$, workspace 1 silent
|
||||
windowrule = match:class ^(steam)$, workspace 6 silent
|
||||
|
||||
# workspace 2 group
|
||||
windowrule = match:class ^(floorp)$, workspace 3 silent
|
||||
windowrule = match:class ^(floorp)$, tile true
|
||||
windowrule = match:class ^(Alacritty)$, workspace 2 silent
|
||||
windowrule = match:class ^(Alacritty)$, tile true
|
||||
windowrule = match:class ^(net-runelite-client-RuneLite)$, opacity 1.00 override 1.00 override
|
||||
|
||||
# tag games
|
||||
windowrule = match:xdg_tag proton-game, tag +game
|
||||
windowrule = match:title ^(Warframe)$, tag +game
|
||||
windowrule = match:class ^(org.prismlauncher.PrismLauncher)$, tag +game
|
||||
windowrule = match:class ^(Minecraft.*)$, tag +game
|
||||
windowrule = match:class ^(steam_app_.*)$, tag +game
|
||||
windowrule = match:class ^(steam_proton)$, tag +game
|
||||
windowrule = match:class ^(cstrike_linux64)$, tag +game
|
||||
windowrule = match:class ^(dota2)$, tag +game
|
||||
windowrule = match:class ^(gamescope)$, tag +game
|
||||
windowrule = match:class ^(wowclassic.exe)$, tag +game
|
||||
windowrule = match:title ^(World of Warcraft)$, tag +game
|
||||
windowrule = match:class ^(RuneScape)$, tag +game
|
||||
#windowrule = match:class ^(bolt.*)$, tag +game
|
||||
windowrule = match:class ^(Minecraft.*)$, tag +game
|
||||
#windowrule = match:class ^(net-runelite-client-RuneLite)$, tag +game
|
||||
# Runelite opacity likes to skip after login
|
||||
windowrule = match:class ^(net-runelite-client-RuneLite)$, opacity 1.00 override 1.00 override
|
||||
|
||||
windowrule {
|
||||
name = games
|
||||
match:tag = game
|
||||
workspace = 4 silent
|
||||
opacity = 1.00 override 1.00 override
|
||||
float = true
|
||||
no_initial_focus = true
|
||||
suppress_event = maximize
|
||||
}
|
||||
|
||||
# layer rules
|
||||
layerrule = match:namespace waybar, blur true
|
||||
layerrule = match:namespace waybar, ignore_alpha 0
|
||||
|
||||
# xwaylandvideobridge
|
||||
windowrule = match:class ^(xwaylandvideobridge)$, opacity 0.0 override
|
||||
windowrule = match:class ^(xwaylandvideobridge)$, no_anim true
|
||||
windowrule = match:class ^(xwaylandvideobridge)$, no_initial_focus true
|
||||
windowrule = match:class ^(xwaylandvideobridge)$, max_size 1 1
|
||||
windowrule = match:class ^(xwaylandvideobridge)$, no_blur true
|
||||
|
||||
# < End Section >
|
||||
|
||||
|
||||
|
||||
# < Start Section >
|
||||
# keybinds
|
||||
|
||||
# main modifier
|
||||
$mainMod = SUPER
|
||||
bind = $mainMod, RETURN, exec, alacritty
|
||||
bind = $mainMod SHIFT, P, pseudo
|
||||
|
||||
# passthrough
|
||||
#bind = , mouse:275, pass, class:^(discord)$
|
||||
#bind = , mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
|
||||
#bind = SHIFT, mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
|
||||
|
||||
# core binds
|
||||
bind = $mainMod SHIFT, Q, killactive
|
||||
bind = $mainMod SHIFT, L, exec, swaylock -e -c 000000
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod SHIFT, M, exit
|
||||
bind = $mainMod, SPACE, togglefloating
|
||||
bind = $mainMod, S, exec, wofi --show drun
|
||||
bind = $mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only
|
||||
bind = $mainMod, C, centerwindow
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod SHIFT, L, exec, hyprlock
|
||||
bind = $mainMod $CONTROL, ESCAPE, exec, killall waybar || waybar -c ~/.config/waybar/config # toggle waybar
|
||||
|
||||
# Laptop binds
|
||||
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||
binde = , XF86AudioMute, exec, pulseaudio-ctl mute
|
||||
binde = , XF86AudioLowerVolume, exec, pulseaudio-ctl down
|
||||
binde = , XF86AudioRaiseVolume, exec, pulseaudio-ctl up
|
||||
# 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
|
||||
bind = $mainMod, 9, exec, taskset -c 1-7 steam
|
||||
bind = $mainMod, 0, exec, JAVA_HOME=/usr/lib/jvm/java-17-openjdk bolt --ozone-platform=wayland > /tmp/bolt-launcher.log 2>&1
|
||||
|
||||
# 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%
|
||||
|
||||
# Move focus
|
||||
# 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
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
# 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
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 1, centerwindow
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 2, centerwindow
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 3, centerwindow
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 4, centerwindow
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 5, centerwindow
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 6, centerwindow
|
||||
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
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
# 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
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde = $mainMod, right, resizeactive, 10 0
|
||||
binde = $mainMod, left, resizeactive, -10 0
|
||||
binde = $mainMod, up, resizeactive, 0 -10
|
||||
binde = $mainMod, down, resizeactive, 0 10
|
||||
# recordings
|
||||
bind = SUPER, R, pass, class:^(com\.obsproject\.Studio)$
|
||||
bind = SUPER, F9, pass, class:^(com\.obsproject\.Studio)$
|
||||
bind = SUPER, F10, pass, class:^(com\.obsproject\.Studio)$
|
||||
|
||||
# < End Section >
|
||||
|
||||
Reference in New Issue
Block a user