Files
Marble-shell-theme/scripts/utils/gnome.py
Vladyslav Hroshev 1bc6a89d77 Support GDM installation for GNOME versions below 44
- Fixes #33, #19;
- Show user-friendly message if glib2-devel is not installed;
- Use tempfile for temp folder;
- Little code improvements;
- Tried to fix not passing test.
2025-03-16 18:25:00 +02:00

34 lines
1.1 KiB
Python

import subprocess
def gnome_version() -> str | None:
"""
Get gnome-shell version
"""
try:
output = subprocess.check_output(['gnome-shell', '--version'], text=True).strip()
print(output)
return output.split(' ')[2]
except subprocess.CalledProcessError:
return None
def apply_gnome_theme(theme=None) -> bool:
"""
Apply gnome-shell theme
:param theme: theme name
"""
try:
if theme is None:
current_theme = subprocess.check_output(['dconf', 'read', '/org/gnome/shell/extensions/user-theme/name'], text=True).strip().strip("'")
if current_theme.startswith("Marble"):
theme = current_theme
else:
return False
subprocess.run(['dconf', 'reset', '/org/gnome/shell/extensions/user-theme/name'], check=True)
subprocess.run(['dconf', 'write', '/org/gnome/shell/extensions/user-theme/name', f"'{theme}'"], check=True)
print(f"Theme '{theme}' applied.")
except subprocess.CalledProcessError:
return False
return True