在OSX上将新的GTK 3窗口置于前台

lan*_*tar 9 macos gtk3 macos-sierra

如何在OSX sierra上将任何新的GTK 3窗口带到前台?我打开的任何窗口(使用gtk-rs或python)首先在后台打开.我试过了:

  • set_modal(true)
  • set_keep_above(true)
  • present()

没有什么似乎有帮助,我找不到那个方向的任何错误报告.知道怎么做到这一点?

GTK是通过自制软件安装的:

languitar@miles ~/code/rust (master)> brew info gtk+3
gtk+3: stable 3.22.4 (bottled)
Toolkit for creating graphical user interfaces
http://gtk.org/
/usr/local/Cellar/gtk+3/3.22.4 (1,395 files, 70.0M) *
  Poured from bottle on 2016-11-26 at 17:11:24
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gtk+3.rb
==> Dependencies
Build: pkg-config ?
Required: gdk-pixbuf ?, atk ?, gobject-introspection ?, libepoxy ?, pango ?, glib ?, hicolor-icon-theme ?
Recommended: gsettings-desktop-schemas ?
Optional: jasper ?
Run Code Online (Sandbox Code Playgroud)

nor*_*nny -1

冒着风险,这个问题很快就结束了,没有显示任何代码。所以我将发布代码应该是什么样子。并不是说你没有尝试过这个。只是想帮忙。

use gtk::prelude::*;

fn configure_window(window: &gtk::Window) {
    window.set_title("Phoronix Reader");
    let (width, height) = (600, 500);
    window.set_default_size(width, height);
    window.connect_delete_event(|_,_| {
        gtk::main_quit();
        Inhibit(true)
    });
}

pub fn main() {
    gtk::init().unwrap_or_else(|_| panic!("Failed to initialize GTK."));

    let window = gtk::Window::new(gtk::WindowType::Toplevel);
    configure_window(&window);

    window.show_all();

    gtk::main();
}
Run Code Online (Sandbox Code Playgroud)