Skip to content

Commit eb180b3

Browse files
committed
🐛 fix: I've corrected the themes for Cinnamon, XFCE, and GNOME
1 parent f7e3214 commit eb180b3

4 files changed

Lines changed: 107 additions & 30 deletions

File tree

biglinux-livecd/usr/share/biglinux/livecd/logging_config.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,41 @@
1111
def setup_logging(level: int = logging.INFO) -> logging.Logger:
1212
"""
1313
Configure the application logger.
14-
14+
1515
Args:
1616
level: Logging level (default: INFO)
17-
17+
1818
Returns:
1919
Configured logger instance
2020
"""
2121
logger.setLevel(level)
22-
22+
2323
# Avoid duplicate handlers if called multiple times
2424
if logger.handlers:
2525
return logger
26-
27-
# Console handler
28-
console_handler = logging.StreamHandler(sys.stdout)
29-
console_handler.setLevel(level)
30-
26+
3127
# Format: timestamp - level - message
3228
formatter = logging.Formatter(
3329
fmt="%(asctime)s - %(levelname)s - %(message)s",
3430
datefmt="%Y-%m-%d %H:%M:%S"
3531
)
32+
33+
# Console handler
34+
console_handler = logging.StreamHandler(sys.stdout)
35+
console_handler.setLevel(level)
3636
console_handler.setFormatter(formatter)
37-
3837
logger.addHandler(console_handler)
39-
38+
39+
# File handler - always log to file for debugging
40+
try:
41+
file_handler = logging.FileHandler('/tmp/biglinux-livecd.log')
42+
file_handler.setLevel(level)
43+
file_handler.setFormatter(formatter)
44+
logger.addHandler(file_handler)
45+
except Exception as e:
46+
# If we can't create file handler, just continue with console
47+
print(f"Warning: Could not create log file: {e}", file=sys.stderr)
48+
4049
return logger
4150

4251

biglinux-livecd/usr/share/biglinux/livecd/services.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,29 @@ def _apply_dark_theme(self, desktop_env: str):
204204
"'prefer-dark'"
205205
])
206206

207+
# Set GTK theme for each desktop environment
208+
if desktop_env == "Cinnamon":
209+
logger.info("Setting Cinnamon GTK theme to Big-Orange")
210+
self._run_command([
211+
"dconf", "write",
212+
"/org/cinnamon/desktop/interface/gtk-theme",
213+
"'Big-Orange'"
214+
])
215+
elif desktop_env == "GNOME":
216+
logger.info("Setting GNOME GTK theme to Big-Blue")
217+
self._run_command([
218+
"dconf", "write",
219+
"/org/gnome/desktop/interface/gtk-theme",
220+
"'Big-Blue'"
221+
])
222+
elif desktop_env == "XFCE":
223+
logger.info("Setting XFCE GTK theme to Big-Blue")
224+
self._run_command([
225+
"xfconf-query", "-c", "xsettings",
226+
"-p", "/Net/ThemeName",
227+
"-s", "Big-Blue"
228+
])
229+
207230
# Configure Kvantum theme
208231
home = os.path.expanduser("~")
209232
kvantum_dir = os.path.join(home, ".config", "Kvantum")
@@ -235,6 +258,29 @@ def _apply_light_theme(self, desktop_env: str):
235258
"'default'"
236259
])
237260

261+
# Set GTK theme for each desktop environment
262+
if desktop_env == "Cinnamon":
263+
logger.info("Setting Cinnamon GTK theme to Big-Orange-Light")
264+
self._run_command([
265+
"dconf", "write",
266+
"/org/cinnamon/desktop/interface/gtk-theme",
267+
"'Big-Orange-Light'"
268+
])
269+
elif desktop_env == "GNOME":
270+
logger.info("Setting GNOME GTK theme to Big-Blue-Light")
271+
self._run_command([
272+
"dconf", "write",
273+
"/org/gnome/desktop/interface/gtk-theme",
274+
"'Big-Blue-Light'"
275+
])
276+
elif desktop_env == "XFCE":
277+
logger.info("Setting XFCE GTK theme to Big-Blue-Light")
278+
self._run_command([
279+
"xfconf-query", "-c", "xsettings",
280+
"-p", "/Net/ThemeName",
281+
"-s", "Big-Blue-Light"
282+
])
283+
238284
# Configure Kvantum theme
239285
home = os.path.expanduser("~")
240286
kvantum_dir = os.path.join(home, ".config", "Kvantum")

biglinux-livecd/usr/share/biglinux/livecd/ui/app_window.py

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -444,26 +444,41 @@ def _add_simple_theme_view(self):
444444

445445
def _on_simple_theme_selected(self, view, theme):
446446
"""Handle theme selection from simplified theme view."""
447-
logger.info(f"Simple theme selected: {theme}")
447+
logger.info(f"========== SIMPLE THEME SELECTED: {theme} ==========")
448448

449-
# Mark theme step as completed
450-
self.completed_steps.add("theme")
451-
452-
# Save to config
453-
self.config.simple_theme = theme
454-
455-
# Apply simple theme (light or dark)
456-
self.system_service.apply_simple_theme(theme)
457-
458-
# Get JamesDSP and contrast settings from the theme view
459-
theme_view = self.stack.get_child_by_name("simple_theme")
460-
if theme_view:
461-
self.config.enable_jamesdsp = theme_view.is_jamesdsp_enabled()
462-
self.config.enable_enhanced_contrast = theme_view.is_contrast_enabled()
463-
464-
# Finalize and close
465-
self.system_service.finalize_setup(self.config)
466-
self.close()
449+
try:
450+
# Mark theme step as completed
451+
self.completed_steps.add("theme")
452+
logger.debug(f"Marked theme step as completed. Completed steps: {self.completed_steps}")
453+
454+
# Save to config
455+
self.config.simple_theme = theme
456+
logger.debug(f"Saved theme to config: {theme}")
457+
458+
# Apply simple theme (light or dark)
459+
logger.info(f"Applying simple theme: {theme}")
460+
self.system_service.apply_simple_theme(theme)
461+
logger.info(f"Simple theme applied successfully")
462+
463+
# Get JamesDSP and contrast settings from the theme view
464+
theme_view = self.stack.get_child_by_name("simple_theme")
465+
if theme_view:
466+
jamesdsp = theme_view.is_jamesdsp_enabled()
467+
contrast = theme_view.is_contrast_enabled()
468+
self.config.enable_jamesdsp = jamesdsp
469+
self.config.enable_enhanced_contrast = contrast
470+
logger.info(f"JamesDSP: {jamesdsp}, Enhanced Contrast: {contrast}")
471+
else:
472+
logger.warning("Could not get theme_view from stack")
473+
474+
# Finalize and close
475+
logger.info("Finalizing setup...")
476+
self.system_service.finalize_setup(self.config)
477+
logger.info("Setup finalized. Closing application...")
478+
self.close()
479+
logger.info("Application closed successfully")
480+
except Exception as e:
481+
logger.error(f"ERROR in _on_simple_theme_selected: {e}", exc_info=True)
467482

468483
def _on_key_press_event(self, controller, keyval, keycode, state):
469484
current_view = self.stack.get_visible_child()

biglinux-livecd/usr/share/biglinux/livecd/ui/base_view.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
from services import SystemService
99
from abc import ABCMeta, abstractmethod
1010
from translations import _
11+
from logging_config import get_logger
12+
13+
logger = get_logger()
1114

1215

1316
class GObjectMeta(type(GObject.Object), ABCMeta):
@@ -142,7 +145,11 @@ def _on_key_pressed(self, controller, keyval, keycode, state):
142145

143146
def _on_child_activated(self, flow_box, child):
144147
if hasattr(child, "item_data"):
145-
self.emit_signal(child.item_data.name)
148+
item_name = child.item_data.name
149+
logger.info(f"BaseItemView: child activated - emitting signal for: {item_name}")
150+
self.emit_signal(item_name)
151+
else:
152+
logger.warning(f"BaseItemView: child activated but no item_data found")
146153

147154
def _on_flow_leave(self, controller, *args):
148155
self.flow_box.unselect_all()

0 commit comments

Comments
 (0)