summaryrefslogtreecommitdiffhomepage
path: root/lib/wm/jao-exwm.el
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wm/jao-exwm.el')
-rw-r--r--lib/wm/jao-exwm.el31
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