;;; exwm-holyK-firefox --- Emacs keybinding implemention of exwm-firefox-core ;;; Author: Thanos Apollo ;;; Commentary: ;;; Code: (require 'exwm-firefox-core) (defvar exwm-firefox-class-names '("firefox-default" "firefox" "Firefox" "Nightly" "Icecat") "The class name used for detecting if current buffer is a firefox browser.") (define-minor-mode exwm-firefox-holyK-mode "Get Emacs keybindings in Firefox with EXWM." :lighter " Firefox/EXWM" :keymap (let ((map (make-sparse-keymap))) (define-key map (kbd "C-n") 'exwm-firefox-core-down) (define-key map (kbd "C-p") 'exwm-firefox-core-up) (define-key map (kbd "C-f") 'exwm-firefox-core-tab-next) (define-key map (kbd "C-b") 'exwm-firefox-core-tab-previous) (define-key map (kbd "C-s") 'exwm-firefox-core-find) (define-key map (kbd "C-y") 'exwm-firefox-core-paste) (define-key map (kbd "C-c C-c") 'exwm-firefox-core-copy) (define-key map (kbd "C-c C-n") 'exwm-firefox-core-tab-new) (define-key map (kbd "C-c C-k") 'exwm-firefox-core-tab-close) map)) (defun exwm-firefox-holyK-activate-if-firefox () "Activates firefox-holyK-mode mode when buffer is firefox. Firefox variant can be assigned in 'exwm-firefox-class-names`" (interactive) (if (member exwm-class-name exwm-firefox-class-names) (list (exwm-firefox-holyK-mode 1) (setq-local exwm-input-line-mode-passthrough nil) ;;if exwm-input-line-mode-passthroug t mouse will stop working properly )))