Umstellung auf Customtkinter.
This commit is contained in:
45
.venv/Lib/site-packages/darkdetect/_linux_detect.py
Normal file
45
.venv/Lib/site-packages/darkdetect/_linux_detect.py
Normal file
@@ -0,0 +1,45 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copyright (C) 2019 Alberto Sottile, Eric Larson
|
||||
#
|
||||
# Distributed under the terms of the 3-clause BSD License.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
import subprocess
|
||||
|
||||
def theme():
|
||||
try:
|
||||
#Using the freedesktop specifications for checking dark mode
|
||||
out = subprocess.run(
|
||||
['gsettings', 'get', 'org.gnome.desktop.interface', 'color-scheme'],
|
||||
capture_output=True)
|
||||
stdout = out.stdout.decode()
|
||||
#If not found then trying older gtk-theme method
|
||||
if len(stdout)<1:
|
||||
out = subprocess.run(
|
||||
['gsettings', 'get', 'org.gnome.desktop.interface', 'gtk-theme'],
|
||||
capture_output=True)
|
||||
stdout = out.stdout.decode()
|
||||
except Exception:
|
||||
return 'Light'
|
||||
# we have a string, now remove start and end quote
|
||||
theme = stdout.lower().strip()[1:-1]
|
||||
if '-dark' in theme.lower():
|
||||
return 'Dark'
|
||||
else:
|
||||
return 'Light'
|
||||
|
||||
def isDark():
|
||||
return theme() == 'Dark'
|
||||
|
||||
def isLight():
|
||||
return theme() == 'Light'
|
||||
|
||||
# def listener(callback: typing.Callable[[str], None]) -> None:
|
||||
def listener(callback):
|
||||
with subprocess.Popen(
|
||||
('gsettings', 'monitor', 'org.gnome.desktop.interface', 'gtk-theme'),
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True,
|
||||
) as p:
|
||||
for line in p.stdout:
|
||||
callback('Dark' if '-dark' in line.strip().removeprefix("gtk-theme: '").removesuffix("'").lower() else 'Light')
|
||||
Reference in New Issue
Block a user