显示窗口后的触发代码

问题描述 投票:0回答:0

我正在使用 gtk-rs。我想在窗口显示(显示在屏幕上)后触发一些代码:

window.connect_show(clone!(@weak window => move |_| {
    let command = format!("sleep 0.1; wmctrl -r \"CSS\" -e 1,640,100,680,768");
    println!("2");
    run_command(&command);
}));

println!("1");
window.show();
println!("3");

这将打印:1, 2, 3。这意味着 connect_showwindow.show();

之前触发

这不会让命令 wmctrl -r \"CSS\" -e 1,640,100,680,768" 重新定位和调整窗口大小。需要延迟才能实现:

"sleep 0.1; wmctrl -r \"CSS\" -e 1,640,100,680,768"

有没有另一种方法可以使命令工作而不必使用 sleep 0.1

这里是整个代码。

rust gtk gtk4 gtk-rs
© www.soinside.com 2019 - 2024. All rights reserved.