diff --git a/.gitignore b/.gitignore index 2a35779..216514e 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ debug.log # Package artifacts *.pkg.tar.zst distro-packages/*/cthulhu/ +distro-packages/*/pkg/ # Generated makefiles (should not be committed) Makefile diff --git a/debug2.log b/debug2.log new file mode 100644 index 0000000..57db24a --- /dev/null +++ b/debug2.log @@ -0,0 +1,36 @@ +Fontconfig warning: using without calling FcInit() +after Emit Signal: load-setting-begin +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: load-setting-begin +DEBUG: AI ASSISTANT __init__ called +DEBUG: AI ASSISTANT activation starting +DEBUG: AI ASSISTANT enabled setting: False +DEBUG: AI Assistant disabled, skipping activation +DEBUG: AI ASSISTANT activation starting +DEBUG: AI ASSISTANT enabled setting: False +DEBUG: AI Assistant disabled, skipping activation +DEBUG: AI ASSISTANT activation starting +DEBUG: AI ASSISTANT enabled setting: False +DEBUG: AI Assistant disabled, skipping activation +DEBUG: AI ASSISTANT activation starting +DEBUG: AI ASSISTANT enabled setting: False +DEBUG: AI Assistant disabled, skipping activation +DEBUG: AI ASSISTANT activation starting +DEBUG: AI ASSISTANT enabled setting: False +DEBUG: AI Assistant disabled, skipping activation +after Emit Signal: load-setting-completed +after Emit Signal: start-application-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: setup-inputeventhandlers-completed +after Emit Signal: stop-application-completed +API Key: "/IndentationAudioPlugin" not found, +API Key: "/IndentationAudioPlugin" not found, diff --git a/src/cthulhu/cthulhu.py b/src/cthulhu/cthulhu.py index a356f5d..683060e 100644 --- a/src/cthulhu/cthulhu.py +++ b/src/cthulhu/cthulhu.py @@ -238,10 +238,23 @@ from . import translation_manager from . import resource_manager -_eventManager = event_manager.getManager() -_scriptManager = script_manager.getManager() -_settingsManager = settings_manager.getManager() -_logger = logger.getLogger() +# Lazy initialization to avoid circular imports +_eventManager = None +_scriptManager = None +_settingsManager = None +_logger = None + +def _ensureManagers(): + """Ensure managers are initialized (lazy initialization).""" + global _eventManager, _scriptManager, _settingsManager, _logger + if _eventManager is None: + _eventManager = event_manager.getManager() + if _scriptManager is None: + _scriptManager = script_manager.getManager() + if _settingsManager is None: + _settingsManager = settings_manager.getManager() + if _logger is None: + _logger = logger.getLogger() def onEnabledChanged(gsetting, key): try: @@ -253,6 +266,7 @@ def onEnabledChanged(gsetting, key): shutdown() def getSettingsManager(): + _ensureManagers() return _settingsManager def getLogger(): @@ -738,6 +752,7 @@ def showPreferencesGUI(script=None, inputEvent=None): Returns True to indicate the input event has been consumed. """ + _ensureManagers() # Initialize managers if not already done prefs = _settingsManager.getGeneralSettings(_settingsManager.profile) script = _scriptManager.getDefaultScript() _showPreferencesUI(script, prefs) diff --git a/src/cthulhu/cthulhu_gui_find.py b/src/cthulhu/cthulhu_gui_find.py index 4aaf088..2fccdf4 100644 --- a/src/cthulhu/cthulhu_gui_find.py +++ b/src/cthulhu/cthulhu_gui_find.py @@ -33,6 +33,8 @@ __license__ = "LGPL" import os import sys +import gi +gi.require_version("Gtk", "3.0") from gi.repository import Gtk import locale diff --git a/src/cthulhu/cthulhu_gui_navlist.py b/src/cthulhu/cthulhu_gui_navlist.py index ffa00c6..d277573 100644 --- a/src/cthulhu/cthulhu_gui_navlist.py +++ b/src/cthulhu/cthulhu_gui_navlist.py @@ -31,6 +31,9 @@ __date__ = "$Date$" __copyright__ = "Copyright (c) 2012 Igalia, S.L." __license__ = "LGPL" +import gi +gi.require_version("Gdk", "3.0") +gi.require_version("Gtk", "3.0") from gi.repository import GObject, Gdk, Gtk from . import debug diff --git a/src/cthulhu/cthulhu_gui_prefs.py b/src/cthulhu/cthulhu_gui_prefs.py index 0de0159..927b07e 100644 --- a/src/cthulhu/cthulhu_gui_prefs.py +++ b/src/cthulhu/cthulhu_gui_prefs.py @@ -33,6 +33,8 @@ __license__ = "LGPL" import gi gi.require_version("Atspi", "2.0") +gi.require_version("Gdk", "3.0") +gi.require_version("Gtk", "3.0") from gi.repository import Atspi import os diff --git a/src/cthulhu/cthulhu_gui_profile.py b/src/cthulhu/cthulhu_gui_profile.py index 325759f..2355bb0 100644 --- a/src/cthulhu/cthulhu_gui_profile.py +++ b/src/cthulhu/cthulhu_gui_profile.py @@ -33,6 +33,8 @@ __license__ = "LGPL" import locale import sys +import gi +gi.require_version("Gtk", "3.0") from gi.repository import Gtk from . import guilabels diff --git a/src/cthulhu/meson.build b/src/cthulhu/meson.build index 806bdc6..b720764 100644 --- a/src/cthulhu/meson.build +++ b/src/cthulhu/meson.build @@ -129,7 +129,7 @@ cthulhu_platform_py = configure_file( 'prefix': get_option('prefix'), 'bindir': get_option('bindir'), 'libdir': get_option('libdir'), - 'datadir': get_option('datadir'), + 'datadir': get_option('prefix') / get_option('datadir'), 'sysconfdir': get_option('sysconfdir'), 'localstatedir': get_option('localstatedir'), 'PACKAGE': 'cthulhu',