diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index ea9e4aa..55a573a 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -25,17 +25,17 @@ monitorv2 { position = 0x0 scale = 1 vrr = 2 - cm = srgb + # cm = srgb # Optional HDR settings - # cm = hdr - # bitdepth = 10 - # sdr_min_luminance = 0.005 - # sdr_max_luminance = 200 - # min_luminance = 0 - # max_luminance = 1000 - # max_avg_luminance = 200 - # sdrbrightness = 1.2 - # sdrsaturation = 0.98 + cm = hdr + bitdepth = 10 + sdr_min_luminance = 0.005 + sdr_max_luminance = 200 + min_luminance = 0 + max_luminance = 1000 + max_avg_luminance = 200 + sdrbrightness = 1.2 + sdrsaturation = 0.98 } source = ~/.config/hypr/keybindings.conf diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..5a8836e --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -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. or 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 +} diff --git a/.config/hypr/hyprqt6engine.conf b/.config/hypr/hyprqt6engine.conf new file mode 100644 index 0000000..a9f493b --- /dev/null +++ b/.config/hypr/hyprqt6engine.conf @@ -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 +} + diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf index 7842e55..5b73b7e 100644 --- a/.config/hypr/keybindings.conf +++ b/.config/hypr/keybindings.conf @@ -112,7 +112,7 @@ bind = SUPER, m, exec, ~/.local/bin/mpv-add.sh bind = SUPER SHIFT, s, exec, slurp | grim -g - - | wl-copy 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, o, exec, ~/.local/bin/ocr.sh bind = $mainMod, o, exec, ~/.local/bin/rofi-open tab diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf new file mode 100644 index 0000000..a07f855 --- /dev/null +++ b/.config/hypr/windowrules.conf @@ -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 +