From 74711c0298103b28907f715b5232ccd014914c10 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 6 Nov 2021 10:37:25 +0800 Subject: [PATCH] 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. --- lisp/xwidget.el | 6 ++++++ 1 file changed, 6 insertions(+) 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)) -- 2.39.5