123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- 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 (plus a few other things as well).
- DOWNLOAD
- --------
- 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.
- USAGE:
- ------
- For Tix versions 8.1.2 and above from http://tix.sourceforge.net,
- WmDefault is the default Tix scheme, so there is nothing else to do.
- For Tk applications, it should be sufficent at the beginning of a wish
- app to simply:
- package require wm_default
- wm_default::setup
- wm_default::addoptions
- The process is divided into 2 steps:
- 1) find the files and/or settings (::wm_default::setup).
- This is complete for Windows, pretty good for KDE and CDE, and
- still barely supported for GNOME because of the difficulty
- of finding and parsing sawfish definition files.
- setup takes one optional argument: wm, the name of the window manager
- as a string, if known. One of: windows gnome kde1 kde2 cde.
- 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:
- ::wm_default::addoptions -foreground red -background blue
- You can examine the settings with
- ::wm_default::getoptions
- which returns a Tcl array of the current settings, and
- ::wm_default::parray
- which returns a string of the current settings, one value-pair per line.
- There are a number of assumptions built into the heuristics of addoptions,
- that may need fine tuning. Post patches to http://tix.sourceforge.net.
- PYTHON
- ______
- If you are using Tix versions 8.1.2 and above from http://tix.sourceforge.net
- with Python 2.1 and above, WmDefault is the default Tix scheme,
- so there is nothing else you need to do.
- The easiest way to install WmDefault for Tkinter is to copy the WmDefault.*
- AND THE FILE pkgIndex.tcl from lib/tix8.1/pref to a directory on your
- PYTHONPATH. Then the following should work:
- import Tkinter
- root = Tkinter.Tk()
- import WmDefault
- WmDefault.setup(root)
- WmDefault.addoptions(root, {'foreground': 'red'})
- print WmDefault.getoptions(root)
- SETTINGS
- --------
- Here is a list of all the settings controlled by WmDefault:
- wm - one of windows gnome kde1 kde2 cde kde
- background
- foreground
- disabledforeground
- disabledbackground
- textfamily
- systemfamily
- menufamily
- fixedfamily
- fontsize - in pixels under Unix, in points under Windows
- textbackground
- textforeground
- disabledtextbackground
- selectbackground
- selectforeground
- selectcolor
- highlightcolor
- highlightbackground
- scrollbars - scrollbar trough color
- borderwidth
- priority
- menubackground
- menuforeground
- activebackground
- activeforeground
- system_font - a Tcl font spec, a list of family size weight
- menu_font
- fixed_font
- text_font
- linkcolor - not working completely yet
- vlinkcolor
- alinkcolor
- TO MAKE A PREVIOUS TIX USE THIS AS THE DEFAULT SCHEME:
- ------------------------------------------------------
- 1) Compile Tix with
- -DTIX_DEF_SCHEME "WmDefault"
- -DTIX_DEF_FONTSET "WmDefault"
- or change the defines in generic/tixInit.c
- #define TIX_DEF_SCHEME "WmDefault"
- #define TIX_DEF_FONTSET "WmDefault"
- 2) Edit the installed lib/8.1/Tix.tcl and change the -configspec
- in tixClass tixAppContext with the following
- {-fontset WmDefault}
- {-scheme WmDefault}
- 3) Copy the files WmDefault.* AND pkgIndex.tcl to the installed
- lib/tix8.1/pref
- 4) Make or edit the file lib/tix8.1/pkgIndex.tcl and add the lines
- package ifneeded wm_default 1.0 \
- [list source [file join $dir pref WmDefault.tcl]]
|