update hyprland config

This commit is contained in:
2026-03-17 21:59:49 -07:00
parent 872fc61ba5
commit b20e439015
5 changed files with 214 additions and 11 deletions

View File

@@ -25,17 +25,17 @@ monitorv2 {
position = 0x0 position = 0x0
scale = 1 scale = 1
vrr = 2 vrr = 2
cm = srgb # cm = srgb
# Optional HDR settings # Optional HDR settings
# cm = hdr cm = hdr
# bitdepth = 10 bitdepth = 10
# sdr_min_luminance = 0.005 sdr_min_luminance = 0.005
# sdr_max_luminance = 200 sdr_max_luminance = 200
# min_luminance = 0 min_luminance = 0
# max_luminance = 1000 max_luminance = 1000
# max_avg_luminance = 200 max_avg_luminance = 200
# sdrbrightness = 1.2 sdrbrightness = 1.2
# sdrsaturation = 0.98 sdrsaturation = 0.98
} }
source = ~/.config/hypr/keybindings.conf source = ~/.config/hypr/keybindings.conf

106
.config/hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,106 @@
# sample hyprlock.conf
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
#
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
#
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
#
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
#
$font = Monospace
general {
hide_cursor = false
}
# uncomment to enable fingerprint authentication
auth {
fingerprint {
enabled = true
ready_message = Scan fingerprint to unlock
present_message = Scanning...
retry_delay = 250 # in milliseconds
}
}
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background {
monitor =
path = screenshot
blur_passes = 3
}
input-field {
monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.0) # no fill
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
font_color = rgb(143, 143, 143)
fade_on_empty = false
rounding = 15
font_family = $font
placeholder_text = Input password...
fail_text = $PAMFAIL
# uncomment to use a letter instead of a dot to indicate the typed password
# dots_text_format = *
# dots_size = 0.4
dots_spacing = 0.3
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
# hide_input = true
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
label {
monitor =
text = $LAYOUT[en,ru]
font_size = 24
onclick = hyprctl switchxkblayout all next
position = 250, -20
halign = center
valign = center
}

View File

@@ -0,0 +1,10 @@
theme = {
color_schema = "/usr/share/themes/Colloid-Purple-Dark-Catppuccin"
icon_theme = "Colloid-Purple-Catppuccin-Dark"
style = "kvantum-dark"
font_fixed = "JetBrainsMono Nerd Font"
font_fixed_size = 12
font = "Manrope ExtraLight"
font_size = 12
}

View File

@@ -112,7 +112,7 @@ bind = SUPER, m, exec, ~/.local/bin/mpv-add.sh
bind = SUPER SHIFT, s, exec, slurp | grim -g - - | wl-copy bind = SUPER SHIFT, s, exec, slurp | grim -g - - | wl-copy
bind = ,code:107, exec, ~/.local/bin/screenshot bind = ,code:107, exec, ~/.local/bin/screenshot
bind = SHIFT ,code:107, exec, grim -g "$(hyprctl activewindow -j | jq -r '.at[0],.at[1],.size[0],.size[1]' | tr '\n' ' ' | awk '{print $1","$2" "$3"x"$4}')" - | wl-copy bind = SHIFT ,code:107, exec, ~/.local/bin/screenshot-active-window.sh
bind = SUPER,code:107, exec, flameshot screen bind = SUPER,code:107, exec, flameshot screen
bind = SUPER, o, exec, ~/.local/bin/ocr.sh bind = SUPER, o, exec, ~/.local/bin/ocr.sh
bind = $mainMod, o, exec, ~/.local/bin/rofi-open tab bind = $mainMod, o, exec, ~/.local/bin/rofi-open tab

View File

@@ -0,0 +1,87 @@
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# {{{ Floating windows
windowrule = float on, match:class discord
windowrule = float on, match:class mpv
windowrule = float on, match:class anki
windowrule = float on, match:class steam
windowrule = float on, match:class python, match:title Import
windowrule = float on, match:class zenity, match:title Japanese Analysis
windowrule = float on, match:class zenity, match:title Japanese Assistant
windowrule = min_size 1600 600, match:class anki
windowrule = max_size 2222 1234, match:class anki
windowrule = no_focus on, no_follow_mouse 1, float on, no_shadow on, no_anim on, match:class ueberzugpp.*
windowrule = size 1920 1080, match:class anki
# windowrule = min_size 1600 600, match:class anki
# windowrule = max_size 2222 1234, match:class anki
# }}}
# {{{ Workspace assignments
windowrule = workspace 3 silent, match:class Cursor
windowrule = workspace 5 silent, match:class GameSentenceMiner
windowrule = workspace 5 silent, match:class com.obsproject.Studio
windowrule = workspace 6 silent, match:class gamescope
windowrule = workspace 8 silent, match:class anki
windowrule = workspace 9 silent, match:class steam
windowrule = workspace 10 silent, match:class discord
# }}}
# {{{ Center floating windows
windowrule = match:float 1, match:class discord, center on
windowrule = match:float 1, match:class anki, center on
# }}}
# {{{ Opacity rules
# windowrule = opacity 0.88, match:class .* fullscreen:0
windowrule = opacity 1.0 override, match:class mpv
windowrule = opacity 1.0 override, match:class ^(remote-viewer)$
windowrule = opacity 1.0 override, match:class com.obsproject.Studio
windowrule = opacity 1.0 override, match:title (.*)(- YouTube(.*))
windowrule = opacity 1.0 override, match:class zen, match:title (.*)YouTube TV(.*)
windowrule = opacity 1.0 override, match:class anki
windowrule = opacity 1.0 override, match:title (.*)asbplayer
windowrule = opacity 1.0 override, match:class dolphin-emu
windowrule = opacity 1.0 override, match:class steam_app_default
windowrule = opacity 1.0 override, match:class steam_app.*
windowrule = opacity 1.0 override, match:class Rustdesk
# }}}
# {{{ Misc
windowrule = tile on, match:title (.*)asbplayer
# windowrule = size 2118 1182, match:class anki
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppress_event maximize, match:class .*
# Fix some dragging issues with XWayland
windowrule = no_focus on,match:class ^$,match:title ^$,match:xwayland 1,match:float 1,match:fullscreen 0,match:pin 0
# }}}
# {{{ Screen sharing workaround: https://wiki.hyprland.org/Useful-Utilities/Screen-Sharing/#xwayland
windowrule = opacity 0.0 override, match:class ^(xwaylandvideobridge)$
windowrule = no_anim on, match:class ^(xwaylandvideobridge)$
windowrule = no_initial_focus on, match:class ^(xwaylandvideobridge)$
windowrule = max_size 1 1, match:class ^(xwaylandvideobridge)$
windowrule = no_blur on, match:class ^(xwaylandvideobridge)$
windowrule = no_focus on, match:class ^(xwaylandvideobridge)$
# }}}
# {{{ GSM Overlay and LunaTranslator tweaks
windowrule = float on, match:class gsm_overlay
windowrule = border_size 0, match:class gsm_overlay
windowrule = xray off, match:class gsm_overlay
windowrule = no_shadow on, match:class gsm_overlay
windowrule = no_blur on, match:class gsm_overlay
windowrule = opacity 1.0 override, match:title LunaTranslator
windowrule = border_size 0, match:title LunaTranslator
windowrule = stay_focused on, match:class gsm_overlay
# windowrule = fullscreen_state 2, match:class gsm_overlay
windowrule = float on, match:class SubMiner
windowrule = border_size 0, match:class SubMiner
windowrule = xray off override, match:class SubMiner
windowrule = no_shadow on, match:class SubMiner
windowrule = no_blur on, match:class SubMiner
windowrule = allows_input offf, match:class SubMiner
windowrule = border_size 0, match:class steam_app_1277940
# {{{ GSM Overlay and LunaTranslator tweaks