From 1daa984a30aa43e668d9a71ac673d46227b28ba4 Mon Sep 17 00:00:00 2001 From: sudacode Date: Wed, 27 May 2026 22:47:03 -0700 Subject: [PATCH] update --- .config/hypr/keybindings.lua | 12 +- .config/hypr/windowrules.lua | 447 +++++++++++++------------- .config/mpv/scripts/mpv-youtube-queue | 2 +- 3 files changed, 234 insertions(+), 227 deletions(-) diff --git a/.config/hypr/keybindings.lua b/.config/hypr/keybindings.lua index d3a86c1..b558935 100644 --- a/.config/hypr/keybindings.lua +++ b/.config/hypr/keybindings.lua @@ -168,13 +168,11 @@ hl.bind( -- ) -- Disable keybinds with one master keybind --- https://wiki.hypr.land/0.49.0/Configuring/Uncommon-tips--tricks/#disabling-keybinds-with-one-master-keybind --- PAGE DOWN -hl.bind(mainMod .. " + code:117", hl.dsp.submap("clean")) --- TODO: manual review — wrap the following binds in hl.define_submap("clean", function() ... end). The next 'submap = reset' closes the block. --- PAGE UP -hl.bind(mainMod .. " + code:112", hl.dsp.submap("reset")) --- (end of submap block) +hl.bind(mainMod .. " + Page_Down", hl.dsp.submap("clean")) +hl.define_submap("clean", function() + -- Page Up: exit clean submap + hl.bind(mainMod .. " + Page_Up", hl.dsp.submap("reset")) +end) hl.bind("SUPER + l", hl.dsp.exec_cmd("hyprlock")) diff --git a/.config/hypr/windowrules.lua b/.config/hypr/windowrules.lua index 9101ca6..26a614b 100644 --- a/.config/hypr/windowrules.lua +++ b/.config/hypr/windowrules.lua @@ -4,81 +4,81 @@ -- Generated by hyprlang2lua. Review TODOs before reloading Hyprland. hl.window_rule({ - match = { - class = "discord", - }, - float = true, + match = { + class = "discord", + }, + float = true, }) hl.window_rule({ - match = { - class = "mpv", - }, - float = true, + match = { + class = "mpv", + }, + float = true, }) hl.window_rule({ - match = { - class = "anki", - }, - float = true, + match = { + class = "anki", + }, + float = true, }) hl.window_rule({ - match = { - class = "steam", - }, - float = true, + match = { + class = "steam", + }, + float = true, }) hl.window_rule({ - match = { - class = "python", - title = "Import", - }, - float = true, + match = { + class = "python", + title = "Import", + }, + float = true, }) hl.window_rule({ - match = { - class = "zenity", - title = "Japanese Analysis", - }, - float = true, + match = { + class = "zenity", + title = "Japanese Analysis", + }, + float = true, }) hl.window_rule({ - match = { - class = "zenity", - title = "Japanese Assistant", - }, - float = true, + match = { + class = "zenity", + title = "Japanese Assistant", + }, + float = true, }) hl.window_rule({ - match = { - class = "anki", - }, - -- TODO: manual review — unmapped window rule action: "min_size 1600 600" - -- TODO: manual review — unmapped window rule action: "max_size 2222 1234" + match = { + class = "anki", + }, + -- TODO: manual review — unmapped window rule action: "min_size 1600 600" + -- TODO: manual review — unmapped window rule action: "max_size 2222 1234" }) hl.window_rule({ - match = { - class = "ueberzugpp.*", - }, - -- TODO: manual review — unmapped window rule action: "no_focus on" - -- TODO: manual review — unmapped window rule action: "no_follow_mouse 1" - float = true, - -- TODO: manual review — unmapped window rule action: "no_shadow on" - -- TODO: manual review — unmapped window rule action: "no_anim on" + match = { + class = "ueberzugpp.*", + }, + -- TODO: manual review — unmapped window rule action: "no_focus on" + -- TODO: manual review — unmapped window rule action: "no_follow_mouse 1" + float = true, + -- TODO: manual review — unmapped window rule action: "no_shadow on" + -- TODO: manual review — unmapped window rule action: "no_anim on" }) hl.window_rule({ - match = { - class = "anki", - }, - size = "1920 1080", + match = { + class = "anki", + }, + size = "1920 1080", }) -- windowrule = min_size 1600 600, match:class anki @@ -87,71 +87,71 @@ hl.window_rule({ -- {{{ Workspace assignments hl.window_rule({ - match = { - class = "Cursor", - }, - workspace = "3 silent", + match = { + class = "Cursor", + }, + workspace = "3 silent", }) hl.window_rule({ - match = { - class = "GameSentenceMiner", - }, - workspace = "5 silent", + match = { + class = "GameSentenceMiner", + }, + workspace = "5 silent", }) hl.window_rule({ - match = { - class = "com.obsproject.Studio", - }, - workspace = "5 silent", + match = { + class = "com.obsproject.Studio", + }, + workspace = "5 silent", }) hl.window_rule({ - match = { - class = "gamescope", - }, - workspace = "6 silent", + match = { + class = "gamescope", + }, + workspace = "6 silent", }) hl.window_rule({ - match = { - class = "anki", - }, - workspace = "8 silent", + match = { + class = "anki", + }, + workspace = "8 silent", }) hl.window_rule({ - match = { - class = "steam", - }, - workspace = "9 silent", + match = { + class = "steam", + }, + workspace = "9 silent", }) hl.window_rule({ - match = { - class = "discord", - }, - workspace = "10 silent", + match = { + class = "discord", + }, + workspace = "10 silent", }) -- }}} -- {{{ Center floating windows hl.window_rule({ - match = { - float = 1, - class = "discord", - }, - center = true, + match = { + float = 1, + class = "discord", + }, + center = true, }) hl.window_rule({ - match = { - float = 1, - class = "anki", - }, - center = true, + match = { + float = 1, + class = "anki", + }, + center = true, }) -- }}} @@ -159,231 +159,240 @@ hl.window_rule({ -- {{{ Opacity rules -- windowrule = opacity 0.88, match:class .* fullscreen:0 hl.window_rule({ - match = { - class = "mpv", - }, - opacity = "1.0 override", + match = { + class = "mpv", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "^(remote-viewer)$", - }, - opacity = "1.0 override", + match = { + class = "^(remote-viewer)$", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "com.obsproject.Studio", - }, - opacity = "1.0 override", + match = { + class = "com.obsproject.Studio", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - title = "(.*)(- YouTube(.*))", - }, - opacity = "1.0 override", + match = { + title = "(.*)(- YouTube(.*))", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "zen", - title = "(.*)YouTube TV(.*)", - }, - opacity = "1.0 override", + match = { + class = "zen", + title = "(.*)YouTube TV(.*)", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "anki", - }, - opacity = "1.0 override", + match = { + class = "anki", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - title = "(.*)asbplayer", - }, - opacity = "1.0 override", + match = { + title = "(.*)asbplayer", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "dolphin-emu", - }, - opacity = "1.0 override", + match = { + class = "dolphin-emu", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "steam_app_default", - }, - opacity = "1.0 override", + match = { + class = "steam_app_default", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "steam_app.*", - }, - opacity = "1.0 override", + match = { + class = "steam_app.*", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "Rustdesk", - }, - opacity = "1.0 override", + match = { + class = "Rustdesk", + }, + opacity = "1.0 override", }) hl.window_rule({ - match = { - class = "google-chrome", - }, - opacity = "1.0 override", + match = { + class = "google-chrome", + }, + opacity = "1.0 override", }) -- }}} -- {{{ Misc hl.window_rule({ - match = { - title = "(.*)asbplayer", - }, - -- TODO: manual review — unmapped window rule action: "tile on" + match = { + title = "(.*)asbplayer", + }, + -- TODO: manual review — unmapped window rule action: "tile on" }) -- windowrule = size 2118 1182, match:class anki -- Ignore maximize requests from apps. You'll probably like this. hl.window_rule({ - match = { - class = ".*", - }, - suppress_event = "maximize", + match = { + class = ".*", + }, + suppress_event = "maximize", }) -- Fix some dragging issues with XWayland hl.window_rule({ - match = { - class = "^$", - title = "^$", - xwayland = 1, - float = 1, - fullscreen = 0, - pin = 0, - }, - -- TODO: manual review — unmapped window rule action: "no_focus on" + match = { + class = "^$", + title = "^$", + xwayland = 1, + float = 1, + fullscreen = 0, + pin = 0, + }, + -- TODO: manual review — unmapped window rule action: "no_focus on" }) -- }}} -- {{{ Screen sharing workaround: https://wiki.hyprland.org/Useful-Utilities/Screen-Sharing/#xwayland hl.window_rule({ - match = { - class = "^(xwaylandvideobridge)$", - }, - opacity = "0.0 override", - -- TODO: manual review — unmapped window rule action: "no_anim on" - -- TODO: manual review — unmapped window rule action: "no_initial_focus on" - -- TODO: manual review — unmapped window rule action: "max_size 1 1" - -- TODO: manual review — unmapped window rule action: "no_blur on" - -- TODO: manual review — unmapped window rule action: "no_focus on" + match = { + class = "^(xwaylandvideobridge)$", + }, + opacity = "0.0 override", + -- TODO: manual review — unmapped window rule action: "no_anim on" + -- TODO: manual review — unmapped window rule action: "no_initial_focus on" + -- TODO: manual review — unmapped window rule action: "max_size 1 1" + -- TODO: manual review — unmapped window rule action: "no_blur on" + -- TODO: manual review — unmapped window rule action: "no_focus on" }) -- }}} -- {{{ GSM Overlay and LunaTranslator tweaks hl.window_rule({ - match = { - class = "gsm_overlay", - }, - float = true, - -- TODO: manual review — unmapped window rule action: "border_size 0" - -- TODO: manual review — unmapped window rule action: "xray off" - -- TODO: manual review — unmapped window rule action: "no_shadow on" - -- TODO: manual review — unmapped window rule action: "no_blur on" + match = { + class = "gsm_overlay", + }, + float = true, + -- TODO: manual review — unmapped window rule action: "border_size 0" + -- TODO: manual review — unmapped window rule action: "xray off" + -- TODO: manual review — unmapped window rule action: "no_shadow on" + -- TODO: manual review — unmapped window rule action: "no_blur on" }) hl.window_rule({ - match = { - title = "LunaTranslator", - }, - opacity = "1.0 override", - -- TODO: manual review — unmapped window rule action: "border_size 0" + match = { + title = "LunaTranslator", + }, + opacity = "1.0 override", + -- TODO: manual review — unmapped window rule action: "border_size 0" }) hl.window_rule({ - match = { - class = "gsm_overlay", - }, - -- TODO: manual review — unmapped window rule action: "stay_focused on" + match = { + class = "gsm_overlay", + }, + -- TODO: manual review — unmapped window rule action: "stay_focused on" }) -- windowrule = fullscreen_state 2, match:class gsm_overlay hl.window_rule({ - match = { - class = "SubMiner", - }, - float = true, - -- TODO: manual review — unmapped window rule action: "border_size 0" - -- TODO: manual review — unmapped window rule action: "xray off override" - -- TODO: manual review — unmapped window rule action: "no_shadow on" - -- TODO: manual review — unmapped window rule action: "no_blur on" - -- TODO: manual review — unmapped window rule action: "no_dim on" - -- TODO: manual review — unmapped window rule action: "opaque on" - -- TODO: manual review — unmapped window rule action: "dim_around off" - -- TODO: manual review — unmapped window rule action: "allows_input offf" + match = { + class = "steam_app_1277940", + }, + -- TODO: manual review — unmapped window rule action: "border_size 0" }) hl.window_rule({ - match = { - class = "steam_app_1277940", - }, - -- TODO: manual review — unmapped window rule action: "border_size 0" + match = { + class = "SubMiner", + }, + float = true, }) hl.window_rule({ - match = { - class = "SubMiner", - }, - opacity = "1.0 override", - pin = false, + match = { + class = "SubMiner", + }, + opacity = "1.0 override", + pin = false, +}) + +hl.window_rule({ + match = { + class = "SubMiner", + }, + + float = true, + border_size = 0, + xray = false, + no_shadow = true, + no_blur = true, + no_dim = true, + opaque = true, + dim_around = false, + allows_input = false, + opacity = "1.0 override", + pin = false, }) -- }}} -- {{{ FEH hl.window_rule({ - match = { - class = "feh", - }, - float = true, - center = true, - -- TODO: manual review — unmapped window rule action: "border_size 0" - -- TODO: manual review — unmapped window rule action: "no_shadow on" - -- TODO: manual review — unmapped window rule action: "no_blur on" - -- TODO: manual review — unmapped window rule action: "no_anim on" + match = { + class = "feh", + }, + float = true, + center = true, + -- TODO: manual review — unmapped window rule action: "border_size 0" + -- TODO: manual review — unmapped window rule action: "no_shadow on" + -- TODO: manual review — unmapped window rule action: "no_blur on" + -- TODO: manual review — unmapped window rule action: "no_anim on" }) -- }}} hl.window_rule({ - match = { - title = "Picture in picture", - }, - float = true, - pin = true, + match = { + title = "Picture in picture", + }, + float = true, + pin = true, }) -- TODO: manual review — top-level key 'windowurle = no_vrr on, match:class mpv' has no enclosing section -- aibar popup (AI usage widget) hl.window_rule({ - match = { - title = "aibar", - }, - float = true, - move = "100%-374 50", + match = { + title = "aibar", + }, + float = true, + move = "100%-374 50", }) - diff --git a/.config/mpv/scripts/mpv-youtube-queue b/.config/mpv/scripts/mpv-youtube-queue index 02506e5..09c7731 120000 --- a/.config/mpv/scripts/mpv-youtube-queue +++ b/.config/mpv/scripts/mpv-youtube-queue @@ -1 +1 @@ -../../mpv-modules/mpv-youtube-queue \ No newline at end of file +../../mpv-modules/mpv-youtube-queue/mpv-youtube-queue \ No newline at end of file