From: Po Lu Date: Sat, 6 Nov 2021 02:37:25 +0000 (+0800) Subject: Display page titles in xwidget webkit header line X-Git-Tag: emacs-29.0.90~3671^2~132 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=74711c0298103b28907f715b5232ccd014914c10;p=emacs.git Display page titles in xwidget webkit header line * lisp/xwidget.el (xwidget-webkit--title): New variable. (xwidget-webkit-callback, xwidget-webkit-mode): Set header line format and associated variables. --- diff --git a/lisp/xwidget.el b/lisp/xwidget.el index c0e677a194f..58371515408 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el @@ -88,6 +88,9 @@ This returns the result of `make-xwidget'." (require 'seq) (require 'url-handlers) +(defvar-local xwidget-webkit--title "" + "The title of the WebKit widget, used for the header line.") + ;;;###autoload (defun xwidget-webkit-browse-url (url &optional new-session) "Ask xwidget-webkit to browse URL. @@ -335,6 +338,8 @@ XWIDGET instance, XWIDGET-EVENT-TYPE depends on the originating xwidget." (with-current-buffer (xwidget-buffer xwidget) (cond ((eq xwidget-event-type 'load-changed) (let ((title (xwidget-webkit-title xwidget))) + (setq xwidget-webkit--title title) + (force-mode-line-update) (xwidget-log "webkit finished loading: %s" title) ;; Do not adjust webkit size to window here, the selected window ;; can be the mini-buffer window unwantedly. @@ -371,6 +376,7 @@ If non-nil, plugins are enabled. Otherwise, disabled." (setq-local tool-bar-map xwidget-webkit-tool-bar-map) (setq-local bookmark-make-record-function #'xwidget-webkit-bookmark-make-record) + (setq-local header-line-format 'xwidget-webkit--title) ;; Keep track of [vh]scroll when switching buffers (image-mode-setup-winprops))