Import build of Tcl/Tk 8.6.10
This commit is contained in:
@@ -1,96 +1,96 @@
|
||||
# -*- 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
|
||||
|
||||
# -*- 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
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,142 +1,142 @@
|
||||
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]]
|
||||
|
||||
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]]
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
|
||||
#
|
||||
# Tcl package index file, version 1.0
|
||||
#
|
||||
# $Id: pkgIndex.tcl,v 1.2 2002/01/24 09:17:02 idiscovery Exp $
|
||||
#
|
||||
|
||||
package ifneeded wm_default 1.0 [list source [file join $dir WmDefault.tcl]]
|
||||
|
||||
# -*-mode: tcl; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
|
||||
#
|
||||
# Tcl package index file, version 1.0
|
||||
#
|
||||
# $Id: pkgIndex.tcl,v 1.2 2002/01/24 09:17:02 idiscovery Exp $
|
||||
#
|
||||
|
||||
package ifneeded wm_default 1.0 [list source [file join $dir WmDefault.tcl]]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user