You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

72 lines
4.1 KiB

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 = 'heic', -- [heic]/(png?sdr?)
hdr_clipboard_format = 'heic', -- [heic]/(png?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:<address>'
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