2016-11-26 23 views
6

OSX sierra'da yeni GTK 3 penceresini ön plana nasıl getirebilirim? Açtığım herhangi bir pencere (gtk-rs veya python kullanarak) önce arka planda biter. Denedim:OSX'de ön plana yeni GTK 3 penceresi getir

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

Hiçbir şey yardımcı olacak gibi görünüyor ve bu yönde herhangi bir hata raporu bulamadık. Bunu nasıl başaracağın hakkında bir fikrin var mı?

GTK homebrew ile yüklenir:

[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

Kodunuzun Linux gibi başka bir platformda çalışıp çalışmadığını kontrol ettiniz mi? – oldtechaa

+0

Ana oyuncu, yeni pencerelerin görüneceği yere karar veren pencere yöneticinizdir. WM'nin ayarlarını kontrol ettin mi? – jcoppens

+0

@jcoppens iyi, yani OSX. OSX için böyle bir şeyi nasıl yapılandıracağımı bilmiyorum. – languitar

cevap

0

bir dal üzerinde gidiyor ve bu soru gösterilen hiçbir kodla yakında tükenecek. Böylece kodun nasıl görünmesi gerektiğini yayınlayacağım. Bunu denemediğini söylememek. Sadece yardım etmeye çalışıyorum.

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

Temelde bunu yaptım. Yine de, pencere diğer pencerelerin üstünde görünmez. – languitar

İlgili konular