# -*- mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: WmDefault.py,v 1.2 2001/12/09 05:03:09 idiscovery Exp $ # """One of the bad things about Tk/Tkinter is that it does not pick up the current color and font scheme from the prevailing CDE/KDE/GNOME/Windows window manager scheme. One of the good things about Tk/Tkinter is that it is not tied to one particular widget set so it could pick up the current color and font scheme from the prevailing CDE/KDE/GNOME/Windows window manager scheme. The WmDefault package is for making Tk/Tkinter applications use the prevailing CDE/KDE/GNOME/Windows scheme. It tries to find the files and/or settings that the current window manager is using, and then sets the Tk options database accordingly. Download the latest version of wm_default from http://tix.sourceforge.net either as a part of the standard Tix distribution, or as a part of the Tix Applications: http://tix.sourceforge.net/Tide. wm_default does not require Tix, but is Tix enabled. """ import os, sys, traceback, string import tkMessageBox def setup(root, wm=''): """1) find the files and/or settings (::wm_default::setup). Takes one optional argument: wm, the name of the window manager as a string, if known. One of: windows gnome kde1 kde2 cde kde. """ try: try: # Make sure Tcl/Tk knows wm_default is installed root.tk.eval("package require wm_default") except: # Try again with this directory on the Tcl/Tk path dir = os.path.dirname (self.__file__) root.tk.eval('global auto_path; lappend auto_path {%s}' % dir) root.tk.eval("package require wm_default") except: t, v, tb = sys.exc_info() text = "Error loading WmDefault\n" for line in traceback.format_exception(t,v,tb): text = text + line + '\n' try: tkMessageBox.showerror ('WmDefault Error', text) except: sys.stderr.write( text ) return root.tk.call('::wm_default::setup', wm) def addoptions(root, cnf=None, **kw): """2) Setting the Tk options database (::wm_default::addoptions). You can override the settings in 1) by adding your values to the call to addoptions(). """ if cnf is None: return root.tk.splitlist(root.tk.call('::wm_default::addoptions')) return root.tk.splitlist( apply(root.tk.call, ('::wm_default::addoptions',) + root._options(cnf,kw))) def getoptions(root): """Returns the current settings, as a dictionary. """ words = root.tk.splitlist(root.tk.call('::wm_default::getoptions')) dict = {} for i in range(0, len(words), 2): key = words[i] value = words[i+1] dict[key] = value return dict def parray(root): """Returns a string of the current settings, one value-pair per line. """ return root.tk.call('::wm_default::parray') if __name__ == "__main__": dir = "" if len(sys.argv) > 0: # Assume the name of the file containing the tixinspect Tcl source # is the same as argument on the command line with .tcl dir = os.path.dirname(sys.argv[0]) if not dir or not os.path.isdir(dir) or not os.path.isabs(dir): # Or, assume it's in the same directory as this one: dir = os.getcwd() import Tkinter root = Tkinter.Tk() setup(root) addoptions(root, {'foreground': 'red'}) retval = getoptions(root) print retval
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
10Point.fs | File | 641 B | 0644 |
|
10Point.fsc | File | 2 KB | 0644 |
|
12Point.fs | File | 640 B | 0644 |
|
12Point.fsc | File | 2 KB | 0644 |
|
14Point.fs | File | 639 B | 0644 |
|
14Point.fsc | File | 2.06 KB | 0644 |
|
Bisque.cs | File | 1 KB | 0644 |
|
Bisque.csc | File | 22.01 KB | 0644 |
|
Blue.cs | File | 1.02 KB | 0644 |
|
Blue.csc | File | 22.02 KB | 0644 |
|
Gray.cs | File | 1.02 KB | 0644 |
|
Gray.csc | File | 22.02 KB | 0644 |
|
Old12Pt.fs | File | 541 B | 0644 |
|
Old14Pt.fs | File | 499 B | 0644 |
|
SGIGray.cs | File | 1 KB | 0644 |
|
SGIGray.csc | File | 22.01 KB | 0644 |
|
TK.cs | File | 1 KB | 0644 |
|
TK.csc | File | 1.98 KB | 0644 |
|
TK.fs | File | 506 B | 0644 |
|
TK.fsc | File | 569 B | 0644 |
|
TixGray.cs | File | 1 KB | 0644 |
|
TixGray.csc | File | 22.01 KB | 0644 |
|
TkWin.cs | File | 2.19 KB | 0644 |
|
TkWin.csc | File | 21.78 KB | 0644 |
|
TkWin.fs | File | 390 B | 0644 |
|
TkWin.fsc | File | 1.63 KB | 0644 |
|
WmDefault.cs | File | 1.42 KB | 0644 |
|
WmDefault.csc | File | 14.22 KB | 0644 |
|
WmDefault.fs | File | 755 B | 0644 |
|
WmDefault.fsc | File | 2.13 KB | 0644 |
|
WmDefault.py | File | 3.42 KB | 0644 |
|
WmDefault.tcl | File | 33.05 KB | 0755 |
|
WmDefault.txt | File | 4.22 KB | 0644 |
|
pkgIndex.tcl | File | 262 B | 0644 |
|