local M = {} function M.load_all() hl.plugin.load(os.getenv('HOME') .. '/.config/hypr/plugin/libhyprcapture.so') end M.config = { hyprcapture = { -- capture options default_mode = 'region', -- [region]/fullscreen/window fullscreen_scope = 'per-monitor', -- [all]/current/per-monitor overlay_scope = 'focus', -- [fix]/focus/all window_background = 'transparent', -- [follow-system]/white/black/real/transparent window_border = 'remove', -- [keep]/remove window_shadow = 'remove', -- [keep]/remove notification_backend = 'hyprland', -- [system]/hyprland include_cursor = false, -- [false] language = 'auto', -- [auto]/en/zh_CN/zh_TW/ja/de/fr/es/ko remember_settings = false, -- [false] allow_quick = false, -- [false] confirm_before_capture = false, -- [false] fusion_mode = true, -- [true] capture_fullscreen_clients_as_monitor = false, -- [false] dynamic_window_metadata = true, -- [true] window_wheel_scroll = false, -- [true] window_wheel_scope = 'workspace', -- [workspace]/under-cursor fullscreen_preview_rounding = 'auto', -- output options save = true, -- [true] clipboard = true, -- [true] show_thumbnail = true, -- [true] screenshot_notification = false, -- [true] --save_dir = '', -- [$XDG_PICTURES_DIR/Screenshots], allow ~ screenshot_mode = 'hdr', -- [sdr]/hdr show_hdr_control = true, -- [true] hdr_save_sdr = false, -- [false] hdr_drag_format = 'sdr', -- [heic]/sdr hdr_clipboard_format = 'sdr', -- [heic]/sdr filename_template = '%Y%m%d_%H%M%S-{window_class}', -- [Screenshot-%Y-%m-%d-%H%M%S.png] --notification_title_template = '', -- [Screenshot capture], strftime/{mode}/{window_class}{window_title}{filename}{path} --notification_body_template = '', -- [Saved {filename} ({window_title})], same as notification_title_template --record_save_dir = '', -- [$XDG_VIDEOS_DIR/Screenrecords] record_filename_template = '%Y%m%d_%H%M%S', -- [Recording-%Y-%m-%d-%H%M%S.mp4] record_format = 'webm', -- [mp4]/mov/webm/mkv/gif/apng/webp record_transparent_format = 'webm', -- [webm], when window_background = 'transparent' record_fps = 30, record_fps_options = '5 15 24 30 60', -- [15 24 30 60], separeted: whitespace/comma/semicolon record_window_fps_limit = 12, -- [12], 0 to disable the cap record_window_real_bg_fps_limit = 8, -- [8], with window_background = 'real' record_audio = 'off', -- [off]/system/microphone/mix record_audio_echo_cancellation = -1, -- DTLN-AEC policy: [-1] automatic, 0 always off, 1 always on after correctness validation. Runtime overload protection applies to all modes. record_audio_echo_backend = 'cpu', -- [cpu]/npu record_audio_mix = 'manual', -- manual/auto-balance/[voice-priority] record_audio_system_gain = 0, -- -60 to +24; -61 mute record_audio_mic_gain = 0, record_audio_output = 'auto', -- [auto]/default/(output_name)/'window:
' record_audio_input = 'default', -- [default]/(source_name), excluded monitor sources record_codec = 'auto', -- [auto]/h264/h265/av1/vp9/ffv1 record_transparent_codec = 'auto', -- when window_background = 'transparent' record_solid_alpha = false, -- [false] record_preset = 'veryfast', -- ffmpeg preset: ultrafast/superfast/[veryfast]/faster/fast/medium/slow/slower/veryslow --record_gsr_flags = '', -- gpu-screen-recorder flags record_window_backend = 'audo', -- [auto]/compositor/gsr-visible record_max_seconds = 0, -- [0] for no limit, GIF/APNG/WebP: 3/5/10/15/30 record_countdown_seconds = 2, -- [0] for no limit thumbnail_timeout_ms = 10000, -- milliseconds thumbnail_monitor = 'primary', -- [active]/primary/all/(output_name) helper = os.getenv('HOME') .. '/.config/hypr/plugin/hyprcapture-ui', -- [], by default: HYPRCAPTURE_HELPER -> $HOME/.local/bin/hyprcapture-ui }, } return M