Comments (8)
A tool build via piainstaller suports -c
if the command following -c
starts with from multiprocessing.resource_tracker import main;
. For an example, see this fork: https://github.com/zwimer/darkdetect
from darkdetect.
Perhaps the macOS listener should subprocess.Process
an osascript
that does the same the presently-python subprocess does; since macOS should have osascript
where as subprocessing on sys.executable
with -c
won't always work.
from darkdetect.
Putting this here in case someone else considers it: we could use the built-in python at /System/Library/Frameworks/Python
or something. This would require making the required function / file work without any non-default libraries though, which means the setup.py
of this would likely have to subproces.run("/usr/bin/python -m pip install pyobjc-framework-Cocoa --target=(path_to_darkdetect + "/pyobjc")
which the listener subprocess could then load. Unless there is a way to create an observer which doesn't require subclassing an NSObject
(which as far as I'm aware requires a native component provided via pyobjc's pip). Although that might have to be done at runtime for anything pre-built for many OS versions. So this isn't a great solution either.
from darkdetect.
For pyinstaller
specifically: It seems pyinstaller
supports -c
as the second to last argument as long as the command starts with from multiprocessing.resource_tracker import main
. So a hacky fix for pyinstaller might be to have our command be -c
from multiprocessing.resource_tracker import main; import _mac_detect as m; m._listen_child()
from darkdetect.
For
pyinstaller
specifically: It seemspyinstaller
supports-c
as the second to last argument as long as the command starts withfrom multiprocessing.resource_tracker import main
. So a hacky fix for pyinstaller might be to have our command be-c
from multiprocessing.resource_tracker import main; import _mac_detect as m; m._listen_child()
Sorry but this command is used in the command line of pyinstaller or write in the python script that pyinstaller is going to pack?
from darkdetect.
Thanks, I'll try this.
from darkdetect.
Thanks, I'll try this.
It's presently on pypi as darkdetect-angr. Once this PR is merged in though the fork will likely go away in lieu of the original.
from darkdetect.
Thanks, I'll try this.
It's presently on pypi as darkdetect-angr. Once this PR is merged in though the fork will likely go away in lieu of the original.
Thanks for your work. For me another option is to use darkdetect.theme
+ timer to achieve same "listener" feature on macOS.
Also I found that darkdetect fails to behave under sudo mode. See issue #37 .
from darkdetect.
Related Issues (20)
- Crash on macOS Big Sur 11.4 HOT 19
- SIGSEGV (Address boundary error) on Apple Silicon M1, Big Sur 11.5.2 HOT 6
- Check compatibility with Windows 11 HOT 7
- Listener for dark mode switch? HOT 11
- distutils.version LooseVersion is deprecated HOT 2
- Doesn't work for Pop!_OS 22.04 LTS x86_64 HOT 5
- Detect dark mode on Windows 10 HOT 2
- Module produces ValueError on Windows 8.1 HOT 2
- Implement `listener` for macOS HOT 6
- correct dark detection for gtk3 HOT 19
- A way to terminate listener thread HOT 5
- [RFC] macOS code choices
- Listener class PR acceptable? HOT 3
- False positive HOT 1
- Issue: darkdetect listener cannot work under sudo HOT 2
- WARNING message from PyInstaller about ignoring AppKit.framework/AppKit imported from _mac_detect.py HOT 1
- ModuleNotFoundError: No module named 'darkdetect' in Python 3.8 HOT 2
- Duplicate
- Linux (GNOME) HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from darkdetect.