Presenter
#!/usr/bin/env python
#
# [SNIPPET_NAME: Presenter]
# [SNIPPET_CATEGORIES: Webkit]
# [SNIPPET_DESCRIPTION: Fullscreen presenter program, for HTML presentations]
# [SNIPPET_AUTHOR: Akkana Peck <[email protected]>]
# [SNIPPET_DOCS: http://shallowsky.com/blog/programming/webkit-presenter.html]
# [SNIPPET_LICENSE: GPL]
import sys, os
import gtk, gobject
import webkit
class WebBrowser(gtk.Window):
def __init__(self, url):
gtk.Window.__init__(self)
# Either run fullscreen, or set an initial window size
#self.set_default_size(1024,768)
self.fullscreen()
self._browser= webkit.WebView()
self.add(self._browser)
self.connect('destroy', gtk.main_quit)
self._browser.open(url) # throw err if url isn't defined
self.show_all()
if __name__ == "__main__":
if len(sys.argv) <= 1 :
print "Usage:", sys.argv[0], "url"
sys.exit(0)
# Figure out if it's a filename or a url
url = sys.argv[1]
if url.find(':') < 0 :
# If it's a local file, it needs to be converted to an absolute URL
if url[0] == '/' :
url = 'file://' + url
else :
url = 'file://' + os.getcwd() + '/' + url
gobject.threads_init()
webbrowser = WebBrowser(url)
gtk.main()