Loading core/browser_buffer.py +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ class BrowserBuffer(Buffer): self.buffer_widget.loadProgress.connect(self.update_progress) self.buffer_widget.loadFinished.connect(self.stop_progress) self.buffer_widget.web_page.windowCloseRequested.connect(self.request_close_buffer) def get_key_event_widgets(self): # We need send key event to QWebEngineView's focusProxy widget, not QWebEngineView. return [self.buffer_widget.focusProxy()] Loading core/buffer.py +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ class Buffer(QGraphicsScene): open_url = QtCore.pyqtSignal(str) before_destroy_hook = QtCore.pyqtSignal() input_message = QtCore.pyqtSignal(str, str, str) close_buffer = QtCore.pyqtSignal(str) def __init__(self, buffer_id, url, fit_to_view, background_color): super(QGraphicsScene, self).__init__() Loading Loading @@ -90,6 +91,9 @@ class Buffer(QGraphicsScene): def change_title(self, title): self.update_title.emit(self.buffer_id, title) def request_close_buffer(self): self.close_buffer.emit(self.buffer_id) def all_views_hide(self): pass Loading docs/TODOLIST.md +0 −1 Original line number Diff line number Diff line ## Todo list * Browser: add cookie support * Browser: if popup window emit exit signal, kill buffer * Browser: add proxy support * Browser: implement js plugin like vimium * Browser: study more code from https://github.com/LavaPower/Browthon-Old/blob/c25d5721b40e95131a3c521566a18467f13ecbf0/files/Browthon_elements.py Loading eaf.el +15 −0 Original line number Diff line number Diff line Loading @@ -410,6 +410,21 @@ We need calcuate render allocation to make sure no black border around render co ) (switch-to-buffer eaf-buffer))) (dbus-register-signal :session "com.lazycat.eaf" "/com/lazycat/eaf" "com.lazycat.eaf" "request_kill_buffer" 'eaf-request-kill-buffer) (defun eaf-request-kill-buffer (kill-buffer-id) (catch 'found-match-buffer (dolist (buffer (buffer-list)) (set-buffer buffer) (when (equal major-mode 'eaf-mode) (when (string= buffer-id kill-buffer-id) (kill-buffer buffer) (message (format "Request kill buffer %s" kill-buffer-id)) (throw 'found-match-buffer t)))))) (dbus-register-signal :session "com.lazycat.eaf" "/com/lazycat/eaf" "com.lazycat.eaf" "focus_emacs_buffer" Loading eaf.py +7 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,9 @@ class EAF(dbus.service.Object): # Send message to emacs. app_buffer.input_message.connect(self.input_message) # Handle buffer close request. app_buffer.close_buffer.connect(self.request_kill_buffer) # Add create new window callback if module is browser if module_path == "app.browser.buffer": app_buffer.buffer_widget.create_new_browser_window_callback = self.create_new_browser_window Loading Loading @@ -255,6 +258,10 @@ class EAF(dbus.service.Object): def create_new_browser_buffer(self, buffer_id): pass @dbus.service.signal("com.lazycat.eaf") def request_kill_buffer(self, buffer_id): pass def save_buffer_session(self, buf): # Create config file it not exist. if not os.path.exists(self.session_file_path): Loading Loading
core/browser_buffer.py +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ class BrowserBuffer(Buffer): self.buffer_widget.loadProgress.connect(self.update_progress) self.buffer_widget.loadFinished.connect(self.stop_progress) self.buffer_widget.web_page.windowCloseRequested.connect(self.request_close_buffer) def get_key_event_widgets(self): # We need send key event to QWebEngineView's focusProxy widget, not QWebEngineView. return [self.buffer_widget.focusProxy()] Loading
core/buffer.py +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ class Buffer(QGraphicsScene): open_url = QtCore.pyqtSignal(str) before_destroy_hook = QtCore.pyqtSignal() input_message = QtCore.pyqtSignal(str, str, str) close_buffer = QtCore.pyqtSignal(str) def __init__(self, buffer_id, url, fit_to_view, background_color): super(QGraphicsScene, self).__init__() Loading Loading @@ -90,6 +91,9 @@ class Buffer(QGraphicsScene): def change_title(self, title): self.update_title.emit(self.buffer_id, title) def request_close_buffer(self): self.close_buffer.emit(self.buffer_id) def all_views_hide(self): pass Loading
docs/TODOLIST.md +0 −1 Original line number Diff line number Diff line ## Todo list * Browser: add cookie support * Browser: if popup window emit exit signal, kill buffer * Browser: add proxy support * Browser: implement js plugin like vimium * Browser: study more code from https://github.com/LavaPower/Browthon-Old/blob/c25d5721b40e95131a3c521566a18467f13ecbf0/files/Browthon_elements.py Loading
eaf.el +15 −0 Original line number Diff line number Diff line Loading @@ -410,6 +410,21 @@ We need calcuate render allocation to make sure no black border around render co ) (switch-to-buffer eaf-buffer))) (dbus-register-signal :session "com.lazycat.eaf" "/com/lazycat/eaf" "com.lazycat.eaf" "request_kill_buffer" 'eaf-request-kill-buffer) (defun eaf-request-kill-buffer (kill-buffer-id) (catch 'found-match-buffer (dolist (buffer (buffer-list)) (set-buffer buffer) (when (equal major-mode 'eaf-mode) (when (string= buffer-id kill-buffer-id) (kill-buffer buffer) (message (format "Request kill buffer %s" kill-buffer-id)) (throw 'found-match-buffer t)))))) (dbus-register-signal :session "com.lazycat.eaf" "/com/lazycat/eaf" "com.lazycat.eaf" "focus_emacs_buffer" Loading
eaf.py +7 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,9 @@ class EAF(dbus.service.Object): # Send message to emacs. app_buffer.input_message.connect(self.input_message) # Handle buffer close request. app_buffer.close_buffer.connect(self.request_kill_buffer) # Add create new window callback if module is browser if module_path == "app.browser.buffer": app_buffer.buffer_widget.create_new_browser_window_callback = self.create_new_browser_window Loading Loading @@ -255,6 +258,10 @@ class EAF(dbus.service.Object): def create_new_browser_buffer(self, buffer_id): pass @dbus.service.signal("com.lazycat.eaf") def request_kill_buffer(self, buffer_id): pass def save_buffer_session(self, buf): # Create config file it not exist. if not os.path.exists(self.session_file_path): Loading