This commit is contained in:
2026-03-15 20:19:13 -07:00
parent d0be09978c
commit 19bbaed7d0
9 changed files with 71 additions and 130 deletions

View File

@@ -43,7 +43,8 @@
"code-review@claude-plugins-official": true,
"code-simplifier@claude-plugins-official": true,
"playwright@claude-plugins-official": true,
"superpowers@claude-plugins-official": true
"superpowers@claude-plugins-official": true,
"coderabbit@claude-plugins-official": true
},
"sandbox": {
"enabled": false,
@@ -58,5 +59,6 @@
"docker"
]
},
"voiceEnabled": true,
"skipDangerousModePermissionPrompt": true
}

View File

@@ -7,6 +7,10 @@ tool_output_token_limit = 25000
# With tool_output_token_limit=25000 ⇒ 273000 - (25000 + 15000) = 233000
model_auto_compact_token_limit = 233000
suppress_unstable_features_warning = true
[sandbox_workspace_write]
network_access = true
[features]
ghost_commit = false
unified_exec = true
@@ -95,6 +99,33 @@ trust_level = "trusted"
[projects."/home/sudacode/.config/hypr"]
trust_level = "trusted"
[projects."/home/sudacode/.cache/paru/clone/python-fugashi"]
trust_level = "trusted"
[projects."/home/sudacode/.local/share/Anki2/addons21/200813220"]
trust_level = "trusted"
[projects."/home/sudacode/packages/maintaining/python-manga-ocr"]
trust_level = "trusted"
[projects."/home/sudacode/S/downloads"]
trust_level = "trusted"
[projects."/home/sudacode/.config/waybar"]
trust_level = "trusted"
[projects."/home/sudacode"]
trust_level = "trusted"
[projects."/home/sudacode/.config/pipewire"]
trust_level = "trusted"
[projects."/home/sudacode/.config/git"]
trust_level = "trusted"
[notice.model_migrations]
"gpt-5.3-codex" = "gpt-5.4"
[mcp_servers.backlog]
command = "backlog"
args = ["mcp", "start"]

View File

@@ -148,7 +148,7 @@
"textRendering": "geometricPrecision",
"textShadow": "0 3px 10px rgba(0,0,0,0.69)",
"fontStyle": "normal",
"backgroundColor": "transparent",
// "backgroundColor": "transparent",
"hoverTokenColor": "#f4dbd6",
"hoverBackground": "rgba(54, 58, 79, 0.84)",
"preserveLineBreaks": false,
@@ -253,11 +253,17 @@
"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": "~/.config/gsm_overlay",
"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": "",
},
"stats": {
"toggleKey": "Backquote", // Key code to toggle the stats overlay.
"serverPort": 6969, // Port for the stats HTTP server.
"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.
}

View File

@@ -119,7 +119,7 @@ general {
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
layout = scrolling
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
@@ -197,6 +197,10 @@ dwindle {
split_width_multiplier = 1.69
}
scrolling {
fullscreen_on_one_column = true
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = slave

View File

@@ -158,8 +158,13 @@ bind = ALT, g, exec, /opt/mpv-yomitan/mpv-yomitan.AppImage --toggle
# F5
bind = ,code:71, exec, ~/projects/scripts/whisper_record_transcribe.py --mode toggle --output type
# SubMiner
bind = ALT SHIFT, O, pass, class:^(SubMiner)$
bind = ALT SHIFT, I, pass, class:^(SubMiner)$
bind = ALT SHIFT, C, pass, class:^(SubMiner)$
# {{{ scrolling
bind = $mainMod, comma, layoutmsg, swapcol l
bind = $mainMod, period, layoutmsg, fit all
bind = $mainMod, slash, layoutmsg, fit active
# }}}

Binary file not shown.

View File

@@ -1,110 +0,0 @@
-- mpv_websocket
-- https://github.com/kuroahna/mpv_websocket
local use_secondary_subs = false
local utils = require("mp.utils")
local platform = mp.get_property_native("platform")
local config_file_path = mp.find_config_file("mpv.conf")
local config_folder_path, config_file = utils.split_path(config_file_path)
local mpv_websocket_path =
utils.join_path(config_folder_path, platform == "windows" and "mpv_websocket.exe" or "mpv_websocket")
local initialised_websocket
local _, err = utils.file_info(config_file_path)
if err then
error("failed to open mpv config file `" .. config_file_path .. "`")
end
local _, err = utils.file_info(mpv_websocket_path)
if err then
error("failed to open mpv_websocket")
end
local function find_mpv_socket(config_file_path)
-- First, try to get from mpv properties (includes command-line options)
local mpv_socket = mp.get_property("input-ipc-server")
if mpv_socket and mpv_socket ~= "" then
return mpv_socket
end
-- Fall back to reading config file
local file = io.open(config_file_path, "r")
if file == nil then
error("failed to read mpv config file `" .. config_file_path .. "`")
end
for line in file:lines() do
mpv_socket = line:match("^input%-ipc%-server%s*=%s*(%g+)%s*")
if mpv_socket then
break
end
end
file:close()
if not mpv_socket then
error("input-ipc-server option does not exist in `" .. config_file_path .. "`")
end
return mpv_socket
end
local mpv_socket = find_mpv_socket(config_file_path)
if platform == "windows" then
mpv_socket = "\\\\.\\pipe" .. mpv_socket:gsub("/", "\\")
end
local function start_websocket()
local args = {
mpv_websocket_path,
"-m",
mpv_socket,
"-w",
"6677",
}
if use_secondary_subs then
table.insert(args, "-s")
end
initialised_websocket = mp.command_native_async({
name = "subprocess",
playback_only = false,
capture_stdout = true,
capture_stderr = true,
args = args,
})
end
local function end_websocket()
mp.abort_async_command(initialised_websocket)
initialised_websocket = nil
end
local function toggle_websocket()
local paused = mp.get_property_bool("pause")
if initialised_websocket and paused then
end_websocket()
elseif not initialised_websocket and not paused then
start_websocket()
end
end
local function toggle_subs_type()
if use_secondary_subs then
use_secondary_subs = false
else
use_secondary_subs = true
end
if initialised_websocket then
end_websocket()
start_websocket()
end
end
mp.register_script_message("togglewebsocket", toggle_websocket)
mp.register_script_message("togglesubstype", toggle_subs_type)
start_websocket()

View File

@@ -41,7 +41,7 @@ context.properties = {
## Properties for the DSP configuration.
#default.clock.rate = 48000
#default.clock.allowed-rates = [ 48000 ]
default.clock.allowed-rates = [ 44100 88200 176400 48000 96000 192000 ]
#default.clock.quantum = 1024
#default.clock.min-quantum = 32
#default.clock.max-quantum = 2048

View File

@@ -9,15 +9,16 @@ context.modules = [
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
label = noise_suppressor_stereo
control = {
"VAD Threshold (%)" = 69.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
"VAD Threshold (%)" = 0.0
"VAD Grace Period (ms)" = 500
"Retroactive VAD Grace (ms)" = 100
}
}
]
}
audio.position = [ FL FR ]
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
@@ -25,9 +26,11 @@ context.modules = [
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
media.class = "Audio/Source"
audio.rate = 48000
}
audio.channels = 1
audio.position = [ MONO ]
}
}
]