Filename case issues with Linux

Hello,

I tried to run the SceneEditor on Linux but it fails badly for all modules in the SceneEditor directory. For example it complains not finding the “SeLights” module since it is named “seLights” and the case matters for Linux.

At first I tried to change all filenames from “se*” to “Se*” but then it fails looking for the same modules but now written like “seLights”. So I linked “seLights.py” to “SeLights.py” and now it gone further. There was another fail for a “direct/gui/” module which I changed in a similar manner.

Now it seems to start until it fails with the following error:

Anybody has an idea how to fix this one?

----SideWindow is Initialized!!
Traceback (most recent call last):
  File "sceneEditor.py", line 1684, in ?
    editor = myLevelEditor(parent = tkroot)
  File "sceneEditor.py", line 118, in __init__
    AppShell.__init__(self, parent)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/AppShell.py", line 90, in __init__
    self.appInit()
  File "sceneEditor.py", line 283, in appInit
    enableAutoCamera = self.enableAutoCamera)
  File "/home/arne/source/other/panda3d-1.0.4/SceneEditor/SideWindow.py", line 63, in __init__
    AppShell.__init__(self, self.parent)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/AppShell.py", line 92, in __init__
    self.__createInterface()
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/AppShell.py", line 114, in __createInterface
    self.createInterface()
  File "/home/arne/source/other/panda3d-1.0.4/SceneEditor/SideWindow.py", line 202, in createInterface
    self.backgroundColor = VectorWidgets.ColorEntry(
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/VectorWidgets.py", line 317, in __init__
    VectorEntry.__init__(self, parent, dim = self['dim'])
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/VectorWidgets.py", line 100, in __init__
    command = self.set)
  File "/home/arne/source/other/panda3d-1.0.4/built/Pmw/Pmw_1_2/lib/PmwBase.py", line 524, in createcomponent
    widget = apply(widgetClass, widgetArgs, kw)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Valuator.py", line 565, in __init__
    command = self['command'])
  File "/home/arne/source/other/panda3d-1.0.4/built/Pmw/Pmw_1_2/lib/PmwBase.py", line 524, in createcomponent
    widget = apply(widgetClass, widgetArgs, kw)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Valuator.py", line 410, in __init__
    callbackData = [self],
  File "/home/arne/source/other/panda3d-1.0.4/built/Pmw/Pmw_1_2/lib/PmwBase.py", line 524, in createcomponent
    widget = apply(widgetClass, widgetArgs, kw)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Slider.py", line 26, in __init__
    Valuator.__init__(self, parent)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Valuator.py", line 58, in __init__
    self.createValuator()
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Slider.py", line 43, in createValuator
    value = self['value'])
  File "/home/arne/source/other/panda3d-1.0.4/built/Pmw/Pmw_1_2/lib/PmwBase.py", line 524, in createcomponent
    widget = apply(widgetClass, widgetArgs, kw)
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Slider.py", line 257, in __init__
    self.initialiseoptions(SliderWidget)
  File "/home/arne/source/other/panda3d-1.0.4/built/Pmw/Pmw_1_2/lib/PmwBase.py", line 599, in initialiseoptions
    func()
  File "/home/arne/source/other/panda3d-1.0.4/built/direct/../../direct/src/tkwidgets/Slider.py", line 484, in setBackground
    self._widget['background'] = self['background']
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1146, in __setitem__
    self.configure({key: value})
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1139, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1130, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown color name "SystemButtonFace"

These programs were written by windows users, they aren’t familiar with linux. I need to go through them and fix the windows-isms.

The correct filename case for those files is lowercase. Ie, seLights is correct, SeLights is wrong. Best to make that change throughout.

As for “SystemButtonFace”, that’s another windowsism. Try changing it to “Grey” or “Blue” or some reasonable color name.

Hey,

See my post in General Discussion for detailed descriptions of how to fix
the Tk color issues. Josh says he’s working on them for the next release.

I have not gotten to the Scene Editor yet, I was/am working through the manual
and samples still.

Robert