facelessuser/Rummage

Black screen in parts of the window when executing with "pythonw -m rummage"

Closed this issue ยท 10 comments

I'm on a MacOS. I have to execute rummage with "pythonw -m rummage" (as otherwise I get the message "This program needs access to the screen. Please run with a Framework build of python, and only when you are logged in on the main display of your Mac."). However, when I execute rummage like that I get a window where parts are completely in black (text [unreadable). I attach a snapshot.
rummage-window-problem

Can you explain how you installed Python which requires pythonw? Mac is my main system at home, and I have no issue. I'll need more info as well, mac version, rummage version, wxpython version, etc.

If it helps, I'm running Rummage on macOS Big Sur (intel variant). I installed Python 3.9 with Homebrew and use that, but I've also tested with the default Python 3.8 that can be used once you install the Xcode command line developer tools.

I can run Python with python3 -m rummage without issue. Occasionally, in the past, I have seen some weird issues (I assume with symlinking) where python3 -m rummage would not work but python3.9 -m rummage would. I don't know if it was a one-off issue, but upgrading my Python 3.9 install in Homebrew made that issue go away.

Here's my current install setup which I acquired from within Rummage via the menu option Help -> Support Info:

- Arch: 64bit
- Platform: macos
- Python: 3.9.1 (CPython)
- Rummage: 4.15 final
- WxPython: 4.1.1 osx-cocoa (phoenix) wxWidgets 3.1.5
- Backrefs: 4.6
- Bracex: 2.0.1
- Wcmatch: 7.2
- Chardet: 3.0.4
- cChardet: 2.1.7
- Regex: 2.5.91
- Filelock: 3.0.12
- Gntp: Version could not be acquired!
- Markdown: 3.3.3
- Pymdown Extensions: 8.0.1

Recent Rummage builds are also aware of mac's dark and light mode. I found that the default Python 3.8 shipped with recent macs and homebrew Python's link into this properly. IIRC using the official Python installer from Python.org only got me the light mode variant and could not detect dark mode. That may have been a temporary issue as I've been running with Homebrew ever since.

Are you using Python in something like Anaconda? That has always been particularly finicky. I don't run Anaconda, so I haven't tried that route in quite some time.

Yes, I was executing Python through an Anaconda installation. I assumed that this was the reason why I needed to use "pythonw -m rummage".

After reading your messages, I have tried to install Python 3.9 using brew. Now I can also execute the application using directly "rummage3.9" (from folder /usr/local/opt/python@3.9/bin), but I observed the same problem (black areas in the app's window). It may be something related to my particular configuration. My MacOS version is High Sierra.

Hmm, that is peculiar. I don't think I have any computers on anything lower than Catalina...my kids use an older mac...it may be on High Sierra. I'll check there. If there is an issue, it may be something weird with it detecting dark mode on systems that arent' set to dark mode. If so, maybe I can fix that.

Yeah, I have a High Sierra system. I'll try and reproduce and report back

I've reproduced the issue. Now let's see if I can fix it ๐Ÿ™‚.

Looks like it is fixable. I might have the fix out today.

@gir-bot remove S: triage
@gir-bot add T: bug, S: confirmed

@sr1920 Version 4.15.1 should fix your issue. The problem stemmed from some recent code added to handle dynamic colors in recent mac versions (light mode vs dark mode). While this works on Mojave and above, High Sierra, these techniques simply don't work, and actually can cause black UI controls as you saw.

Luckily, I had a High Sierra laying around, not sure how long that laptop will be around, but it came in handy today. You should be able to run Rummage with no problems. If you do find any odd color-related issues in High Sierra, let me know, but I think everything should be working well enough now.

So update to the latest rummage to get the latest fixes.

Now the problem is completely solved! Thanks a lot!!