Make firefox jive better in ewm
| lisp | Change default keybinds for ewm-firefox | |
| .gitignore | Add .gitignore | |
| Makefile | Initial EWM Firefox integration | |
| README.md | Change default keybinds for ewm-firefox | |
ewm-firefox
Firefox integration for EWM, ported from exwm-firefox.
EWM surfaces get Firefox-specific buffer names and local keybindings. Browser commands are sent through EWM's supported Wayland virtual-keyboard protocol by invoking wtype.
Requirements
- EWM
- Firefox, LibreWolf, IceCat, or IceWeasel
wtypeavailable inPATH- EWM's virtual-keyboard protocol support enabled (already present in current EWM)
Usage
Add this repository's lisp/ directory to load-path after EWM is available:
(add-to-list 'load-path "~/src/ewm/lisp")
(add-to-list 'load-path "~/src/ewm-firefox/lisp")
(require 'ewm)
(require 'ewm-firefox)
(ewm-firefox-mode 1)
Default bindings on Firefox surface buffers:
| Key | Action |
|---|---|
C-c F f |
history forward |
C-c F b |
history back |
C-c F n |
new Firefox window in an Emacs split |
C-c F p |
new private Firefox window in an Emacs split |
C-c F d |
detach current tab into an Emacs split; requires tabdetach |
C-c F g |
merge detached tab back; requires tabdetach |
ewm-firefox-mode adds C-c to ewm-intercept-prefixes by default so these bindings reach Emacs while Firefox has keyboard focus. Disable that with:
(setopt ewm-firefox-add-c-c-prefix nil)
if you bind the commands under another already-intercepted prefix.
Customization
ewm-firefox-apps: app-id/class substrings treated as Firefox-like browsers.ewm-firefox-wtype-program: virtual keyboard client, defaultwtype.ewm-firefox-inject-delay: small delay before injection so EWM can leave prefix redirect state.ewm-firefox-split-function: controls where new Firefox split windows appear.