2011-12-02 7 views
0

私はこのpython gtkアプリを画面の上部に「ドッキング」したいと思います。閉じる、最大化、最小化のボタンを無効にし、他のアプリケーションの上に保持する方法はありますか?他のアプリの上にpython gtkアプリを "ドック"にするには?

#!/usr/bin/env python 
import sys 
import gtk 
import webkit 
DEFAULT_URL = 'http://webpage.com' 
class SimpleBrowser: 
def __init__(self): 
    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
    self.window.connect('delete_event', self.close_application) 
    self.window.set_default_size(1024, 125) 
    vbox = gtk.VBox(spacing=5) 
    vbox.set_border_width(5) 
    self.txt_url = gtk.Entry() 
    self.txt_url.connect('activate', self._txt_url_activate) 
    self.scrolled_window = gtk.ScrolledWindow() 
    self.webview = webkit.WebView() 
    self.scrolled_window.add(self.webview) 
    vbox.pack_start(self.scrolled_window, fill=True, expand=True) 
    self.window.add(vbox) 
def _txt_url_activate(self, entry): 
    self._load(entry.get_text()) 
def _load(self, url): 
    self.webview.open(url) 
def open(self, url): 
    self.txt_url.set_text(url) 
    self.window.set_title('%s' % url) 
    self._load(url) 
def show(self): 
    self.window.show_all() 
def close_application(self, widget, event, data=None): 
    gtk.main_quit() 
if __name__ == '__main__': 
if len(sys.argv) > 1: 
    url = sys.argv[1] 
else: 
    url = DEFAULT_URL 
gtk.gdk.threads_init() 
browser = SimpleBrowser() 
browser.open(url) 
browser.show() 
gtk.main() 

答えて

2

閉じる、最大化&ツールバーの最小化は、ウィンドウマネージャの装飾の一部です。それらを取り除きたい場合は、gtk.Window.set_decoratedを使用して装飾を無効にし、装飾設定をfalseに設定します。常に上にはgtk.Window.set_keep_aboveを試すことができます。これは再びウインドウマネージャーへのヒントです。あなたのウィンドウマネージャーが無視する可能性があります。 This questionは「常に上に」のウィンドウについて議論しており、this questionはX11について詳しく議論し、ウィンドウマネージャのヒントを使ってウィンドウを「常に上に」設定しています。
これが役立つことを願っています!

関連する問題