This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+window-management/exwm
Arif Er 00f9ab19ac chore: update copyright headers to 2022
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
2022-06-03 17:32:20 +02:00
..
img Fixed bugs and refactor in new EXWM layer 2021-06-05 15:02:57 +00:00
config.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00
funcs.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00
packages.el chore: update copyright headers to 2022 2022-06-03 17:32:20 +02:00
README.org [bot] "spacemacs_fix_org" Mon Jul 5 23:23:52 UTC 2021 2021-07-05 16:24:48 -07:00

EXWM layer

/TakeV/spacemacs/media/commit/438fceea88d29348f20d319369153354fcacb1b4/layers/+window-management/exwm/img/exwm.jpg

Description

Thanks to @ch11ng and his EXWM project we can now use Emacs as our window manager, that means that you can spawn a Browser Window, or your music player, or anything.

Features:

  • Support for using Emacs as window manager

Install

To use exwm layer, add it to your ~/.spacemacs.

The default layer variables are:

  (setq-default dotspacemacs-configuration-layers
                '((exwm :variables exwm-enable-systray nil
                                   exwm-autostart-xdg-applications nil
                                   exwm-terminal-command "xterm"
                                   exwm-locking-command nil
                                   exwm-hide-tiling-modeline nil
                                   exwm-workspace-switch-wrap t
                                   exwm-randr-command nil)))

Please refer to EXWM Wiki for setting up display manager.

System Tray Integratios

To enable system tray integration, set exwm-enable-systray to t.

XDG Autostart

If exwm-autostart-xdg-applications is non-nil, .desktop files in $XDG_CONFIG_HOME/autostart and XDG_CONFIG_DIRS will be used to run applications at startup. (See Desktop Application Autostart Specification for details).

For the purpose of controlling whether an entry should be run under Emacs, the OnlyShowIn and NotShotIn keys are checked for the string EXWM.

This is disabled per default.

Key bindings

As other window managers the s or Super key (Windows Key) is the one that is the prefix to every action. We'll use a lot of s.

Some emacs key bindings are disabled in X Window, for example C-x and C-c are disabled so that they can be used for Cutting and Copying text.

Key binding Description
M-m Spacemacs Leader Key
C-q Send next key pressed to the X window
s-i Toggle between line mode and char mode
s-l Lock Screen
s-r Reset window state
s-w Workspace Switch Menu
s-[1 2 3 ... 8 9 0] Switch to workspace [1 2 3 … 8 9 10]
s-TAB Switch to last workspace
s-[ / s-] Switch to prev,next workspace
s-SPC App Launcher
s-RET Spawn terminal
s-: and s-; Helm M-x (same as SPC :)
s-u,U Undo, Redo window configurations
s-b Show all opened buffers
s-[h j k l] Switch to window in the direction
s-[H J K L] Move window to the direction
M-s-[h j k l] Resize window toward the direction