diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/wm/jao-exwm.el | 31 |
1 files changed, 30 insertions, 1 deletions
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 <https://www.gnu.org/licenses/>. +;;; 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 |
