6 个版本

0.1.8 2021年1月26日
0.1.7 2020年2月20日
0.1.6 2020年1月31日

#434 in Unix APIs

Download history 1/week @ 2024-03-12 2/week @ 2024-03-26 22/week @ 2024-04-02

每月 56 次下载

GPL-3.0-or-later

18KB
288 行代码(不包括注释)

Wmctrl 包装器

Rust编写的wmctrl命令行工具包装器

依赖关系

wmctrl 需要安装

# Ubuntu
sudo apt install wmctrl

# Arch Linux
sudo pacman -S wmctrl

# Fedora 
dnf install -y wmctrl

# You get the idea

使用方法

wmctrl 添加到你的 Cargo.toml 依赖中

[dependencies]
wmctrl = "0.1.7"

如果你想要最新的构建版本,请使用GitHub仓库作为你的链接

[dependencies]
wmctrl = { git = "https://github.com/Treborium/rust-wmctrl" }

示例

请参阅文档以获取详细信息。

如果你想要复制下面的示例,你需要使用以下导入语句

use wmctrl::{Self, Window};

基于标题查找窗口

let windows = wmctrl::get_windows();
let firefox = wmctrl::utils::find_window_by_title(&windows, "Firefox").unwrap();
println!("{}", firefox);

调整窗口大小并将其移动到指定坐标

let mut windows = wmctrl::get_windows();
let win = &mut windows[0];
// This will move the window to the top left corner and resize it to 960x540
win.transform(wmctrl::Transformation::new(0, 0, 960, 540));

优雅地关闭窗口

// We need to move the window out of the vector so there is no reference left
let win: Window = wmctrl::get_windows().remove(0);
win.close();

使窗口全屏

let windows = wmctrl::get_windows();
let win = &windows[0];
// Make the window fullscreen
win.change_state(wmctrl::State::new(wmctrl::Action::Add, wmctrl::Property::Fullscreen));

依赖关系

~2.2–3MB
~53K SLoC