[core/theme] add xresources support
add support for reading foreground and background, and colors, from xresources.py many thanks to @Aliuakbar for the addition! fixes #731
This commit is contained in:
parent
13b06793da
commit
fa66873582
2 changed files with 21 additions and 2 deletions
|
@ -7,6 +7,7 @@ import glob
|
|||
|
||||
import core.event
|
||||
import util.algorithm
|
||||
import util.xresources
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -89,13 +90,21 @@ class Theme(object):
|
|||
try:
|
||||
if isinstance(name, dict):
|
||||
return name
|
||||
|
||||
result = {}
|
||||
if name.lower() == "wal":
|
||||
wal = self.__load_json("~/.cache/wal/colors.json")
|
||||
result = {}
|
||||
for field in ["special", "colors"]:
|
||||
for key in wal.get(field, {}):
|
||||
result[key] = wal[field][key]
|
||||
return result
|
||||
if name.lower() == "xresources":
|
||||
for key in ("background", "foreground"):
|
||||
result[key] = xresources.query(key)
|
||||
for i in range(16):
|
||||
key = color + str(i)
|
||||
result[key] = xresources.query(key)
|
||||
|
||||
return result
|
||||
except Exception as e:
|
||||
log.error("failed to load colors: {}", e)
|
||||
|
||||
|
|
10
bumblebee_status/util/xresources.py
Normal file
10
bumblebee_status/util/xresources.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
import subprocess
|
||||
import shutil
|
||||
|
||||
def query(key):
|
||||
if shutil.which("xgetres"):
|
||||
return subprocess.run(["xgetres", key],
|
||||
capture_output=True).stdout.decode("utf-8").strip()
|
||||
else:
|
||||
raise Exception("xgetres must be installed for this theme")
|
||||
|
Loading…
Reference in a new issue