Skip to content

LemonBreezes/exwm-evil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Evil EXWM

Table of Contents

Description

This package implements Evil state compatibility for EXWM applications.

Install

For users of Doom Emacs

Add the following snippet to your packages.el file:

(package! exwm-evil :recipe
  (:host github :repo "LemonBreezes/exwm-evil"))

Then, use the following use-package block:

(use-package! exwm-evil
  :after exwm
  :config
  (add-hook 'exwm-manage-finish-hook #'enable-exwm-evil-mode)
  (cl-pushnew 'escape exwm-input-prefix-keys)

  ;; We will disable `C-c' in insert state.
  (define-key exwm-mode-map (kbd "C-c") nil)

  (map! :map exwm-mode-map
        :localleader
        (:prefix ("d" . "debug")
         :desc "Clear debug buffer" "l" #'xcb-debug:clear
         :desc "Insert mark into the debug buffer" "m" #'xcb-debug:mark
         :desc "Enable debug logging" "t" #'exwm-debug)
        :desc "Toggle fullscreen" "f" #'exwm-layout-toggle-fullscreen
        :desc "Hide floating window" "h" #'exwm-floating-hide
        :desc "Send next key" "q" #'exwm-input-send-next-key
        :desc "Toggle floating" "SPC" #'exwm-floating-toggle-floating
        :desc "Send escape" "e" (cmd! (exwm-evil-send-key 1 'escape))
        :desc "Toggle modeline" "m" #'exwm-layout-toggle-mode-line))

Keep in mind that when using the above configuration, the escape key no longer gets passed to the target application. To send escape, you must type SPC m e in normal state.

Similar packages

This package was heavily inspired by EXWM Firefox Evil but is much more barebones as it currently does not provide any motion nor selection commands for applications.

Future direction

  • Implement some basic motion commands like ~exwm-evil-core-up~
  • Implement visual state commands

About

Make Evil compatible with EXWM.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published