Refactor code completion, container layouts, and webkit settings

- Renamed alt_provider.py file under words completer
- Improve word completion matching logic with character validation
- Change container orientations (header→vertical, left/right→horizontal)
- Add separators to all container edges
- Refactor webkit UI loading into separate load_url/load_context_base_path methods
- Add comprehensive webkit browser-like settings
This commit is contained in:
2026-02-20 00:15:46 -06:00
parent 6714053776
commit eb9e124df5
10 changed files with 148 additions and 18 deletions

View File

@@ -39,5 +39,64 @@ class WebkitUISettings(WebKit2.Settings):
self.set_enable_webaudio(True)
self.set_enable_accelerated_2d_canvas(True)
self.set_user_agent(f"Mozilla/5.0 (macOS, AArch64) {APP_NAME}/1.0 Chrome/140.0.0 AppleWebKit/537.36 Safari/537.36")
self.set_user_agent(
f"Mozilla/5.0 (macOS, AArch64) {APP_NAME}/1.0 Chrome/140.0.0 AppleWebKit/537.36 Safari/537.36"
)
# Note: Most "browser" like setup I could think of.
def other_set_default_settings(self):
# Usability
self.set_property('enable-fullscreen', True)
self.set_property('print-backgrounds', True)
self.set_property('enable-frame-flattening', False)
self.set_property('enable-plugins', True)
self.set_property('enable-java', False)
self.set_property('enable-resizable-text-areas', True)
self.set_property('zoom-text-only', False)
self.set_property('enable-smooth-scrolling', True)
self.set_property('enable-back-forward-navigation-gestures', False)
self.set_property('media-playback-requires-user-gesture', False)
self.set_property('enable-tabs-to-links', True)
self.set_property('enable-caret-browsing', False)
# Security
# self.set_property('user-agent', 'Mozilla/5.0 (X11; Generic; Linux x86-64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Safari/605.1.15')
self.set_property('user-agent', f"Mozilla/5.0 (macOS, AArch64) {APP_NAME}/1.0 Chrome/140.0.0 AppleWebKit/537.36 Safari/537.36")
self.set_property('enable-private-browsing', False)
self.set_property('enable-xss-auditor', True)
self.set_property('enable-hyperlink-auditing', False)
self.set_property('enable-site-specific-quirks', True)
self.set_property('enable-offline-web-application-cache', True)
self.set_property('enable-page-cache', True)
self.set_property('allow-modal-dialogs', True)
self.set_property('enable-html5-local-storage', True)
self.set_property('enable-html5-database', True)
self.set_property('allow-file-access-from-file-urls', True)
self.set_property('allow-universal-access-from-file-urls', False)
self.set_property('enable-dns-prefetching', False)
# Media stuff
self.set_hardware_acceleration_policy(0)
# self.set_property('hardware-acceleration-policy', 'on-demand')
self.set_property('enable-webgl', True)
self.set_property('enable-webaudio', True)
self.set_property('enable-accelerated-2d-canvas', True)
self.set_property('auto-load-images', True)
self.set_property('enable-media-capabilities', True)
self.set_property('enable-media-stream', True)
self.set_property('enable-mediasource', True)
self.set_property('enable-encrypted-media', True)
self.set_property('media-playback-allows-inline', True)
# JS
self.set_property('enable-javascript', True)
self.set_property('enable-javascript-markup', True)
self.set_property('javascript-can-access-clipboard', False)
self.set_property('javascript-can-open-windows-automatically', False)
# Debugging
self.set_property('enable-developer-extras', False)
self.set_property('enable-write-console-messages-to-stdout', False)
self.set_property('draw-compositing-indicators', False)
self.set_property('enable-mock-capture-devices', False)
self.set_property('enable-spatial-navigation', False)