From b1096055b769d328fd54e732b141c94d4eec1335 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 25 Feb 2024 16:19:14 -0600 Subject: [PATCH] Renamed settings folder; hyphenated event names --- src/__builtins__.py | 2 +- src/core/containers/base_container.py | 4 +- src/core/containers/center_container.py | 1 - src/core/containers/header_container.py | 4 +- src/core/containers/left_container.py | 1 - src/core/containers/right_container.py | 1 - src/core/controllers/base_controller.py | 10 +-- src/core/controllers/bridge_controller.py | 10 +-- src/core/widgets/transparency_scale.py | 4 +- src/core/widgets/webkit/webkit_ui.py | 56 +++------------- src/core/widgets/webkit_ui.py | 67 ------------------- src/core/window.py | 12 ++-- src/libs/{data_types => dto}/__init__.py | 0 src/libs/{data_types => dto}/event.py | 0 src/libs/ipc_server.py | 6 +- src/libs/mixins/dnd_mixin.py | 2 +- .../__init__.py | 0 .../{settings_manager => settings}/manager.py | 0 .../options/__init__.py | 0 .../options/config.py | 0 .../options/debugging.py | 0 .../options/filters.py | 0 .../options/settings.py | 0 .../options/theming.py | 0 .../other/__init__.py | 0 .../other/webkit_ui_settings.py | 0 .../start_check_mixin.py | 0 .../usr/share/app_name/key-bindings.json | 38 +++++------ 28 files changed, 55 insertions(+), 163 deletions(-) delete mode 100644 src/core/widgets/webkit_ui.py rename src/libs/{data_types => dto}/__init__.py (100%) rename src/libs/{data_types => dto}/event.py (100%) rename src/libs/{settings_manager => settings}/__init__.py (100%) rename src/libs/{settings_manager => settings}/manager.py (100%) rename src/libs/{settings_manager => settings}/options/__init__.py (100%) rename src/libs/{settings_manager => settings}/options/config.py (100%) rename src/libs/{settings_manager => settings}/options/debugging.py (100%) rename src/libs/{settings_manager => settings}/options/filters.py (100%) rename src/libs/{settings_manager => settings}/options/settings.py (100%) rename src/libs/{settings_manager => settings}/options/theming.py (100%) rename src/libs/{settings_manager => settings}/other/__init__.py (100%) rename src/libs/{settings_manager => settings}/other/webkit_ui_settings.py (100%) rename src/libs/{settings_manager => settings}/start_check_mixin.py (100%) diff --git a/src/__builtins__.py b/src/__builtins__.py index 827ee12..770a5a3 100644 --- a/src/__builtins__.py +++ b/src/__builtins__.py @@ -11,7 +11,7 @@ from libs.event_system import EventSystem from libs.endpoint_registry import EndpointRegistry from libs.keybindings import Keybindings from libs.logger import Logger -from libs.settings_manager.manager import SettingsManager +from libs.settings.manager import SettingsManager diff --git a/src/core/containers/base_container.py b/src/core/containers/base_container.py index 387cbbd..2dad04a 100644 --- a/src/core/containers/base_container.py +++ b/src/core/containers/base_container.py @@ -33,8 +33,8 @@ class BaseContainer(Gtk.Box): ... def _subscribe_to_events(self): - event_system.subscribe("update_transparency", self._update_transparency) - event_system.subscribe("remove_transparency", self._remove_transparency) + event_system.subscribe("update-transparency", self._update_transparency) + event_system.subscribe("remove-transparency", self._remove_transparency) def _load_widgets(self): self.add(HeaderContainer()) diff --git a/src/core/containers/center_container.py b/src/core/containers/center_container.py index 7d51eb2..887f2f2 100644 --- a/src/core/containers/center_container.py +++ b/src/core/containers/center_container.py @@ -31,7 +31,6 @@ class CenterContainer(Gtk.Box): ... def _subscribe_to_events(self): - # event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) ... def _load_widgets(self): diff --git a/src/core/containers/header_container.py b/src/core/containers/header_container.py index 155e79c..7ed41a3 100644 --- a/src/core/containers/header_container.py +++ b/src/core/containers/header_container.py @@ -32,7 +32,7 @@ class HeaderContainer(Gtk.Box): ... def _subscribe_to_events(self): - event_system.subscribe("tggl_top_main_menubar", self.tggl_top_main_menubar) + event_system.subscribe("tggl-top-main-menubar", self.tggl_top_main_menubar) def _load_widgets(self): @@ -43,7 +43,7 @@ class HeaderContainer(Gtk.Box): self.add(button) def _interactive_debug(self, widget = None, eve = None): - event_system.emit("load_interactive_debug") + event_system.emit("load-interactive-debug") def tggl_top_main_menubar(self): self.hide() if self.is_visible() else self.show() diff --git a/src/core/containers/left_container.py b/src/core/containers/left_container.py index 77cd490..aa9ec97 100644 --- a/src/core/containers/left_container.py +++ b/src/core/containers/left_container.py @@ -28,7 +28,6 @@ class LeftContainer(Gtk.Box): ... def _subscribe_to_events(self): - # event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) ... def _load_widgets(self): diff --git a/src/core/containers/right_container.py b/src/core/containers/right_container.py index f0ac75d..a5869fc 100644 --- a/src/core/containers/right_container.py +++ b/src/core/containers/right_container.py @@ -28,7 +28,6 @@ class RightContainer(Gtk.Box): ... def _subscribe_to_events(self): - # event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) ... def _load_widgets(self): diff --git a/src/core/controllers/base_controller.py b/src/core/controllers/base_controller.py index 1728ca1..8ccd90c 100644 --- a/src/core/controllers/base_controller.py +++ b/src/core/controllers/base_controller.py @@ -31,7 +31,7 @@ class BaseController(IPCSignalsMixin, KeyboardSignalsMixin, BaseControllerData): self.plugins.launch_plugins() for file in settings_manager.get_starting_files(): - event_system.emit("post_file_to_ipc", file) + event_system.emit("post-file-to-ipc", file) logger.info(f"Made it past {self.__class__} loading...") @@ -45,10 +45,10 @@ class BaseController(IPCSignalsMixin, KeyboardSignalsMixin, BaseControllerData): self.window.connect("key-release-event", self.on_global_key_release_controller) def _subscribe_to_events(self): - event_system.subscribe("shutting_down", lambda: print("Shutting down...")) - event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) - event_system.subscribe("handle_dir_from_ipc", self.handle_dir_from_ipc) - event_system.subscribe("tggl_top_main_menubar", self._tggl_top_main_menubar) + event_system.subscribe("shutting-down", lambda: print("Shutting down...")) + event_system.subscribe("handle-file-from-ipc", self.handle_file_from_ipc) + event_system.subscribe("handle-dir-from-ipc", self.handle_dir_from_ipc) + event_system.subscribe("tggl-top-main-menubar", self._tggl_top_main_menubar) def _load_controllers(self): BridgeController() diff --git a/src/core/controllers/bridge_controller.py b/src/core/controllers/bridge_controller.py index 648139e..9a689c8 100644 --- a/src/core/controllers/bridge_controller.py +++ b/src/core/controllers/bridge_controller.py @@ -20,19 +20,19 @@ class BridgeController: ... def _subscribe_to_events(self): - event_system.subscribe("handle_bridge_event", self.handle_bridge_event) + event_system.subscribe("handle-bridge-event", self.handle_bridge_event) def handle_bridge_event(self, event): match event.topic: case "save": - event_system.emit(f"handle_file_event_{event.originator}", (event,)) + event_system.emit(f"handle-file-event-{event.originator}", (event,)) case "close": - event_system.emit(f"handle_file_event_{event.originator}", (event,)) + event_system.emit(f"handle-file-event-{event.originator}", (event,)) case "load_buffer": - event_system.emit(f"handle_file_event_{event.originator}", (event,)) + event_system.emit(f"handle-file-event-{event.originator}", (event,)) case "load_file": - event_system.emit(f"handle_file_event_{event.originator}", (event,)) + event_system.emit(f"handle-file-event-{event.originator}", (event,)) case "alert": content = base64.b64decode( event.content.encode() ).decode("utf-8") logger.info(f"\nMessage Topic: {event.topic}\nMessage Content: {content}") diff --git a/src/core/widgets/transparency_scale.py b/src/core/widgets/transparency_scale.py index 1e48177..02c11e4 100644 --- a/src/core/widgets/transparency_scale.py +++ b/src/core/widgets/transparency_scale.py @@ -42,7 +42,7 @@ class TransparencyScale(Gtk.Scale): adjust.set_step_increment(1.0) def _update_transparency(self, range): - event_system.emit("remove_transparency") + event_system.emit("remove-transparency") tp = int(range.get_value()) settings.theming.transparency = tp - event_system.emit("update_transparency") \ No newline at end of file + event_system.emit("update-transparency") \ No newline at end of file diff --git a/src/core/widgets/webkit/webkit_ui.py b/src/core/widgets/webkit/webkit_ui.py index b16bebc..9b55997 100644 --- a/src/core/widgets/webkit/webkit_ui.py +++ b/src/core/widgets/webkit/webkit_ui.py @@ -9,7 +9,8 @@ from gi.repository import Gdk from gi.repository import WebKit2 # Application imports -from libs.data_types import Event +from libs.settings.other.webkit_ui_settings import WebkitUISettings +from libs.dto.event import Event @@ -17,9 +18,6 @@ class WebkitUI(WebKit2.WebView): def __init__(self): super(WebkitUI, self).__init__() - # self.get_context().set_sandbox_enabled(False) - - self._load_settings() self._setup_styling() self._subscribe_to_events() self._load_view() @@ -27,10 +25,6 @@ class WebkitUI(WebKit2.WebView): self.show_all() - if settings_manager.is_debug(): - inspector = self.get_inspector() - inspector.show() - def _setup_styling(self): self.set_vexpand(True) @@ -38,8 +32,8 @@ class WebkitUI(WebKit2.WebView): self.set_background_color( Gdk.RGBA(0, 0, 0, 0.0) ) def _subscribe_to_events(self): - event_system.subscribe(f"ui_message", self.ui_message) - + event_system.subscribe(f"ui-message", self.ui_message) + def _load_settings(self): self.set_settings( WebkitUISettings() ) @@ -54,7 +48,6 @@ class WebkitUI(WebKit2.WebView): def _setup_content_manager(self): content_manager = self.get_user_content_manager() - content_manager.connect("script-message-received", self._process_js_message) content_manager.register_script_message_handler("backend") @@ -64,45 +57,14 @@ class WebkitUI(WebKit2.WebView): try: event = Event( **json.loads(message) ) - event_system.emit("handle_bridge_event", (event,)) + event_system.emit("handle-bridge-event", (event,)) except Exception as e: logger.info(e) - def ui_message(self, mtype, message): + def ui_message(self, message, mtype): command = f"displayMessage('{message}', '{mtype}', '3')" self.run_javascript(command, None, None) - -class WebkitUISettings(WebKit2.Settings): - def __init__(self): - super(WebkitUISettings, self).__init__() - - self._set_default_settings() - - - # Note: Highly insecure setup but most "app" like setup I could think of. - # Audit heavily any scripts/links ran/clicked under this setup! - def _set_default_settings(self): - # self.set_enable_xss_auditor(True) - # self.set_enable_hyperlink_auditing(True) - self.set_enable_xss_auditor(False) - self.set_enable_hyperlink_auditing(False) - self.set_enable_dns_prefetching(False) - self.set_allow_file_access_from_file_urls(True) - self.set_allow_universal_access_from_file_urls(True) - # self.set_enable_java(True) - - self.set_enable_page_cache(False) - self.set_enable_offline_web_application_cache(False) - self.set_enable_html5_local_storage(False) - self.set_enable_html5_database(False) - - self.set_print_backgrounds(False) - self.set_enable_tabs_to_links(False) - self.set_enable_fullscreen(True) - self.set_enable_developer_extras(True) - self.set_enable_webrtc(True) - self.set_enable_webaudio(True) - self.set_enable_accelerated_2d_canvas(True) - - self.set_user_agent(f"Mozilla/5.0 {app_name}") \ No newline at end of file + def run_javascript(self, script, cancellable, callback): + logger.debug(script) + super().run_javascript(script, cancellable, callback) diff --git a/src/core/widgets/webkit_ui.py b/src/core/widgets/webkit_ui.py deleted file mode 100644 index 6b1f4ee..0000000 --- a/src/core/widgets/webkit_ui.py +++ /dev/null @@ -1,67 +0,0 @@ -# Python imports - -# Lib imports -import gi -gi.require_version('Gdk', '3.0') -gi.require_version('WebKit2', '4.0') -from gi.repository import Gdk -from gi.repository import WebKit2 - -# Application imports -from libs.settings_manager.other.webkit_ui_settings import WebkitUISettings - - -class WebkitUI(WebKit2.WebView): - def __init__(self): - super(WebkitUI, self).__init__() - - self._setup_styling() - self._subscribe_to_events() - self._load_view() - self._setup_content_manager() - - self.show_all() - - - def _setup_styling(self): - self.set_vexpand(True) - self.set_hexpand(True) - self.set_background_color( Gdk.RGBA(0, 0, 0, 0.0) ) - - def _subscribe_to_events(self): - event_system.subscribe(f"ui_message", self.ui_message) - - def _load_settings(self): - self.set_settings( WebkitUISettings() ) - - def _load_view(self): - path = settings_manager.get_context_path() - data = None - - with open(f"{path}/index.html", "r") as f: - data = f.read() - - self.load_html(content = data, base_uri = f"file://{path}/") - - def _setup_content_manager(self): - content_manager = self.get_user_content_manager() - content_manager.connect("script-message-received", self._process_js_message) - content_manager.register_script_message_handler("backend") - - def _process_js_message(self, user_content_manager, js_result): - js_value = js_result.get_js_value() - message = js_value.to_string() - - try: - event = Event( **json.loads(message) ) - event_system.emit("handle_bridge_event", (event,)) - except Exception as e: - logger.info(e) - - def ui_message(self, message, mtype): - command = f"displayMessage('{message}', '{mtype}', '3')" - self.run_javascript(command, None, None) - - def run_javascript(self, script, cancellable, callback): - logger.debug(script) - super().run_javascript(script, cancellable, callback) diff --git a/src/core/window.py b/src/core/window.py index 7fad7b8..d67e3da 100644 --- a/src/core/window.py +++ b/src/core/window.py @@ -58,8 +58,8 @@ class Window(Gtk.ApplicationWindow): GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._tear_down) def _subscribe_to_events(self): - event_system.subscribe("tear_down", self._tear_down) - event_system.subscribe("load_interactive_debug", self._load_interactive_debug) + event_system.subscribe("tear-down", self._tear_down) + event_system.subscribe("load-interactive-debug", self._load_interactive_debug) def _load_widgets(self, args, unknownargs): if settings_manager.is_debug(): @@ -107,17 +107,17 @@ class Window(Gtk.ApplicationWindow): def _on_focus_in_event(self, widget, event): - event_system.emit("pause_dnd_signals") + event_system.emit("pause-dnd-signals") def _on_focus_out_event(self, widget, event): - event_system.emit("listen_dnd_signals") + event_system.emit("listen-dnd-signals") def _load_interactive_debug(self): self.set_interactive_debugging(True) def _tear_down(self, widget = None, eve = None): - event_system.emit("shutting_down") + event_system.emit("shutting-down") size = self.get_size() pos = self.get_position() @@ -132,4 +132,4 @@ class Window(Gtk.ApplicationWindow): Gtk.main_quit() def main(self): - Gtk.main() \ No newline at end of file + Gtk.main() diff --git a/src/libs/data_types/__init__.py b/src/libs/dto/__init__.py similarity index 100% rename from src/libs/data_types/__init__.py rename to src/libs/dto/__init__.py diff --git a/src/libs/data_types/event.py b/src/libs/dto/event.py similarity index 100% rename from src/libs/data_types/event.py rename to src/libs/dto/event.py diff --git a/src/libs/ipc_server.py b/src/libs/ipc_server.py index a351b66..e72f989 100644 --- a/src/libs/ipc_server.py +++ b/src/libs/ipc_server.py @@ -35,7 +35,7 @@ class IPCServer(Singleton): self._subscribe_to_events() def _subscribe_to_events(self): - event_system.subscribe("post_file_to_ipc", self.send_ipc_message) + event_system.subscribe("post-file-to-ipc", self.send_ipc_message) def create_ipc_listener(self) -> None: @@ -74,12 +74,12 @@ class IPCServer(Singleton): if "FILE|" in msg: file = msg.split("FILE|")[1].strip() if file: - event_system.emit("handle_file_from_ipc", file) + event_system.emit("handle-file-from-ipc", file) if "DIR|" in msg: file = msg.split("DIR|")[1].strip() if file: - event_system.emit("handle_dir_from_ipc", file) + event_system.emit("handle-dir-from-ipc", file) conn.close() break diff --git a/src/libs/mixins/dnd_mixin.py b/src/libs/mixins/dnd_mixin.py index e4c9eed..4e231d3 100644 --- a/src/libs/mixins/dnd_mixin.py +++ b/src/libs/mixins/dnd_mixin.py @@ -67,4 +67,4 @@ class DnDMixin: files.append(gfile) - event_system.emit('set_pre_drop_dnd', (files,)) \ No newline at end of file + event_system.emit('set-pre-drop-dnd', (files,)) \ No newline at end of file diff --git a/src/libs/settings_manager/__init__.py b/src/libs/settings/__init__.py similarity index 100% rename from src/libs/settings_manager/__init__.py rename to src/libs/settings/__init__.py diff --git a/src/libs/settings_manager/manager.py b/src/libs/settings/manager.py similarity index 100% rename from src/libs/settings_manager/manager.py rename to src/libs/settings/manager.py diff --git a/src/libs/settings_manager/options/__init__.py b/src/libs/settings/options/__init__.py similarity index 100% rename from src/libs/settings_manager/options/__init__.py rename to src/libs/settings/options/__init__.py diff --git a/src/libs/settings_manager/options/config.py b/src/libs/settings/options/config.py similarity index 100% rename from src/libs/settings_manager/options/config.py rename to src/libs/settings/options/config.py diff --git a/src/libs/settings_manager/options/debugging.py b/src/libs/settings/options/debugging.py similarity index 100% rename from src/libs/settings_manager/options/debugging.py rename to src/libs/settings/options/debugging.py diff --git a/src/libs/settings_manager/options/filters.py b/src/libs/settings/options/filters.py similarity index 100% rename from src/libs/settings_manager/options/filters.py rename to src/libs/settings/options/filters.py diff --git a/src/libs/settings_manager/options/settings.py b/src/libs/settings/options/settings.py similarity index 100% rename from src/libs/settings_manager/options/settings.py rename to src/libs/settings/options/settings.py diff --git a/src/libs/settings_manager/options/theming.py b/src/libs/settings/options/theming.py similarity index 100% rename from src/libs/settings_manager/options/theming.py rename to src/libs/settings/options/theming.py diff --git a/src/libs/settings_manager/other/__init__.py b/src/libs/settings/other/__init__.py similarity index 100% rename from src/libs/settings_manager/other/__init__.py rename to src/libs/settings/other/__init__.py diff --git a/src/libs/settings_manager/other/webkit_ui_settings.py b/src/libs/settings/other/webkit_ui_settings.py similarity index 100% rename from src/libs/settings_manager/other/webkit_ui_settings.py rename to src/libs/settings/other/webkit_ui_settings.py diff --git a/src/libs/settings_manager/start_check_mixin.py b/src/libs/settings/start_check_mixin.py similarity index 100% rename from src/libs/settings_manager/start_check_mixin.py rename to src/libs/settings/start_check_mixin.py diff --git a/user_config/usr/share/app_name/key-bindings.json b/user_config/usr/share/app_name/key-bindings.json index 52a4f6d..8eb8187 100644 --- a/user_config/usr/share/app_name/key-bindings.json +++ b/user_config/usr/share/app_name/key-bindings.json @@ -1,24 +1,24 @@ { "keybindings": { "help" : "F1", - "rename_files" : ["F2", "e"], - "open_terminal" : "F4", - "refresh_tab" : ["F5", "r"], - "delete_files" : "Delete", - "tggl_top_main_menubar" : "Alt_L", - "tggl_top_main_menubar" : "0", - "trash_files" : "t", - "tear_down" : "q", - "go_up" : "Up", - "go_home" : "slash", - "grab_focus_path_entry" : "l", - "open_files" : "o", - "show_hide_hidden_files" : "h", - "keyboard_create_tab" : "t", - "keyboard_close_tab" : "w", - "keyboard_copy_files" : "c", - "keyboard_cut_files" : "x", - "paste_files" : "v", - "show_new_file_menu" : "n" + "rename-files" : ["F2", "e"], + "open-terminal" : "F4", + "refresh-tab" : ["F5", "r"], + "delete-files" : "Delete", + "tggl-top-main-menubar" : "Alt_L", + "tggl-top-main-menubar" : "0", + "trash-files" : "t", + "tear-down" : "q", + "go-up" : "Up", + "go-home" : "slash", + "grab-focus-path-entry" : "l", + "open-files" : "o", + "show-hide-hidden-files" : "h", + "keyboard-create-tab" : "t", + "keyboard-close-tab" : "w", + "keyboard-copy-files" : "c", + "keyboard-cut-files" : "x", + "paste-files" : "v", + "show-new-file-menu" : "n" } }