doomemacs/modules/tools/lookup/autoload/xwidget.el
Björn Larsson b2f27c2b4f
refactor(lookup): move xwidget popup rule (#5598)
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.
2021-10-10 18:22:13 +02:00

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))))