mirror of
https://github.com/SqrtMinusOne/exwm-modeline.git
synced 2025-12-11 07:03:04 +03:00
41 lines
1.6 KiB
Org Mode
41 lines
1.6 KiB
Org Mode
#+TITLE: exwm-modeline
|
|
|
|
A modeline segment to display exwm workspaces.
|
|
|
|
Here's how it looks near the list of [[https://github.com/nex3/perspective-el][perspectives]] (the segment of the current package is to the left):
|
|
[[./img/screenshot.png]]
|
|
- workspaces 0 and 5 do not have any X windows
|
|
- workspace 1 is the current workspace
|
|
- workspace 2 has at least one X window.
|
|
|
|
Features:
|
|
- Supports =exwm-randr= to display only workspaces related to the current monitor.
|
|
- Numbers are clickable.
|
|
|
|
* Installation
|
|
As the package isn't yet available anywhere but in this repository, you can clone the repository, add it to the =load-path=, and =require= the package:
|
|
#+begin_src emacs-lisp
|
|
(require 'exwm-modeline)
|
|
#+end_src
|
|
|
|
My preferred way is to use =use-package= with =straight=:
|
|
#+begin_src emacs-lisp
|
|
(use-package exwm-modeline
|
|
:straight (:host github :repo "SqrtMinusOne/exwm-modeline")
|
|
:after (exwm))
|
|
#+end_src
|
|
|
|
Then put a call to =exwm-modeline-mode= somewhere after the moment when EXWM has been initialized, for instance:
|
|
#+begin_src emacs-lisp
|
|
(add-hook 'exwm-init-hook #'exwm-modeline-mode)
|
|
#+end_src
|
|
|
|
* Customization
|
|
Set =exwm-modeline-randr= to nil to turn off filtering of workspaces by monitor.
|
|
|
|
Set =exwm-modeline-short= to display only the current workspace in the modeline.
|
|
|
|
* Credits
|
|
[[https://github.com/nex3/perspective-el][perspective.el]] by [[https://github.com/nex3][@nex3]] was extremely instructive on how to make a modeline segment individual to a particular frame and avoid recalculating it too often.
|
|
|
|
[[https://github.com/elken/doom-modeline-exwm][doom-modeline-exwm]] by [[https://github.com/elken][@elken]] also was a source of inspiration.
|