1
0
Fork
You've already forked ewm-firefox
0
Make firefox jive better in ewm
  • Emacs Lisp 98.6%
  • Makefile 1.4%
Find a file
2026年06月04日 19:47:52 +02:00
lisp Change default keybinds for ewm-firefox 2026年06月04日 19:47:52 +02:00
.gitignore Add .gitignore 2026年06月04日 19:47:34 +02:00
Makefile Initial EWM Firefox integration 2026年05月29日 08:28:10 +02:00
README.md Change default keybinds for ewm-firefox 2026年06月04日 19:47:52 +02:00

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
  • wtype available in PATH
  • 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, default wtype.
  • 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.