2016-11-26 8 views
6

Как принести новое окно GTK 3 на передний план OSX sierra? Любое открытое окно (с использованием gtk-rs или python) сначала заканчивается в фоновом режиме. Я пробовал:Принесите новое окно GTK 3 на передний план OSX

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

Кажется, ничего не помогает, и я не мог найти какой-либо отчет об ошибке в этом направлении. Есть идеи, как это сделать?

GTK устанавливается с помощью доморощенного:

[email protected] ~/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 ✔ 
+0

Вы проверили, работает ли ваш код на другой платформе, например Linux? – oldtechaa

+0

Главный игрок - ваш оконный менеджер, который решает, где появятся новые окна. Вы проверили настройки WM? – jcoppens

+0

@jcoppens хорошо, то есть OSX. Я не знаю, как настроить что-то подобное для OSX. – languitar

ответ

0

Выходя на конечности и этот вопрос скоро заканчивается, не кода, показанного. Поэтому я опубликую, какой код должен выглядеть. Не сказать, что вы этого не пробовали. Просто пытаюсь помочь.

use article::Article; 
use homepage; 
use gtk; 
use gtk::traits::*; 
use gdk::ffi::GdkRGBA; 
use pango; 

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(); 
     gtk::signal::Inhibit(true) 
    }); 
} 

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

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

    window.show_all(); 

    gtk::main(); 
} 
+0

Я в основном сделал это. Тем не менее, окно не отображается поверх других окон. – languitar

 Смежные вопросы

  • Нет связанных вопросов^_^