diff --git a/app/js-video-player/buffer.py b/app/js-video-player/buffer.py index 30b1c11..af72408 100644 --- a/app/js-video-player/buffer.py +++ b/app/js-video-player/buffer.py @@ -39,7 +39,7 @@ class AppBuffer(BrowserBuffer): index_file = "file://" + (os.path.join(os.path.dirname(__file__), "index.html")) self.buffer_widget.setUrl(QUrl(index_file)) - for method_name in ["toggle_play", "toggle_fullscreen", "forward", "backward", "restart", "increase_volume", "decrease_volume"]: + for method_name in ["toggle_play", "forward", "backward", "restart", "increase_volume", "decrease_volume"]: self.build_js_method(method_name) QTimer.singleShot(500, self.play_video) diff --git a/app/js-video-player/index.html b/app/js-video-player/index.html index 43969da..761d0c2 100644 --- a/app/js-video-player/index.html +++ b/app/js-video-player/index.html @@ -24,10 +24,6 @@ player.togglePlay(); } - function toggle_fullscreen() { - player.fullscreen.toggle(); - } - function get_current_time() { return player.currentTime; } diff --git a/core/browser.py b/core/browser.py index 83f28a1..9749544 100644 --- a/core/browser.py +++ b/core/browser.py @@ -366,8 +366,6 @@ class BrowserBuffer(Buffer): close_page = QtCore.pyqtSignal(str) get_focus_text = QtCore.pyqtSignal(str, str) open_dev_tools_tab = QtCore.pyqtSignal(object) - enter_fullscreen_request = QtCore.pyqtSignal() - exit_fullscreen_request = QtCore.pyqtSignal() def __init__(self, buffer_id, url, config_dir, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color): Buffer.__init__(self, buffer_id, url, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color) diff --git a/core/buffer.py b/core/buffer.py index 35aae9e..47a2032 100755 --- a/core/buffer.py +++ b/core/buffer.py @@ -159,6 +159,8 @@ class Buffer(QGraphicsScene): goto_left_tab = QtCore.pyqtSignal() goto_right_tab = QtCore.pyqtSignal() aspect_ratio_change = QtCore.pyqtSignal() + enter_fullscreen_request = QtCore.pyqtSignal() + exit_fullscreen_request = QtCore.pyqtSignal() def __init__(self, buffer_id, url, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color): super(QGraphicsScene, self).__init__() @@ -175,11 +177,28 @@ class Buffer(QGraphicsScene): self.buffer_widget = None + self.is_fullscreen = False + self.current_event_string = "" self.aspect_ratio = 0 self.vertical_padding_ratio = 1.0 / 8 + self.enter_fullscreen_request.connect(self.enable_fullscreen) + self.exit_fullscreen_request.connect(self.disable_fullscreen) + + def toggle_fullscreen(self): + if self.is_fullscreen: + self.exit_fullscreen_request.emit() + else: + self.enter_fullscreen_request.emit() + + def enable_fullscreen(self): + self.is_fullscreen = True + + def disable_fullscreen(self): + self.is_fullscreen = False + def set_aspect_ratio(self, aspect_ratio): self.aspect_ratio = aspect_ratio self.aspect_ratio_change.emit() diff --git a/eaf.el b/eaf.el index 5210549..10c8beb 100644 --- a/eaf.el +++ b/eaf.el @@ -111,6 +111,7 @@ (define-key map [remap describe-bindings] #'eaf-describe-bindings) (define-key map (kbd "C-c b") #'eaf-open-bookmark) (define-key map (kbd "C-c e") #'eaf-open-external) + (define-key map (kbd "M-'") #'eaf-toggle-fullscreen) (define-key map (kbd "M-/") #'eaf-get-path-or-url) (define-key map (kbd "M-[") #'eaf-share-path-or-url) (define-key map (vector 'remap #'keyboard-quit) #'eaf-keyboard-quit) @@ -376,7 +377,6 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead." '(("SPC" . "toggle_play") ("M-g" . "exit_fullscreen") ("" . "open_dev_tool_page") - ("f" . "toggle_fullscreen") ("h" . "backward") ("l" . "forward") ("r" . "restart") @@ -909,6 +909,11 @@ When called interactively, copy to ‘kill-ring’." (eaf-call "call_function" eaf--buffer-id "get_url")) (message "This command can only be called in an EAF buffer!"))) +(defun eaf-toggle-fullscreen () + "Toggle fullscreen." + (interactive) + (eaf-call "execute_function" eaf--buffer-id "toggle_fullscreen" (key-description (this-command-keys-vector)))) + (defun eaf-share-path-or-url () "Share the current file path or web URL as QRCode." (interactive) @@ -1868,6 +1873,7 @@ Make sure that your smartphone is connected to the same WiFi network as this com | C-c b | eaf-open-bookmark | | C-c e | eaf-open-external | | M-/ | eaf-get-path-or-url | + | M-' | eaf-toggle-fullscreen | | M-[ | eaf-share-path-or-url | * Browser Edit Mode