7个版本
0.1.6 | 2024年5月29日 |
---|---|
0.1.5 | 2024年5月8日 |
#13 in 无障碍访问
每月110次下载
14KB
256 行
get-selected-text
一个轻量级的Rust库,可让您轻松地在所有平台(macOS、Windows、Linux)上获取所选文本。
对应的Node.js包:node-get-selected-text
用法
添加
cargo add get-selected-text
使用
use get_selected_text::get_selected_text;
fn main() {
match get_selected_text() {
Ok(selected_text) => {
println!("selected text: {}", selected_text);
},
Err(()) => {
println!("error occurred while getting the selected text");
}
}
}
它是如何工作的?
macOS
优先使用A11y API获取所选文本。如果应用程序不遵守A11y API,则模拟按下cmd+c以从剪贴板借取来获取所选文本。
为了避免在模拟按下cmd+c时发出烦人的警报声音,它将自动关闭警报声音(只有警报声音被关闭,不会影响听音乐和看视频的音量)。按键释放后将恢复警报声音的音量。
因此,在macOS上,您需要提前授予无障碍访问权限。示例代码如下
fn query_accessibility_permissions() -> bool {
let trusted = macos_accessibility_client::accessibility::application_is_trusted_with_prompt();
if trusted {
print!("Application is totally trusted!");
} else {
print!("Application isn't trusted :(");
}
trusted
}
Windows + Linux
模拟按下ctrl+c以使用剪贴板获取所选文本。
依赖项
~2–34MB
~524K SLoC