forked from Shinonome/dots-hyprland
hyprland: update config
This commit is contained in:
@@ -5,30 +5,6 @@ monitor=,preferred,auto,1,transform, 0
|
|||||||
# HDMI port: mirror display. To see device name, use `hyprctl monitors`
|
# HDMI port: mirror display. To see device name, use `hyprctl monitors`
|
||||||
# monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
# monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
||||||
|
|
||||||
input {
|
|
||||||
# Keyboard: Add a layout and uncomment kb_options for Win+Space switching shortcut
|
|
||||||
kb_layout = us
|
|
||||||
# kb_options = grp:win_space_toggle
|
|
||||||
numlock_by_default = true
|
|
||||||
repeat_delay = 250
|
|
||||||
repeat_rate = 35
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = yes
|
|
||||||
disable_while_typing = true
|
|
||||||
clickfinger_behavior = true
|
|
||||||
scroll_factor = 0.5
|
|
||||||
}
|
|
||||||
special_fallthrough = true
|
|
||||||
follow_mouse = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
# focus_window_on_workspace_c# For Auto-run stuff see execs.confhange = true
|
|
||||||
scroll_event_delay = 0
|
|
||||||
hide_special_on_workspace_change = true
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
gestures {
|
||||||
workspace_swipe = true
|
workspace_swipe = true
|
||||||
workspace_swipe_distance = 700
|
workspace_swipe_distance = 700
|
||||||
@@ -46,24 +22,25 @@ general {
|
|||||||
gaps_in = 4
|
gaps_in = 4
|
||||||
gaps_out = 5
|
gaps_out = 5
|
||||||
gaps_workspaces = 50
|
gaps_workspaces = 50
|
||||||
border_size = 1
|
|
||||||
|
|
||||||
# Fallback colors
|
border_size = 1
|
||||||
col.active_border = rgba(0DB7D4FF)
|
col.active_border = rgba(0DB7D4FF)
|
||||||
col.inactive_border = rgba(31313600)
|
col.inactive_border = rgba(31313600)
|
||||||
|
|
||||||
resize_on_border = true
|
resize_on_border = true
|
||||||
no_focus_fallback = true
|
|
||||||
layout = dwindle
|
|
||||||
|
|
||||||
#focus_to_other_workspaces = true # ahhhh i still haven't properly implemented this
|
no_focus_fallback = true
|
||||||
|
|
||||||
allow_tearing = true # This just allows the `immediate` window rule to work
|
allow_tearing = true # This just allows the `immediate` window rule to work
|
||||||
|
|
||||||
|
snap {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dwindle {
|
dwindle {
|
||||||
preserve_split = true
|
preserve_split = true
|
||||||
smart_split = false
|
smart_split = false
|
||||||
smart_resizing = false
|
smart_resizing = false
|
||||||
}
|
}
|
||||||
|
|
||||||
decoration {
|
decoration {
|
||||||
@@ -75,7 +52,7 @@ decoration {
|
|||||||
special = false
|
special = false
|
||||||
new_optimizations = true
|
new_optimizations = true
|
||||||
size = 14
|
size = 14
|
||||||
passes = 4
|
passes = 3
|
||||||
brightness = 1
|
brightness = 1
|
||||||
noise = 0.01
|
noise = 0.01
|
||||||
contrast = 1
|
contrast = 1
|
||||||
@@ -83,73 +60,91 @@ decoration {
|
|||||||
popups_ignorealpha = 0.6
|
popups_ignorealpha = 0.6
|
||||||
}
|
}
|
||||||
|
|
||||||
# Shadow
|
|
||||||
shadow {
|
shadow {
|
||||||
enabled = true
|
enabled = true
|
||||||
ignore_window = true
|
ignore_window = true
|
||||||
range = 20
|
range = 70
|
||||||
offset = 0 2
|
offset = 0 4
|
||||||
render_power = 4
|
render_power = 2
|
||||||
color = rgba(0000002A)
|
color = rgba(00000008)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Window Opacities
|
|
||||||
# active_opacity = 1
|
|
||||||
# inactive_opacity = 1
|
|
||||||
# fullscreen_opacity = 1
|
|
||||||
|
|
||||||
# Shader
|
|
||||||
# screen_shader = ~/.config/hypr/shaders/nothing.frag
|
|
||||||
# screen_shader = ~/.config/hypr/shaders/vibrance.frag
|
|
||||||
# screen_shader = /home/end/.config/hypr/shaders/antiflash.frag
|
|
||||||
|
|
||||||
# Dim
|
# Dim
|
||||||
dim_inactive = false
|
dim_inactive = true
|
||||||
dim_strength = 0.1
|
dim_strength = 0.025
|
||||||
dim_special = 0
|
dim_special = 0.07
|
||||||
}
|
}
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = true
|
enabled = true
|
||||||
# Animation curves
|
# Curves
|
||||||
|
|
||||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||||
|
bezier = md2_decel, 0, 0, 0, 1
|
||||||
bezier = menu_decel, 0.1, 1, 0, 1
|
bezier = menu_decel, 0.1, 1, 0, 1
|
||||||
bezier = menu_accel, 0.52, 0.03, 0.72, 0.08
|
bezier = menu_accel, 0.52, 0.03, 0.72, 0.08
|
||||||
# Animation configs
|
# Configs
|
||||||
animation = windows, 1, 3, md3_decel, popin 60%
|
# windows
|
||||||
animation = windowsIn, 1, 3, md3_decel, popin 60%
|
animation = windowsIn, 1, 3, md3_decel, popin 80%
|
||||||
animation = windowsOut, 1, 3, md3_accel, popin 60%
|
animation = windowsOut, 1, 2, md3_decel, popin 90%
|
||||||
animation = border, 1, 10, default
|
animation = windowsMove, 1, 3, md3_decel, slide
|
||||||
animation = fade, 1, 3, md3_decel
|
animation = border, 1, 10, md3_decel
|
||||||
# animation = layers, 1, 2, md3_decel, slide
|
# layers
|
||||||
animation = layersIn, 1, 2.7, md3_decel, slide
|
animation = layersIn, 1, 2.7, md3_decel, popin 93%
|
||||||
animation = layersOut, 1, 1.8, menu_accel
|
animation = layersOut, 1, 1.8, menu_accel, popin 94%
|
||||||
|
# fade
|
||||||
animation = fadeLayersIn, 1, 0.5, menu_decel
|
animation = fadeLayersIn, 1, 0.5, menu_decel
|
||||||
animation = fadeLayersOut, 1, 3, menu_accel
|
animation = fadeLayersOut, 1, 2, menu_accel
|
||||||
|
# workspaces
|
||||||
animation = workspaces, 1, 7, menu_decel, slide
|
animation = workspaces, 1, 7, menu_decel, slide
|
||||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
## specialWorkspace
|
||||||
|
animation = specialWorkspaceIn, 1, 3, md3_decel, slidevert
|
||||||
|
animation = specialWorkspaceOut, 1, 1.3, md3_accel, slidevert
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
numlock_by_default = true
|
||||||
|
repeat_delay = 250
|
||||||
|
repeat_rate = 35
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = yes
|
||||||
|
disable_while_typing = true
|
||||||
|
clickfinger_behavior = true
|
||||||
|
scroll_factor = 0.5
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
vfr = 1
|
|
||||||
vrr = 1
|
|
||||||
animate_manual_resizes = false
|
|
||||||
animate_mouse_windowdragging = false
|
|
||||||
enable_swallow = false
|
|
||||||
swallow_regex = (foot|kitty|allacritty|Alacritty)
|
|
||||||
|
|
||||||
disable_hyprland_logo = true
|
disable_hyprland_logo = true
|
||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
force_default_wallpaper = 0
|
vfr = 1
|
||||||
|
vrr = 1
|
||||||
|
mouse_move_enables_dpms = true
|
||||||
|
key_press_enables_dpms = true
|
||||||
|
animate_manual_resizes = false
|
||||||
|
animate_mouse_windowdragging = false
|
||||||
|
enable_swallow = true
|
||||||
|
swallow_regex = (foot|kitty|allacritty|Alacritty)
|
||||||
new_window_takes_over_fullscreen = 2
|
new_window_takes_over_fullscreen = 2
|
||||||
allow_session_lock_restore = true
|
allow_session_lock_restore = true
|
||||||
|
|
||||||
initial_workspace_tracking = false
|
initial_workspace_tracking = false
|
||||||
focus_on_activate = true
|
focus_on_activate = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
scroll_event_delay = 0
|
||||||
|
hide_special_on_workspace_change = true
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
zoom_factor = 1
|
||||||
|
zoom_rigid = false
|
||||||
|
}
|
||||||
|
|
||||||
# Overview
|
# Overview
|
||||||
plugin {
|
plugin {
|
||||||
hyprexpo {
|
hyprexpo {
|
||||||
|
|||||||
@@ -63,6 +63,9 @@ bindd = Ctrl+Alt, R, Record screen (no sound), exec, ~/.config/hypr/hyprland/rec
|
|||||||
bindd = Super+Shift+Alt, R, Record screen (with sound), exec, ~/.config/hypr/hyprland/record-script.sh --fullscreen-sound # Record screen (with sound)
|
bindd = Super+Shift+Alt, R, Record screen (with sound), exec, ~/.config/hypr/hyprland/record-script.sh --fullscreen-sound # Record screen (with sound)
|
||||||
# AI
|
# AI
|
||||||
bindd = Super+Shift+Alt, mouse:273, Generate AI summary for selected text, exec, ~/.config/ags/scripts/ai/primary-buffer-query.sh # AI summary for selected text
|
bindd = Super+Shift+Alt, mouse:273, Generate AI summary for selected text, exec, ~/.config/ags/scripts/ai/primary-buffer-query.sh # AI summary for selected text
|
||||||
|
# Zoom
|
||||||
|
binde = Super, Minus, exec, ~/.config/hypr/hyprland/zoom.sh decrease 0.1
|
||||||
|
binde = Super, Equal, exec, ~/.config/hypr/hyprland/zoom.sh increase 0.1
|
||||||
|
|
||||||
#!
|
#!
|
||||||
##! Window
|
##! Window
|
||||||
@@ -87,9 +90,7 @@ bind = Super+Shift+Alt, Q, exec, hyprctl kill # Forcefully zap a window
|
|||||||
|
|
||||||
|
|
||||||
# Window split ratio
|
# Window split ratio
|
||||||
#/# binde = Super, +/-,, # Adjust split ratio
|
#/# binde = Super, ;/',, # Adjust split ratio
|
||||||
binde = Super, Minus, splitratio, -0.1 # [hidden]
|
|
||||||
binde = Super, Equal, splitratio, +0.1 # [hidden]
|
|
||||||
binde = Super, Semicolon, splitratio, -0.1 # [hidden]
|
binde = Super, Semicolon, splitratio, -0.1 # [hidden]
|
||||||
binde = Super, Apostrophe, splitratio, +0.1 # [hidden]
|
binde = Super, Apostrophe, splitratio, +0.1 # [hidden]
|
||||||
# Positioning mode
|
# Positioning mode
|
||||||
|
|||||||
@@ -111,7 +111,6 @@ layerrule = animation slide left, quickshell:sidebarLeft
|
|||||||
layerrule = animation slide top, quickshell:onScreenDisplay
|
layerrule = animation slide top, quickshell:onScreenDisplay
|
||||||
layerrule = blur, quickshell:session
|
layerrule = blur, quickshell:session
|
||||||
layerrule = noanim, quickshell:session
|
layerrule = noanim, quickshell:session
|
||||||
layerrule = noanim, quickshell:cheatsheet
|
|
||||||
# Launchers need to be FAST
|
# Launchers need to be FAST
|
||||||
layerrule = noanim, quickshell:overview
|
layerrule = noanim, quickshell:overview
|
||||||
layerrule = noanim, launcher
|
layerrule = noanim, launcher
|
||||||
|
|||||||
Executable
+54
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Controls Hyprland's cursor zoom_factor, clamped between 1.0 and 3.0
|
||||||
|
|
||||||
|
# Get current zoom level
|
||||||
|
get_zoom() {
|
||||||
|
hyprctl getoption -j cursor:zoom_factor | jq '.float'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clamp a value between 1.0 and 3.0
|
||||||
|
clamp() {
|
||||||
|
local val="$1"
|
||||||
|
awk "BEGIN {
|
||||||
|
v = $val;
|
||||||
|
if (v < 1.0) v = 1.0;
|
||||||
|
if (v > 3.0) v = 3.0;
|
||||||
|
print v;
|
||||||
|
}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set zoom level
|
||||||
|
set_zoom() {
|
||||||
|
local value="$1"
|
||||||
|
clamped=$(clamp "$value")
|
||||||
|
hyprctl keyword cursor:zoom_factor "$clamped"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
reset)
|
||||||
|
set_zoom 1.0
|
||||||
|
;;
|
||||||
|
increase)
|
||||||
|
if [[ -z "$2" ]]; then
|
||||||
|
echo "Usage: $0 increase STEP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
current=$(get_zoom)
|
||||||
|
new=$(awk "BEGIN { print $current + $2 }")
|
||||||
|
set_zoom "$new"
|
||||||
|
;;
|
||||||
|
decrease)
|
||||||
|
if [[ -z "$2" ]]; then
|
||||||
|
echo "Usage: $0 decrease STEP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
current=$(get_zoom)
|
||||||
|
new=$(awk "BEGIN { print $current - $2 }")
|
||||||
|
set_zoom "$new"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {reset|increase STEP|decrease STEP}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user