From 145263904a8951fd8d5b7a5e49d0415e8f240e14 Mon Sep 17 00:00:00 2001 From: sudacode Date: Sat, 21 Mar 2026 15:13:22 -0700 Subject: [PATCH] idk --- .claude/settings.json##os.Linux | 15 ++++++++-- .codex/config.toml##os.Linux | 20 ++++++++++++- .config/SubMiner/config.jsonc##os.Linux | 28 +++++++++++++++---- .config/ghostty/config##Default | 4 +++ .config/hypr/hyprland.conf | 8 +++--- .config/hypr/hyprqt6engine.conf | 4 +-- .config/hypr/keybindings.conf | 2 +- .config/hypr/windowrules.conf | 5 ++++ .config/mpv-modules/ModernZ | 2 +- .config/mpv-modules/mpv-anilist-updater | 2 +- .config/mpv-modules/mpv-youtube-queue | 2 +- .config/mpv/input.conf##os.Linux | 2 ++ .../waybar/catppuccin-macchiato/config.jsonc | 8 +++--- .config/waybar/catppuccin-macchiato/style.css | 4 +-- .config/waybar/scripts/wttr.sh | 6 ++-- projects/scripts/screenshot-active-window.sh | 24 ++++++++++++++-- 16 files changed, 106 insertions(+), 30 deletions(-) diff --git a/.claude/settings.json##os.Linux b/.claude/settings.json##os.Linux index 687350d..a887226 100644 --- a/.claude/settings.json##os.Linux +++ b/.claude/settings.json##os.Linux @@ -17,7 +17,17 @@ "mcp__plugin_playwright_playwright__browser_click", "mcp__plugin_playwright_playwright__browser_take_screenshot", "mcp__plugin_playwright_playwright__browser_close", - "Bash(bun run:*)" + "Bash(bun run:*)", + "mcp__plugin_playwright_playwright__browser_evaluate", + "Read(//home/sudacode/.config/**)", + "Bash(find ~/.config -path */SubMiner/* -type f)", + "Bash(sqlite3 /home/sudacode/.config/SubMiner/immersion.sqlite \"SELECT name FROM sqlite_master WHERE type=''table'' LIMIT 5;\")", + "Bash(sqlite3 /home/sudacode/.config/SubMiner/immersion.sqlite \".tables\")", + "Bash(sqlite3 /home/sudacode/.config/SubMiner/immersion.sqlite \"SELECT text FROM imm_subtitle_lines ORDER BY RANDOM\\(\\) LIMIT 25\")", + "Bash(pkill -f \"python3 -m http.server 9876\")", + "Read(//home/sudacode/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.5/skills/brainstorming/**)", + "Bash(/home/sudacode/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.5/skills/brainstorming/scripts/start-server.sh --project-dir /home/sudacode/projects/japanese/SubMiner)", + "Read(//home/sudacode/**)" ], "deny": [ "Bash(curl *)", @@ -51,7 +61,8 @@ "code-simplifier@claude-plugins-official": true, "playwright@claude-plugins-official": true, "superpowers@claude-plugins-official": true, - "coderabbit@claude-plugins-official": true + "coderabbit@claude-plugins-official": true, + "discord@claude-plugins-official": true }, "sandbox": { "enabled": false, diff --git a/.codex/config.toml##os.Linux b/.codex/config.toml##os.Linux index e4e1693..c4d1958 100644 --- a/.codex/config.toml##os.Linux +++ b/.codex/config.toml##os.Linux @@ -1,4 +1,4 @@ -model = "gpt-5.4" +model = "gpt-5.4-mini" model_reasoning_effort = "high" personality = "pragmatic" tool_output_token_limit = 25000 @@ -132,6 +132,24 @@ trust_level = "trusted" [projects."/home/sudacode/.config/ranger"] trust_level = "trusted" +[projects."/home/sudacode/projects/japanese/texthooker-ui"] +trust_level = "trusted" + +[projects."/home/sudacode/.config/uwsm"] +trust_level = "trusted" + +[projects."/home/sudacode/.cache/paru/clone/t3code-bin"] +trust_level = "trusted" + +[projects."/home/sudacode/.config/yt-dlp/plugins/yt-dlp-hianime/yt_dlp_plugins/extractor"] +trust_level = "trusted" + +[projects."/home/sudacode/.config"] +trust_level = "trusted" + +[projects."/home/sudacode/.config/mpv-modules/ModernZ"] +trust_level = "trusted" + [notice.model_migrations] "gpt-5.3-codex" = "gpt-5.4" diff --git a/.config/SubMiner/config.jsonc##os.Linux b/.config/SubMiner/config.jsonc##os.Linux index a2a6a30..0527a34 100644 --- a/.config/SubMiner/config.jsonc##os.Linux +++ b/.config/SubMiner/config.jsonc##os.Linux @@ -87,6 +87,7 @@ "animatedCrf": 35, "audioPadding": 0.5, "fallbackDuration": 3, + "syncAnimatedImageToWordAudio": true, }, "behavior": { "overwriteAudio": false, @@ -99,12 +100,13 @@ }, "knownWords": { "decks": { - "Minecraft": ["Expression", "Reading"], - "Kaishi 1.5k": ["Word", "Word Reading"] + "Minecraft": ["Expression", "Reading"], + "Kaishi 1.5k": ["Word", "Word Reading"], }, "highlightEnabled": true, "refreshMinutes": 60, "matchMode": "headword", + "addMinedWordsImmediately": true, }, "nPlusOne": { "minSentenceWords": 3, @@ -154,6 +156,7 @@ "textShadow": "0 3px 10px rgba(0,0,0,0.69)", "fontStyle": "normal", // "backgroundColor": "transparent", + "backgroundColor": "#232634", "hoverTokenColor": "#f4dbd6", "hoverBackground": "rgba(54, 58, 79, 0.84)", "preserveLineBreaks": false, @@ -258,10 +261,6 @@ "subtitleDictionaries": true, "jellyfinRemoteSession": false, }, - "controller": { - "preferredGamepadId": "8BitDo 8BitDo Ultimate 2 Wireless Controller for PC (Vendor: 2dc8 Product: 310b)", - "preferredGamepadLabel": "8BitDo 8BitDo Ultimate 2 Wireless Controller for PC (Vendor: 2dc8 Product: 310b)", - }, "yomitan": { "externalProfilePath": "", }, @@ -271,4 +270,21 @@ "autoStartServer": true, // Automatically start the stats server on launch. Values: true | false "autoOpenBrowser": false, }, // Local immersion stats dashboard served on localhost and available as an in-app overlay. + "subtitleSidebar": { + "enabled": true, + "layout": "embedded", + "toggleKey": "Backslash", + "pauseVideoOnHover": true, + "autoScroll": true, + "maxWidth": 420, + "opacity": 0.69, + "backgroundColor": "rgba(36, 39, 58, 0.78)", + "textColor": "#cad3f5", + "fontFamily": "\"M PLUS 1\", \"Noto Sans CJK JP\", sans-serif", + "fontSize": 16, + "timestampColor": "#a5adcb", + "activeLineColor": "#f5bde6", + "activeLineBackgroundColor": "rgba(138, 173, 244, 0.22)", + "hoverLineBackgroundColor": "rgba(54, 58, 79, 0.84)", + }, } diff --git a/.config/ghostty/config##Default b/.config/ghostty/config##Default index 551c4b0..cbc4329 100644 --- a/.config/ghostty/config##Default +++ b/.config/ghostty/config##Default @@ -27,6 +27,10 @@ term=xterm-ghostty link-url = true link-previews = true bell-features=system,attention,no-audio + +quit-after-last-window-closed = true +quit-after-last-window-closed-delay = 5m + keybind = all:ctrl+enter=unbind keybind = all:ctrl+shift+j=next_tab keybind = all:ctrl+shift+k=last_tab diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index ef0afdc..40d1415 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -34,7 +34,7 @@ monitorv2 { min_luminance = 0 max_luminance = 1000 max_avg_luminance = 200 - sdrbrightness = 1.2 + sdrbrightness = 1.0 sdrsaturation = 0.98 } @@ -72,14 +72,14 @@ exec-once = uwsm app -sb -- hyprpm update -n exec-once = uwsm app -sb -- hyprpm reload -n exec-once = $notification_daemon exec-once = $terminal -exec-once = uwsm app -sb -S both -t scope -- hyprpm update -nn -exec-once = uwsm app -sb -S both -t scope -- hyprpm reload -nn +exec-once = uwsm app -sb -S both -t scope -- hyprpm update -n +exec-once = uwsm app -sb -S both -t scope -- hyprpm reload -n exec-once = uwsm app -sb -t service -- nm-applet exec-once = uwsm app -sb -t service -- waybar -c ~/.config/waybar/catppuccin-macchiato/config.jsonc -s ~/.config/waybar/catppuccin-macchiato/style.css exec-once = uwsm app -sb -t service -- hyprsunset exec-once = uwsm app -sb -t service -- /usr/lib/polkit-kde-authentication-agent-1 exec-once = uwsm app -sb -t service -- gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 -# exec-once = uwsm app -sb -t service -- variety +exec-once = uwsm app -sb -t service -- tailscale systray exec-once = ~/.local/bin/aria # exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/.config/hypr/hyprqt6engine.conf b/.config/hypr/hyprqt6engine.conf index a9f493b..ddecac2 100644 --- a/.config/hypr/hyprqt6engine.conf +++ b/.config/hypr/hyprqt6engine.conf @@ -1,5 +1,5 @@ -theme = { - color_schema = "/usr/share/themes/Colloid-Purple-Dark-Catppuccin" +theme { + color_scheme = "/home/sudacode/.local/share/color-schemes/CatppuccinMacchiatoMauve.colors" icon_theme = "Colloid-Purple-Catppuccin-Dark" style = "kvantum-dark" font_fixed = "JetBrainsMono Nerd Font" diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf index 5b73b7e..4df889a 100644 --- a/.config/hypr/keybindings.conf +++ b/.config/hypr/keybindings.conf @@ -113,7 +113,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, ~/.local/bin/screenshot-active-window.sh -bind = SUPER,code:107, exec, flameshot screen +bind = SUPER,code:107, exec, ~/.local/bin/screenshot-active-window.sh -s bind = SUPER, o, exec, ~/.local/bin/ocr.sh bind = $mainMod, o, exec, ~/.local/bin/rofi-open tab # bind = $mainMod SHIFT, o, exec, ~/.local/bin/rofi-open window diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index a07f855..dab02ef 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf @@ -45,6 +45,7 @@ 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 +windowrule = opacity 1.0 override, match:class google-chrome # }}} # {{{ Misc @@ -81,7 +82,11 @@ 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 = no_dim on, match:class SubMiner +windowrule = opaque on, match:class SubMiner +windowrule = dim_around off, match:class SubMiner windowrule = allows_input offf, match:class SubMiner windowrule = border_size 0, match:class steam_app_1277940 +windowrule = opacity 1.0 override, match:class SubMiner # {{{ GSM Overlay and LunaTranslator tweaks diff --git a/.config/mpv-modules/ModernZ b/.config/mpv-modules/ModernZ index 74885f5..b4c27a8 160000 --- a/.config/mpv-modules/ModernZ +++ b/.config/mpv-modules/ModernZ @@ -1 +1 @@ -Subproject commit 74885f5deca861bc913fb4be79001282ade60a2b +Subproject commit b4c27a8cf4a43c330fcb1dddce5984f25ec4e7f3 diff --git a/.config/mpv-modules/mpv-anilist-updater b/.config/mpv-modules/mpv-anilist-updater index 2177ee4..5f9400d 160000 --- a/.config/mpv-modules/mpv-anilist-updater +++ b/.config/mpv-modules/mpv-anilist-updater @@ -1 +1 @@ -Subproject commit 2177ee4711e396cf9b86f5d379109fc16bfa8434 +Subproject commit 5f9400dd4b852f8cd5dd9800ca90aa0949b80c04 diff --git a/.config/mpv-modules/mpv-youtube-queue b/.config/mpv-modules/mpv-youtube-queue index 9d1b6d7..236f4ab 160000 --- a/.config/mpv-modules/mpv-youtube-queue +++ b/.config/mpv-modules/mpv-youtube-queue @@ -1 +1 @@ -Subproject commit 9d1b6d7eabed9495952201e42a7b66dedb0de032 +Subproject commit 236f4ab39e6e894573aa60e92ca095329c556ec2 diff --git a/.config/mpv/input.conf##os.Linux b/.config/mpv/input.conf##os.Linux index 6e9c0d1..8abd3b2 100644 --- a/.config/mpv/input.conf##os.Linux +++ b/.config/mpv/input.conf##os.Linux @@ -202,6 +202,8 @@ ctrl+K cycle-values keep-open "yes" "no" ctrl+r script-binding reload-scripts ctrl+s script_binding autosubsync-menu +# MBTN_RIGHT script-binding select/context-menu + # {{{ sponsorblock ctrl+g script-binding sponsorblock/set_segment ctrl+G script-binding sponsorblock/submit_segment diff --git a/.config/waybar/catppuccin-macchiato/config.jsonc b/.config/waybar/catppuccin-macchiato/config.jsonc index 91fba80..ed12705 100644 --- a/.config/waybar/catppuccin-macchiato/config.jsonc +++ b/.config/waybar/catppuccin-macchiato/config.jsonc @@ -312,13 +312,13 @@ "format": "{icon}", "format-icons": { "notification": "", - "none": " ", + "none": "", "dnd-notification": "", - "dnd-none": " ", + "dnd-none": "", "inhibited-notification": "", - "inhibited-none": " ", + "inhibited-none": "", "dnd-inhibited-notification": "", - "dnd-inhibited-none": " ", + "dnd-inhibited-none": "", }, "return-type": "json", "exec-if": "which swaync-client", diff --git a/.config/waybar/catppuccin-macchiato/style.css b/.config/waybar/catppuccin-macchiato/style.css index 93f6e39..c4fc1f4 100644 --- a/.config/waybar/catppuccin-macchiato/style.css +++ b/.config/waybar/catppuccin-macchiato/style.css @@ -185,6 +185,7 @@ label:focus { #network { background-color: @peach; color: @mantle; + padding: 0 18px 0 10px; } #network.disconnected { @@ -273,7 +274,7 @@ label:focus { background-color: @yellow; color: @mantle; padding: 0 10px; - margin: 5px 1px 5px 5px; + margin: 5px 1px 5px 1px; } #custom-launcher { @@ -330,7 +331,6 @@ label:focus { font-family: inherit; padding: 0 10px; margin: 5px 1px; - min-width: 1em; background-color: @maroon; color: @mantle; } diff --git a/.config/waybar/scripts/wttr.sh b/.config/waybar/scripts/wttr.sh index da67c44..789c2c0 100755 --- a/.config/waybar/scripts/wttr.sh +++ b/.config/waybar/scripts/wttr.sh @@ -116,7 +116,7 @@ fetch_weather() { --show-error \ --fail \ --max-time 10 \ - "https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m,is_day&timezone=$(url_encode "$timezone")" 2>/dev/null || true + "https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m,is_day&temperature_unit=fahrenheit&wind_speed_unit=mph&timezone=$(url_encode "$timezone")" 2>/dev/null || true } format_weather() { @@ -140,8 +140,8 @@ format_weather() { humidity="$(jq -r '.current.relative_humidity_2m | round | "\(.)"' <<<"$weather_json")" wind="$(jq -r '.current.wind_speed_10m | round | "\(.)"' <<<"$weather_json")" - text="${icon} ${temperature}°C" - tooltip="${place}: ${description}. Feels like ${feels_like}°C, humidity ${humidity}%, wind ${wind} km/h" + text="${icon} ${temperature}°F" + tooltip="${place}: ${description}. Feels like ${feels_like}°F, humidity ${humidity}%, wind ${wind} mph" emit_json "$text" "$tooltip" } diff --git a/projects/scripts/screenshot-active-window.sh b/projects/scripts/screenshot-active-window.sh index 4a73141..2f3ae63 100755 --- a/projects/scripts/screenshot-active-window.sh +++ b/projects/scripts/screenshot-active-window.sh @@ -1,7 +1,27 @@ #!/usr/bin/env bash +save_to_disk=false +while getopts "s" opt; do + case $opt in + s) save_to_disk=true ;; + *) echo "Usage: $0 [-s]" && exit 1 ;; + esac +done + tmpfile=$(mktemp /tmp/screenshot-XXXXXX.png) grim -g "$(hyprctl activewindow -j | jq -r '.at[0],.at[1],.size[0],.size[1]' | tr '\n' ' ' | awk '{print $1","$2" "$3"x"$4}')" "$tmpfile" -wl-copy < "$tmpfile" -notify-send -i "$tmpfile" "Screenshot of active window copied to clipboard" + +if $save_to_disk; then + savepath=$(zenity --file-selection --save --confirm-overwrite --title="Save Screenshot" --filename="screenshot.png" --file-filter="PNG files|*.png") + if [[ -n "$savepath" ]]; then + cp "$tmpfile" "$savepath" + notify-send -i "$savepath" "Screenshot saved to $savepath" + else + notify-send "Screenshot save cancelled" + fi +else + wl-copy < "$tmpfile" + notify-send -i "$tmpfile" "Screenshot of active window copied to clipboard" +fi + rm -f "$tmpfile"