2011-12-02 70 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和窗口管理器提示将窗口设置为“始终在最上面”的提示。
希望这有助于!

相关问题