Setting the rules explicitly was preventing users from customizing how xwidget popups should behave, so it was moved to the popup module as a global default.
19 lines
1,012 B
EmacsLisp
19 lines
1,012 B
EmacsLisp
;;; tools/lookup/autoload/xwidget.el -*- lexical-binding: t; -*-
|
|
|
|
(defvar +lookup--xwidget-webkit-last-session-buffer nil)
|
|
|
|
;;;###autoload
|
|
(defun +lookup-xwidget-webkit-open-url-fn (url &optional new-session)
|
|
(if (not (display-graphic-p))
|
|
(browse-url url)
|
|
(unless (featurep 'xwidget-internal)
|
|
(user-error "Your build of Emacs lacks Xwidgets support and cannot open Xwidget WebKit browser"))
|
|
(let ((orig-last-session-buffer (if (boundp 'xwidget-webkit-last-session-buffer)
|
|
xwidget-webkit-last-session-buffer
|
|
nil)))
|
|
(setq xwidget-webkit-last-session-buffer +lookup--xwidget-webkit-last-session-buffer)
|
|
(save-window-excursion
|
|
(xwidget-webkit-browse-url url new-session))
|
|
(pop-to-buffer xwidget-webkit-last-session-buffer)
|
|
(setq +lookup--xwidget-webkit-last-session-buffer xwidget-webkit-last-session-buffer
|
|
xwidget-webkit-last-session-buffer orig-last-session-buffer))))
|