From 1c41c7cbdb1e62c9c3976bda5bba11ec7e3143a1 Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 16 Oct 2026 23:14:21 +0100 Subject: exwm: firefox support --- lib/wm/jao-exwm.el | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/wm/jao-exwm.el b/lib/wm/jao-exwm.el index 52a2e34..7027df4 100644 --- a/lib/wm/jao-exwm.el +++ b/lib/wm/jao-exwm.el @@ -17,7 +17,11 @@ ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . +;;; Deps +(require 'browse-url) +(require 'exwm) (require 'jao-minibuffer) +(require 'jao-afio) ;;; Helpers (defvar jao-exwm-use-afio t) @@ -33,7 +37,7 @@ (require 'exwm-systemtray) (exwm-systemtray-mode 1) -(defun jao-exwm--watch-tray (sym newval op where) +(defun jao-exwm--watch-tray (_sym newval _op _where) (setq jao-minibuffer-right-margin (/ newval (string-pixel-width "a"))) (jao-minibuffer-refresh)) @@ -193,7 +197,32 @@ (jao-afio-toggle) (,name)))))) +;;; Firefox support +(jao-def-exwm-toggler jao-exwm-firefox -1 "firefox" "firefox") +(defun jao-exwm-browse-with-firefox (&rest args) + (jao-exwm-firefox) + (apply #'browse-url-firefox args)) + +(defun jao-exwm-kill-firefox-url () + (interactive) + (when-let* ((b (jao-exwm-find-class-buffer "firefox"))) + (let ((cb (current-buffer))) + (switch-to-buffer b) + (exwm-input--fake-key ?y) + (exwm-input--fake-key ?y) + (prog1 (current-kill 1) + (switch-to-buffer cb))))) + +(defun jao-exwm-firefox-search (query) + (interactive "sQuery: ") + (jao-exwm-firefox) + (sit-for 0.5) + (exwm-input--fake-key ?s) + (dolist (k (string-to-list query)) + (exwm-input--fake-key k)) + (sit-for 0.5) + (exwm-input--fake-key ?\r)) (provide 'jao-exwm) ;;; jao-exwm.el ends here -- cgit v1.2.3