docs(:ui): update READMEs to new format

This commit is contained in:
Henrik Lissner 2021-10-16 01:29:57 +02:00 committed by Henrik Lissner
parent 6da20e45bd
commit b5a2aa48fe
25 changed files with 1533 additions and 922 deletions

View file

@ -1,11 +1,9 @@
← [[doom-module-index:][Back to module index]] ↙ [[doom-changelog-search:::ui nil][Changelog]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
← [[doom-module-index:][Back to module index]] ↖ [[doom-module-source:ui][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui
#+SUBTITLE: <A one-liner to display in init.example.el>
#+CREATED: July 29, 2021
#+SINCE: v21.12.0
#+SETUPFILE: ../../docs/.setupfile.org
#+SINCE: 21.12.0
* Description
For modules who specialize in changing Emacs' appearance or providing interfaces
For modules concerned with changing Emacs' appearance or providing interfaces
for its features, like sidebars, tabs, or fonts.

View file

@ -1,51 +1,77 @@
#+TITLE: ui/deft
#+DATE: August 27, 2018
#+SINCE: v2.0.9
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui deft][Issues]] ↖ [[doom-module-source:ui/deft][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui deft
#+SUBTITLE: Notational velocity for Emacs
#+CREATED: August 26, 2018
#+SINCE: 21.12.0 (#835)
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
* Description
[[https://jblevins.org/projects/deft/][Deft]] is a major mode for creating, browsing, and filtering notes written in plain text formats, such as org-mode, markdown, and LaTeX. It enables you to quickly jot down thoughts and easily retrieve them later.
* Description :unfold:
[[https://jblevins.org/projects/deft/][Deft]] is a major mode for creating, browsing, and filtering notes written in
plain text formats, such as org-mode, markdown, and LaTeX. It enables you to
quickly jot down thoughts and easily retrieve them later.
** Maintainers
This module has no dedicated maintainers.
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module Flags
This module provides no flags.
** Module flags
/This module has no flags./
** Plugins
+ [[https://github.com/jrblevin/deft][deft]]
** Packages
- [[doom-package:][deft]]
* Prerequisites
This module has no prerequisites.
** Hacks
/No hacks documented for this module./
* Configuration
To use deft, you first need to specify the directory in which your notes are stored:
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
#+begin_src elisp
;; ~/.doom.d/config.el
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
To use deft, you first need to specify the directory in which your notes are
stored:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq deft-directory "~/notes")
#+end_src
The default note format is org-mode. You can change this by setting the value of
the variable ~deft-default-extension~. Replacing the value with ~"md"~, for example,
will change the default note format to markdown:
#+begin_src elisp
(setq deft-default-extension "md")
the variable ~deft-default-extension~. Replacing the value with ~"md"~, for
example, will change the default note format to markdown:
#+begin_src emacs-lisp
(after! deft
(setq deft-default-extension "md"))
#+end_src
You may also want to alter the way titles and file names are automatically created by editing ~deft-use-filename-as-title~ and/or ~deft-use-filter-string-for-filename~.
You may also want to alter the way titles and file names are automatically
created by editing ~deft-use-filename-as-title~ and/or
~deft-use-filter-string-for-filename~.
Further customization options can be found here: https://github.com/jrblevin/deft#other-customizations
Further customization options can be found here:
https://github.com/jrblevin/deft#other-customizations
* Troubleshooting
It is [[https://github.com/hlissner/doom-emacs/pull/2845/commits/dce80a3c8032f5390f4e763e18a108d5f3f08772][not recommended]] to re-enable deft's buffer auto-save.
[[doom-report:][Report an issue?]]
- It is [[https://github.com/hlissner/doom-emacs/pull/2845/commits/dce80a3c8032f5390f4e763e18a108d5f3f08772][not recommended]] to re-enable deft's buffer auto-save.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,18 +1,11 @@
#+TITLE: ui/doom-dashboard
#+DATE: October 9, 2019
#+SINCE: v1.3
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui doom-dashboard][Issues]] ↖ [[doom-module-source:ui/doom-dashboard][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui doom-dashboard
#+SUBTITLE: Welcome to your doom
#+CREATED: February 20, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
- [[#a-custom-banner][A custom banner]]
- [[#adding-text-to-the-dashboard][Adding text to the dashboard]]
- [[#customizing-faces][Customizing Faces]]
* Description
* Description :unfold:
This module adds a minimalistic, Atom-inspired dashboard to Emacs.
Besides eye candy, the dashboard serves two other purposes:
@ -29,28 +22,53 @@ Besides eye candy, the dashboard serves two other purposes:
of the last open buffer, ~M-x find-file~ will work from the directory I
expect.
** Module Flags
This module provides no flags.
** Maintainers
- [[doom-user:][@hlissner]]
* Prerequisites
This module only requires that ~all-the-icons~'s icon fonts are installed.
[[doom-contrib-maintainer:][Become a maintainer?]]
It should've been installed when you first installed Doom, but ~M-x
all-the-icons-install-fonts~ will install them again.
** Module flags
/This module has no flags./
** Packages
/This module doesn't install any packages./
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module only requires that ~all-the-icons~'s icon fonts are installed, which
should've been installed when you ran ~$ doom install~. Otherwise, use ~M-x
all-the-icons-install-fonts~ to install them.
* Usage
Once this module is enabled, the dashboard will present itself after opening a
fresh instance of Emacs, or after killing all real buffers.
You can forcibly open the dashboard with ~M-x +doom-dashboard/open~.
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
** A custom banner
To use a custom image as your banner, change ~fancy-splash-image~:
#+BEGIN_SRC elisp
#+begin_src emacs-lisp
(setq fancy-splash-image "~/my/banners/image.png")
#+END_SRC
#+end_src
#+begin_quote
Doom will fall back to its ASCII banner in Terminal Emacs. To replace the ASCII
banner, replace the ~doom-dashboard-widget-banner~ function in
~+doom-dashboard-functions~ with a function that inserts your new banner into
the current file.
📌 Doom will fall back to its ASCII banner in Terminal Emacs. To replace the
ASCII banner, replace the ~doom-dashboard-widget-banner~ function in
~+doom-dashboard-functions~ with a function that inserts your new banner
into the current file.
#+end_quote
** Adding text to the dashboard
@ -59,15 +77,16 @@ redraw. Add your own functions to operate on the buffer and potentially add
whatever you like to Doom's splash screen.
#+begin_quote
Keep in mind that inserting text from expensive sources, e.g. your org agenda,
will negate most of Doom's startup benefits.
🚧 Keep in mind that inserting text from expensive sources, e.g. your org
agenda, will negate most of Doom's startup benefits.
#+end_quote
** Customizing Faces
Doom's dashboard defaults to inheriting faces set by the current theme. If you wish
to customize it independently of the theme (or just inherit a different color
from the theme) you can make use of ~custom-set-faces!~ or ~custom-theme-set-faces!~
#+BEGIN_SRC elisp
Doom's dashboard defaults to inheriting faces set by the current theme. If you
wish to customize it independently of the theme (or just inherit a different
color from the theme) you can make use of ~custom-set-faces!~ or
~custom-theme-set-faces!~:
#+begin_src emacs-lisp
(custom-set-faces!
'(doom-dashboard-banner :foreground "red" :background "#000000" :weight bold)
'(doom-dashboard-footer :inherit font-lock-constant-face)
@ -75,9 +94,10 @@ from the theme) you can make use of ~custom-set-faces!~ or ~custom-theme-set-fa
'(doom-dashboard-loaded :inherit font-lock-warning-face)
'(doom-dashboard-menu-desc :inherit font-lock-string-face)
'(doom-dashboard-menu-title :inherit font-lock-function-name-face))
#+END_SRC
#+end_src
or for a per-theme setting
#+BEGIN_SRC elisp
#+begin_src emacs-lisp
(custom-theme-set-faces! 'doom-tomorrow-night
'(doom-dashboard-banner :foreground "red" :background "#000000" :weight bold)
'(doom-dashboard-footer :inherit font-lock-constant-face)
@ -85,4 +105,15 @@ or for a per-theme setting
'(doom-dashboard-loaded :inherit font-lock-warning-face)
'(doom-dashboard-menu-desc :inherit font-lock-string-face)
'(doom-dashboard-menu-title :inherit font-lock-function-name-face))
#+END_SRC
#+end_src
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -172,7 +172,7 @@ PLIST can have the following properties:
;;; Major mode
(define-derived-mode +doom-dashboard-mode special-mode
(format "DOOM v%s" doom-version)
(format "DOOM v%s" doom-core-version)
"Major mode for the DOOM dashboard buffer."
:syntax-table nil
:abbrev-table nil
@ -500,7 +500,11 @@ What it is set to is controlled by `+doom-dashboard-pwd-policy'."
(defun doom-dashboard-widget-footer ()
(insert
"\n"
(+doom-dashboard--center
+doom-dashboard--width
(propertize (concat "DOOM CORE: " doom-core-version " MODULES: " doom-version)
'face 'font-lock-doc-face))
"\n\n"
(+doom-dashboard--center
(- +doom-dashboard--width 2)
(with-temp-buffer
@ -509,5 +513,6 @@ What it is set to is controlled by `+doom-dashboard-pwd-policy'."
'action (lambda (_) (browse-url "https://github.com/hlissner/doom-emacs"))
'follow-link t
'help-echo "Open Doom Emacs github page")
(buffer-string)))
"\n"))

View file

@ -1,39 +1,70 @@
#+TITLE: ui/doom-quit
#+DATE: February 19, 2017
#+SINCE: v2.0
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui doom-quit][Issues]] ↖ [[doom-module-source:ui/doom-quit][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui doom-quit
#+SUBTITLE: One does not simply quit Emacs
#+CREATED: February 19, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configurations][Configurations]]
- [[#troubleshooting][Troubleshooting]]
* Description :unfold:
A silly module that throws cute confirmation prompts at you when you exit Emacs,
like DOOM (the game) did. Some quotes are from the classic games, others are
random, nerdy references that no decent human being has any business
recognizing.
** Maintainers
- [[doom-user:][@hlissner]]
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
/This module doesn't install any packages./
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* Usage
Quit Emacs with [[kbd:][<leader> q q]] and watch it go. The prompt only happens if you
have (real) buffers open.
#+begin_quote
🚧 This module won't kick in when killing daemon frames (because that isn't
actually “quitting” Emacs).
#+end_quote
* Description
A silly module that prompts you with messages when you try to quit, like DOOM
did. Some quotes are from Doom's quit-message list. Others are random, nerdy
references that no decent human being has any business recognising.
** Module Flags
This module provides no flags
** Plugins
This module uses no Plugins
* Prerequisites
This module provides no prerequisite
* Features
This module only works when you run individual Emacs instances and not the
daemon.
* Configurations
you can configure the messages by adding to the variable ~+doom-quit-messages~
#+BEGIN_SRC emacs-lisp
(setq +doom-quit-messages '(;;from doom 2
The messages presented by this module can be customized by changing the
~+doom-quit-messages~ variable:
#+begin_src emacs-lisp
(setq +doom-quit-messages
'(;;from doom 2
"Don't go now, there's a dimensional shambler waiting at the dos prompt!"
"Get outta here and go back to your boring programs."
"If I were your boss, I'd deathmatch ya in a minute!"
"Look, bud. You leave now and you forfeit your body count!"
"You're lucky I don't smack you for thinking about leaving."))
#+END_SRC
#+end_src
* Troubleshooting
If you have any issues with this module do let me know
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* Appendix
** Variables
- [[var:][+doom-quit-messages]]
** Functions
- [[fn:][+doom-quit-fn]]

View file

@ -1,93 +1,117 @@
#+TITLE: ui/doom
#+DATE: October 9, 2019
#+SINCE: v1.3
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui doom][Issues]] ↖ [[doom-module-source:ui/doom][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui doom
#+SUBTITLE: Make Doom fabulous again
#+CREATED: February 20, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
- [[#changing-theme][Changing theme]]
- [[#changing-fonts][Changing fonts]]
- [[#troubleshooting][Troubleshooting]]
- [[#strange-font-symbols][Strange font symbols]]
- [[#ugly-background-colors-in-tty-emacs-for-daemon-users][Ugly background colors in tty Emacs for daemon users]]
* Description :unfold:
This module gives Doom its signature look: powered by the [[doom-package:doom-themes][doom-one]] theme
(loosely inspired by [[https://github.com/atom/one-dark-syntax][Atom's One Dark theme]]) and [[doom-package:][solaire-mode]]. Includes:
* Description
This module gives Doom its signature look: powered by the =doom-one= theme
(inspired by Atom's One Dark theme) and =solaire-mode=.
- A custom folded-region indicator for [[doom-package:][hideshow]].
- "Thin bar" fringe bitmaps for [[doom-package:][git-gutter-fringe]].
- File-visiting buffers are slightly brighter (thanks to [[doom-package:][solaire-mode]]).
+ A colorscheme inspired by Atom's One Dark theme (now available in a separate
plugin: [[https://github.com/hlissner/emacs-doom-theme/][doom-themes]])
+ A custom folded-region indicator for ~hideshow~
+ "Thin bar" fringe bitmaps for ~git-gutter-fringe~
+ File-visiting buffers are slightly brighter (thanks to solaire-mode)
** Maintainers
- [[doom-user:][@hlissner]]
** Module Flags
This module provides no flags.
[[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/hlissner/emacs-doom-themes][doom-themes]]
+ [[https://github.com/hlissner/emacs-solaire-mode][solaire-mode]]
** Module flags
/This module has no flags./
* Prerequisites
This module has no prerequisites.
** Packages
- [[doom-package:][doom-themes]]
- [[doom-package:][solaire-mode]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
** Changing theme
Although this module uses the ~doom-one~ theme by default, [[https://github.com/hlissner/emacs-doom-theme/][doom-themes]] offers a number of alternatives:
Although this module uses the ~doom-one~ theme by default, [[https://github.com/hlissner/emacs-doom-theme/][doom-themes]] offers a
number of alternatives:
+ *doom-one:* doom-themes' flagship theme, inspired by [[https://atom.io/][Atom's]] One Dark themes
+ *doom-vibrant:* a more vibrant version of doom-one
+ *doom-molokai:* based on Textmate's monokai
+ *doom-nova:* adapted from [[https://github.com/trevordmiller/nova-colors][Nova]]
+ *doom-one-light:* light version of doom-one
+ *doom-peacock:* based on Peacock from [[https://daylerees.github.io/][daylerees' themes]]
+ *doom-tomorrow-night:* by [[https://github.com/ChrisKempson/Tomorrow-Theme][Chris Kempson]]
- *doom-one:* doom-themes' flagship theme, inspired by [[https://atom.io/][Atom's]] One Dark themes
- *doom-vibrant:* a more vibrant version of doom-one
- *doom-molokai:* based on Textmate's monokai
- *doom-nova:* adapted from [[https://github.com/trevordmiller/nova-colors][Nova]]
- *doom-one-light:* light version of doom-one
- *doom-peacock:* based on Peacock from [[https://daylerees.github.io/][daylerees' themes]]
- *doom-tomorrow-night:* by [[https://github.com/ChrisKempson/Tomorrow-Theme][Chris Kempson]]
- And /many/ more...
This can be changed by changing the ~doom-theme~ variable, e.g.
#+BEGIN_SRC emacs-lisp
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq doom-theme 'doom-molokai)
#+END_SRC
#+end_src
** Changing fonts
core/core-ui.el has four relevant variables:
+ ~doom-font~ :: the default font to use in Doom Emacs.
+ ~doom-big-font~ :: the font to use when ~doom-big-font-mode~ is enabled.
+ ~doom-variable-font~ :: the font to use when ~variable-pitch-mode~ is active (or where the ~variable-pitch~ face is used).
+ ~doom-unicode-font~ :: the font used to display unicode symbols. This is ignored if the =:ui unicode= module is enabled.
- ~doom-font~ :: the default font to use in Doom Emacs.
- ~doom-big-font~ :: the font to use when ~doom-big-font-mode~ is enabled.
- ~doom-variable-font~ :: the font to use when ~variable-pitch-mode~ is active
(or where the ~variable-pitch~ face is used).
- ~doom-unicode-font~ :: the font used to display unicode symbols. This is
ignored if the [[doom-module:][:ui unicode]] module is enabled.
#+BEGIN_SRC emacs-lisp
#+begin_src emacs-lisp
(setq doom-font (font-spec :family "Fira Mono" :size 12)
doom-variable-pitch-font (font-spec :family "Fira Sans")
doom-unicode-font (font-spec :family "DejaVu Sans Mono")
doom-big-font (font-spec :family "Fira Mono" :size 19))
#+END_SRC
#+end_src
* Troubleshooting
[[doom-report:][Report an issue?]]
** Strange font symbols
If you're seeing strange unicode symbols, this is likely because you don't have
~all-the-icons~'s font icon installed. You can install them with ~M-x
all-the-icons-install-fonts~.
** Ugly background colors in tty Emacs for daemon users
=solaire-mode= is an aesthetic plugin that makes non-file-visiting buffers
darker than the rest of the Emacs' frame (to visually differentiate temporary
windows or sidebars from editing windows). This looks great in GUI Emacs, but
can look questionable in the terminal.
[[doom-package:][solaire-mode]] is an aesthetic plugin that makes non-file-visiting buffers darker
than the rest of the Emacs' frame (to visually differentiate temporary windows
or sidebars from editing windows). This looks great in GUI Emacs, but can look
questionable in the terminal.
It disables itself if you start tty Emacs with ~emacs -nw~, but if you create a
tty frame from a daemon (which solaire-mode cannot anticipate), you'll get an
It disables itself if you start tty Emacs with ~$ emacs -nw~, but if you create
a tty frame from a daemon (which solaire-mode cannot anticipate), you'll get an
ugly background instead.
If you only use Emacs in the terminal, your best bet is to disable the
solaire-mode package:
#+BEGIN_SRC elisp
;; in ~/.doom.d/packages.el
#+begin_src emacs-lisp
;; in $DOOMDIR/packages.el
(package! solaire-mode :disable t)
#+END_SRC
#+end_src
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,40 +1,41 @@
#+TITLE: ui/emoji
#+DATE: September 30, 2020
#+SINCE: v3.0
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui emoji][Issues]] ↖ [[doom-module-source:ui/emoji][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui emoji
#+SUBTITLE: 💩
#+CREATED: September 30, 2020
#+SINCE: 21.12.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
* Description
Displays and inserts emojis (ASCII, Github style, unicode).
+ Converts recognized text to emojis.
+ Enables inserting emojis.
* Description :unfold:
This module gives Emacs the ability to display and insert emojis (ASCII, Github
style, or unicode styles), as well as convert certain text patterns (e.g.
=:smile:=) into emojis.
** Maintainers
This module has no dedicated maintainers.
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
** Module Flags
+ =+ascii= Include plain text emojis like =:)=.
+ =+github= Include Github-style emojis like =:smile:=.
+ =+unicode= Include unicode emojis like 🙂.
** Module flags
- +ascii ::
Include plain text emojis like =:)=.
- +github ::
Include Github-style emojis like =:smile:=.
- +unicode ::
Include unicode emojis like 🙂.
** Plugins
+ [[https://github.com/iqbalansari/emacs-emojify][emojify]] by @iqbalansari
** Packages
- [[doom-package:][emojify]]
* Prerequisites
** Hacks
/No hacks documented for this module./
See the [[https://github.com/iqbalansari/emacs-emojify/blob/master/README.org#requirements][emojify requirements]] docs:
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
#+BEGIN_QUOTE
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
From the [[https://github.com/iqbalansari/emacs-emojify/blob/master/README.org#requirements][emojify requirements]] docs:
#+begin_quote
The [[https://github.com/iqbalansari/emacs-emojify][emojify]] package requires Emacs *v24.3* and above. Emacs should be compiled
with support for *PNG* images to display emojis as images. It is *recommended*
that Emacs is compiled with *ImageMagick* support. ~emojify~ will use it to
@ -44,13 +45,25 @@ color for emojis to workaround the bug described in [[https://github.com/iqbalan
PNG support might require some additional steps to on Windows, you might find
[[http://stackoverflow.com/questions/2650041/emacs-under-windows-and-png-files][this]] stackoverflow answer helpful.
#+END_QUOTE
#+end_quote
* TODO Features
# An in-depth list of features, how to use them, and their dependencies.
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
# How to configure this module, including common problems and how to address them.
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Troubleshooting
# Common issues and their solution, or places to look for help.
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,83 +1,89 @@
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui hl-todo][Issues]] ↖ [[doom-module-source:ui/hl-todo][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui hl-todo
#+DATE: February 19, 2017
#+SINCE: v1.3
#+STARTUP: inlineimages
#+SUBTITLE: TODO FIXME NOTE DEPRECATED HACK REVIEW
#+CREATED: February 19, 2017
#+SINCE: 1.3
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#making-items][Making Items]]
- [[#keybindings][Keybindings]]
- [[#adding-items][Adding items.]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
* Description :unfold:
This module adds syntax highlighting for various tags in code comments, such as
=TODO=, =FIXME=, and =NOTE=, among others.
* Description
This module adds syntax highlighting for TODO/FIXME/NOTE tags in programming
major-modes.
** Maintainers
- [[doom-user:][@hlissner]]
** Module Flags
This module provides no flags
[[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/tarsius/hl-todo][hl-todo]]
** Module flags
/This module has no flags./
* Prerequisites
This module has no prerequisites
** Packages
- [[doom-package:][hl-todo]]
* Features
** Hacks
/No hacks documented for this module./
** Making Items
You can make a TODO item by simply writing
+ =TODO=
For things that need to be done, just not today.
+ =HACK=
For tidbits that are unconventional and not intended uses of the
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
By enabling this module, the following keywords will be highlighted if they
occur in code comments:
- =TODO=: For things that need to be done, just not today.
- =HACK=: For tidbits that are unconventional and not intended uses of the
constituent parts, and may break in a future update.
+ =FIXME=
For problems that will become bigger problems later if not fixed ASAP.
+ =REVIEW=
for things that were done hastily and/or hasn't been thoroughly
- =FIXME=: For problems that will become bigger problems later if not fixed
ASAP.
- =REVIEW=: for things that were done hastily and/or hasn't been thoroughly
tested. it may not even be necessary!
+ =NOTE=
For especially important gotchas with a given implementation,
directed at another user other than the author.
+ =DEPRECATED=
For things that just gotta go and will soon be gone.
+ =BUG=
For a known bug that needs a workaround
+ =XXX=
For warning about a problematic or misguiding code
- =NOTE=: For especially important gotchas with a given implementation, directed
at another user other than the author.
- =DEPRECATED=: For things that just gotta go and will soon be gone.
- =BUG=: For a known bug that needs a workaround.
- =XXX=: For warning about a problematic or misguiding code.
** Keybindings
| keybind | description |
|-----------+----------------------------------|
| =]t= | go to next TODO item |
| =[t= | go to previous TODO item |
| =SPC p t= | show all TODO items in a project |
| =SPC s p= | search project for a string |
| =SPC s b= | search buffer for string |
|---------+----------------------------------|
| [[kbd:][]t]] | go to next TODO item |
| [[kbd:][[t]] | go to previous TODO item |
| [[kbd:][SPC p t]] | show all TODO items in a project |
| [[kbd:][SPC s p]] | search project for a string |
| [[kbd:][SPC s b]] | search buffer for string |
** TODO Adding items.
The way you would add a TODO item is to use a snippet but these have not been
made. you can make them yourself by adding the snippet to
=$DOOMDIR/snippets/MAJOR-MODE/name-of-snippet=. you will find more info on how
to make them [[https://github.com/hlissner/doom-snippets][here]]
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
To add your own ITEMS you would need to configure them using
~hl-todo-keyword-faces~
#+BEGIN_SRC emacs-lisp
;; the default
~hl-todo-keyword-faces~:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(after! hl-todo
(setq hl-todo-keyword-faces
`(
("FOO" . ,(face-foreground "MY COLOUR HEX CODE"))
`(("FOO" . ,(face-foreground "MY COLOUR HEX CODE"))
("BAR" . ,(face-foreground 'my-colour-var)))))
#+END_SRC
#+end_src
* TODO Troubleshooting
If you have any problems with this module do get in touch!
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,31 +1,64 @@
#+TITLE: ui/hydra
#+DATE: october 29, 2019
#+SINCE: 2.0
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui hydra][Issues]] ↖ [[doom-module-source:ui/hydra][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui hydra
#+SUBTITLE: Discount modality for mythological beast hunters
#+CREATED: October 29, 2019
#+SINCE: 2.0.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
#+begin_quote
🚧 *This module is deprecated.* The module is too trivially small, and it's
always been unclear how hydra fits into Doom's vision for its UI. It's been
decided that Doom will head toward Embark, transient, or hercules instead.
#+end_quote
* Description
* Description :unfold:
This module adds hydra to Doom Emacs, as well as a few custom built hydras to
start with :
start with:
+ A hydra to control windows ~+hydra/window-nav/body~
+ A hydra to control text zoom level ~+hydra/text-zoom/body~
- A hydra to control windows ~+hydra/window-nav/body~.
- A hydra to control text zoom level ~+hydra/text-zoom/body~.
** Module Flags
This module provides no flags.
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/abo-abo/hydra][hydra]]
** Module flags
/This module has no flags./
* Prerequisites
This module has no prerequisites.
** Packages
- [[doom-package:][hydra]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
Configuring this module is only setting bindings to the provided hydra, or
creating your own ones !
creating your own ones!
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -0,0 +1,51 @@
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui indent-guides][Issues]] ↖ [[doom-module-source:ui/indent-guides][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui indent-guides
#+SUBTITLE: Line up them indent columns
#+CREATED: March 11, 2019
#+SINCE: 21.12.0
* TODO Description :unfold:
/(No description yet)/
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][highlight-indent-guides]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report-issue:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,72 +1,69 @@
#+TITLE: ui/ligatures
#+DATE: June 16, 2018
#+SINCE: v2.0.9
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui ligatures][Issues]] ↖ [[doom-module-source:ui/ligatures][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui ligatures
#+SUBTITLE: Distract folks from your code
#+CREATED: June 16, 2018
#+SINCE: 21.12.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#font-ligatures-module-flags][Font ligatures module flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#mutsuharus-emacs-mac-port-or-emacs-28-with-harfbuzz-support][Mutsuharu's emacs-mac port or Emacs 28+ with Harfbuzz support]]
- [[#not-emacs-mac-and-emacs--27][Not Emacs-mac and Emacs <= 27]]
- [[#features][Features]]
- [[#mathematical-symbols-replacement][Mathematical symbols replacement]]
- [[#coding-ligatures][Coding ligatures]]
- [[#configuration][Configuration]]
- [[#setting-ligatures][Setting ligatures]]
- [[#changing-ligatures][Changing ligatures]]
- [[#troubleshooting][Troubleshooting]]
* Description
* Description :unfold:
This module enables ligatures and arbitrary symbol substitutions with
~mac-auto-operator-composition-mode~ (on supported macOS systems) or composition
tables (harfbuzz on Emacs 28), falling back on ~prettify-symbols-mode~
otherwise.
** Maintainers
This module has no dedicated maintainers.
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module Flags
+ =+extra= Enables extra symbol substitutions in certain modes, for example
~lambda~ in lisps are replaced with ~λ~.
*** Font ligatures module flags
This module provides four flags for enabling fall-back ligature support for a
particular font. They are:
+ =+fira= Enables =Fira Code= ligatures. This requires Fira Code Symbol and a
patched version of Fira Code (see below).
+ =+hasklig= Enable =Hasklig= ligatures. This requires a patched version of the
HaskLig font (see below).
+ =+iosevka= Enable =Iosevka= ligatures. This requires a patched version of the
Iosevka font (see below).
+ =+pragmata-pro= Enable =Pragmata Pro= ligatures. This requires the [[https://www.fsd.it/shop/fonts/pragmatapro/][Pragmata
Pro font]].
** Module flags
- +extra ::
Enables extra symbol substitutions in certain modes, for example ~lambda~ in
lisps are replaced with ~λ~.
- +fira ::
Enable =Fira Code= ligatures. This requires Fira Code Symbol and [[id:a7e7402b-e202-4860-878b-d1933cff1d16][a patched
version of Fira Code]].
- +hasklig ::
Enable =Hasklig= ligatures. This requires [[id:a7e7402b-e202-4860-878b-d1933cff1d16][a patched version of the HaskLig
font]].
- +iosevka ::
Enable =Iosevka= ligatures. This requires [[id:a7e7402b-e202-4860-878b-d1933cff1d16][a patched version of the Iosevka
font]].
- +pragmata-pro ::
Enable =Pragmata Pro= ligatures. This requires the [[https://www.fsd.it/shop/fonts/pragmatapro/][Pragmata Pro font]].
#+begin_quote
All these flags are ignored _if_ you're sporting either a) Emacs 28+ with
Harfbuzz support (which can compose ligatures natively), or b) Mitsuharu's
=emacs-mac= build on macOS (which uses ~mac-auto-operator-composition-mode~).
🚧 Font flags are ignored _if_ you're sporting either a) Emacs 28+ with
Harfbuzz support (which can compose ligatures natively), or b) Mitsuharu's
=emacs-mac= build on macOS (which uses
~mac-auto-operator-composition-mode~).
#+end_quote
** Plugins
This module installs no packages.
** Packages
/This module doesn't install any packages./
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
* Prerequisites
This module requires one of three setups for ligatures to work:
- A recent enough version of Emacs which will compose ligatures automatically
(Emacs 28 with Harfbuzz support), or
- Mitsuharu's =emacs-mac= build on macOS (available on homebrew), or
- Mitsuharu's =emacs-mac= build on macOS (available on Homebrew), or
- A patched font for Doom's fallback ligature support.
** Mutsuharu's emacs-mac port or Emacs 28+ with Harfbuzz support
Ligatures should be handled without any additional configuration.
** Not Emacs-mac and Emacs <= 27
:PROPERTIES:
:ID: a7e7402b-e202-4860-878b-d1933cff1d16
:END:
1. Enable one of the four ligature font flags: =+fira=, =+hasklig=, =+iosevka=
or =+pragmata-pro=.
2. Install the patched version of the associated font with ~M-x
@ -74,8 +71,13 @@ Ligatures should be handled without any additional configuration.
way because it is a non-free font and must be purchased and installed
manually.
* TODO Features
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** TODO Mathematical symbols replacement
** Coding ligatures
This module includes configuration to compose combinations like =->= or =::=
into prettier glyphs (called a ligature). Depending on the current version of
@ -85,8 +87,8 @@ emacs, this is implemented in two different ways :
which haves the ligatures as separate unicode symbols, and using
prettify-symbols-mode, =->=-like combinations are manually listed and replaced
with the correct symbol. The mapping between =->=-like sequences and unicode
values in the font are font-specific ; therefore =+fira=, =+iosevka=... files
and specific fonts are necessary for it to work.
values in the font are font-specific ; therefore [[doom-module:][+fira]], [[doom-module:][+iosevka]]... files and
specific fonts are necessary for it to work.
- composition-function-table method :: regexps are used to match all the usual
sequences which are composed into ligatures. These regexps are passed to emacs
directly, which asks Harfbuzz to shape it. Ligatures are obtained
@ -102,17 +104,23 @@ Even though harfbuzz has been included in emacs 27, there is currently a [[https
(#40864)]] which prevents a safe usage of /composition-function-table/ method in
emacs 27.
* Configuration
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** Setting ligatures
If you want to set ligatures for modules that don't have them by default you can
use the ~set-ligatures!~ macro in your config el file
#+BEGIN_SRC emacs-lisp
use the ~set-ligatures!~ macro:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(after! PACKAGE
(set-ligatures! 'MAJOR-MODE
:symbol "keyword"))
#+END_SRC
eg.
#+BEGIN_SRC emacs-lisp
#+end_src
E.g.
#+begin_src emacs-lisp
(after! go-mode ; in this case the major mode and package named the same thing
(set-ligatures! 'go-mode
:def "func" ; function keyword
@ -123,9 +131,10 @@ eg.
:float "float" :bool "bool"
:for "for"
:return "return" :yeild "yeild"))
#+END_SRC
you can set these symbols out of the box
#+BEGIN_SRC emacs-lisp
#+end_src
You can set these symbols out of the box:
#+begin_src emacs-lisp
(set-ligatures! 'MAJOR-MODE
;; Functional
:lambda "lambda keyword"
@ -158,19 +167,18 @@ you can set these symbols out of the box
:tuple "Tuple Keyword "
:pipe "Pipe Keyword" ;; FIXME: find a non-private char
:dot "Dot operator")
#+END_SRC
#+end_src
If you have multiple versions of the same keyword you can set the symbol twice
#+BEGIN_SRC emacs-lisp
If you have multiple versions of the same keyword you can set the symbol twice:
#+begin_src emacs-lisp
(set-ligatures! scala-mode
:null "none"
:null "None")
#+END_SRC
** Changing ligatures
if you don't like the symbols chosen you can change them by using...
#+end_src
#+BEGIN_SRC emacs-lisp
** Changing ligatures
if you don't like the symbols chosen you can change them by using:
#+begin_src emacs-lisp
;; you don't need to include all of them you can pick and mix
(plist-put! +ligatures-extra-symbols
;; org
@ -210,7 +218,15 @@ if you don't like the symbols chosen you can change them by using...
:tuple "⨂"
:pipe "" ;; FIXME: find a non-private char
:dot "•") ;; you could also add your own if you want
#+END_SRC
#+end_src
* TODO Troubleshooting
If you have any problems with this module, do get in touch!
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,43 +1,61 @@
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui minimap][Issues]] ↖ [[doom-module-source:ui/minimap][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui minimap
#+DATE: May 8, 2020
#+SINCE: v3.0.0
#+STARTUP: inlineimages nofold
#+SUBTITLE: A map for lost programmers
#+CREATED: May 08, 2020
#+SINCE: 21.12.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#features][Features]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
- [[#scrolling-is-slowlaggy][Scrolling is slow/laggy]]
- [[#minimap-doesnt-close-when-disabled][Minimap doesn't close when disabled]]
* Description
This module adds a minimap to the right side of Emacs, similar to the feature
found in many other editors.
* Description :unfold:
This module displays a minimap of the buffer in a sidebar, similar to the
feature found in many other editors.
** Maintainers
+ [[https://github.com/rushsteve1][@rushsteve1]] (Author)
- [[doom-user:][@rushsteve1]]
** Module Flags
This module provides no flags.
[[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://elpa.gnu.org/packages/minimap.html][minimap.el]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][minimap]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Features
A minimap which provides an overview of the current buffer to the side,
displaying the currently visible region and the current line. You can left-click
and drag to scroll along the buffer, or right-click anywhere to jump to there.
* Configuration
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
There are a number of options provided by the =minimap.el= package this module
is based on. The easiest way to see all of them is =SPC h v minimap=.
is based on. The easiest way to see all of them is [[kbd:][SPC h v minimap]].
* Troubleshooting
[[doom-report:][Report an issue?]]
** Scrolling is slow/laggy
Disable the minimap using =SPC t m=
Disable the minimap using [[kbd:][SPC t m]].
** TODO Minimap doesn't close when disabled
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,53 +1,55 @@
#+TITLE: ui/modeline
#+DATE: July 29, 2018
#+SINCE: v2.0.9
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui modeline][Issues]] ↖ [[doom-module-source:ui/modeline][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui modeline
#+SUBTITLE: Snazzy, Atom-inspired modeline, plus API
#+CREATED: February 20, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC_2:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#usage][Usage]]
- [[#hiding-the-modeline][Hiding the modeline]]
- [[#switching-the-modeline-and-header-line][Switching the modeline and header line]]
- [[#configuration][Configuration]]
- [[#changing-the-default-modeline][Changing the default modeline]]
- [[#activating-a-format][Activating a format]]
- [[#defining-a-modeline-format][Defining a modeline format]]
- [[#defining-a-modeline-segment][Defining a modeline segment]]
- [[#extracting-dooms-modeline-into-your-config][Extracting Doom's modeline into your config]]
- [[#troubleshooting][Troubleshooting]]
- [[#where-are-my-minor-modes][Where are my minor modes?]]
- [[#icons-in-my-modeline-look-strange][Icons in my modeline look strange]]
- [[#the-right-side-of-the-modeline-is-cut-off][The right side of the modeline is cut off]]
- [[#appendix][Appendix]]
- [[#autodefs][Autodefs]]
- [[#variables][Variables]]
- [[#faces][Faces]]
* Description
* Description :unfold:
This module provides an Atom-inspired, minimalistic modeline for Doom Emacs,
powered by [[https://github.com/seagle0128/doom-modeline][the doom-modeline package]] (where you can find screenshots).
powered by the [[doom-package:][doom-modeline]] package (where you can find screenshots).
** Module Flags
+ =+light= Enables a lighter, less featureful version of the modeline that does
not depend on ~doom-modeline~, which has performances issues in some cases.
** Maintainers
- [[doom-user:][@hlissner]]
** Plugins
+ [[https://github.com/seagle0128/doom-modeline][doom-modeline]]
+ [[https://github.com/syohex/emacs-anzu][anzu]]
+ [[https://github.com/syohex/emacs-evil-anzu][evil-anzu]]
[[doom-contrib-maintainer:][Become a maintainer?]]
* Prerequisites
This module has no prerequisites.
** Module flags
- +light ::
Enable a lighter, less featureful version of the modeline that does not depend
on [[doom-package:][doom-modeline]], which has performances issues in some cases.
** Packages
- [[doom-package:][anzu]]
- [[doom-package:][doom-modeline]] unless [[doom-module:][+light]]
- [[doom-package:][evil-anzu]] if [[doom-module:][:editor evil]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Usage
** TODO Hiding the modeline
** TODO Switching the modeline and header line
* Configuration
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** TODO Changing the default modeline
** TODO Activating a format
@ -59,20 +61,23 @@ This module has no prerequisites.
** TODO Extracting Doom's modeline into your config
* Troubleshooting
[[doom-report:][Report an issue?]]
** Where are my minor modes?
I rarely need to know what minor modes are active, so I removed them. ~M-x
doom/describe-active-minor-mode~ was written to substitute for it.
** TODO Icons in my modeline look strange
** TODO The right side of the modeline is cut off
I believe the consensus is: this is due to oversized icons, i.e. a font issue. Some possible solutions:
I believe the consensus is: this is due to oversized icons, i.e. a font issue.
Some possible solutions:
1. Tweak ~all-the-icons-scale-factor~ (1.2 by default): ~(setq
all-the-icons-scale-factor 1.1)~
2. Add some padding to the modeline definition:
#+begin_src elisp
#+begin_src emacs-lisp
(after! doom-modeline
(doom-modeline-def-modeline 'main
'(bar matches buffer-info remote-host buffer-position parrot selection-info)
@ -80,18 +85,16 @@ I believe the consensus is: this is due to oversized icons, i.e. a font issue. S
#+end_src
3. Use another font for the mode line (or a different ~:height~) (source)
#+BEGIN_SRC elisp
#+begin_src emacs-lisp
(custom-set-faces!
'(mode-line :family "Noto Sans" :height 0.9)
'(mode-line-inactive :family "Noto Sans" :height 0.9))
#+END_SRC
#+end_src
(Mentioned in #1680, #278 and seagle0128/doom-modeline#334)
(Mentioned in [[doom-issue:][#1680]], [[doom-issue:][#278]] and [[https://github.com/seagle0128/doom-modeline/issues/334][seagle0128/doom-modeline#334]])
4. Change the width of icon characters in ~char-width-table~:
#+BEGIN_SRC elisp
#+begin_src emacs-lisp
(add-hook! 'doom-modeline-mode-hook
(let ((char-table char-width-table))
(while (setq char-table (char-table-parent char-table)))
@ -104,62 +107,72 @@ I believe the consensus is: this is due to oversized icons, i.e. a font issue. S
(optimize-char-table table)
(set-char-table-parent table char-table)
(setq char-width-table table)))))
#+END_SRC
#+end_src
If this doesn't help, try different values for ~width~ such as ~width 1~ or ~width 3~.
If this doesn't help, try different values for ~width~ such as ~width 1~ or
~width 3~.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 /This module's appendix is incomplete./ [[doom-contrib-module:][Write more?]]
#+end_quote
* Appendix
** Autodefs
+ ~def-modeline-format! NAME LEFT &optional RIGHT~
+ ~def-modeline-segment! NAME &rest REST~
+ ~set-modeline! NAME &optional DEFAULT~
- ~def-modeline-format! NAME LEFT &optional RIGHT~
- ~def-modeline-segment! NAME &rest REST~
- ~set-modeline! NAME &optional DEFAULT~
** Variables
+ doom-modeline-height
+ doom-modeline-bar-width
+ doom-modeline-buffer-file-name-style
+ doom-modeline-icon
+ doom-modeline-major-mode-icon
+ doom-modeline-major-mode-color-icon
+ doom-modeline-buffer-state-icon
+ doom-modeline-buffer-modification-icon
+ doom-modeline-minor-modes
+ doom-modeline-enable-word-count
+ doom-modeline-buffer-encoding
+ doom-modeline-indent-info
+ doom-modeline-checker-simple-format
+ doom-modeline-vcs-max-length
+ doom-modeline-persp-name
+ doom-modeline-lsp
+ doom-modeline-github
+ doom-modeline-github-interval
+ doom-modeline-env-version
+ doom-modeline-mu4e
+ doom-modeline-irc
+ doom-modeline-irc-stylize
- doom-modeline-height
- doom-modeline-bar-width
- doom-modeline-buffer-file-name-style
- doom-modeline-icon
- doom-modeline-major-mode-icon
- doom-modeline-major-mode-color-icon
- doom-modeline-buffer-state-icon
- doom-modeline-buffer-modification-icon
- doom-modeline-minor-modes
- doom-modeline-enable-word-count
- doom-modeline-buffer-encoding
- doom-modeline-indent-info
- doom-modeline-checker-simple-format
- doom-modeline-vcs-max-length
- doom-modeline-persp-name
- doom-modeline-lsp
- doom-modeline-github
- doom-modeline-github-interval
- doom-modeline-env-version
- doom-modeline-mu4e
- doom-modeline-irc
- doom-modeline-irc-stylize
** Faces
+ doom-modeline-buffer-path
+ doom-modeline-buffer-file
+ doom-modeline-buffer-modified
+ doom-modeline-buffer-major-mode
+ doom-modeline-buffer-minor-mode
+ doom-modeline-project-parent-dir
+ doom-modeline-project-dir
+ doom-modeline-project-root-dir
+ doom-modeline-highlight
+ doom-modeline-panel
+ doom-modeline-debug
+ doom-modeline-info
+ doom-modeline-warning
+ doom-modeline-urgent
+ doom-modeline-unread-number
+ doom-modeline-bar
+ doom-modeline-inactive-bar
+ doom-modeline-evil-emacs-state
+ doom-modeline-evil-insert-state
+ doom-modeline-evil-motion-state
+ doom-modeline-evil-normal-state
+ doom-modeline-evil-operator-state
+ doom-modeline-evil-visual-state
+ doom-modeline-evil-replace-state
+ doom-modeline-persp-name
+ doom-modeline-persp-buffer-not-in-persp
- doom-modeline-buffer-path
- doom-modeline-buffer-file
- doom-modeline-buffer-modified
- doom-modeline-buffer-major-mode
- doom-modeline-buffer-minor-mode
- doom-modeline-project-parent-dir
- doom-modeline-project-dir
- doom-modeline-project-root-dir
- doom-modeline-highlight
- doom-modeline-panel
- doom-modeline-debug
- doom-modeline-info
- doom-modeline-warning
- doom-modeline-urgent
- doom-modeline-unread-number
- doom-modeline-bar
- doom-modeline-inactive-bar
- doom-modeline-evil-emacs-state
- doom-modeline-evil-insert-state
- doom-modeline-evil-motion-state
- doom-modeline-evil-normal-state
- doom-modeline-evil-operator-state
- doom-modeline-evil-visual-state
- doom-modeline-evil-replace-state
- doom-modeline-persp-name
- doom-modeline-persp-buffer-not-in-persp

View file

@ -1,37 +1,65 @@
#+TITLE: ui/nav-flash
#+DATE: June 4, 2017
#+SINCE: v2.0
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui nav-flash][Issues]] ↖ [[doom-module-source:ui/nav-flash][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui nav-flash
#+SUBTITLE: Blink after big motions
#+CREATED: June 04, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC:
- [[#description][Description]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
* Description
* Description :unfold:
This module flashes the line around the cursor after any significant motion, to
make it easy to follow after big operations.
#+begin_quote
Tremendously helpful on large, 1600p+ or 4K displays.
💡 Tremendously helpful on large, 1600p+ or 4K displays.
#+end_quote
** Plugins
+ [[https://github.com/rolandwalker/nav-flash][nav-flash]]
** Maintainers
- [[doom-user:][@hlissner]]
* Prerequisites
This module has no dependencies.
[[doom-contrib-maintainer:][Become a maintainer?]]
* Configuration
By default, ~nav-flash~ will be triggered whenever ~recenter~ is called or an
entry is added to the jump-list (managed by better-jumper).
** Module flags
/This module has no flags./
~recenter~ is called after many hooks and commands, such as:
** Packages
- [[doom-package:][nav-flash]]
+ better-jumper-post-jump-hook
+ rtags-after-find-file-hook
+ org-follow-link-hook
+ imenu-after-jump-hook
+ counsel-grep-post-action-hook
+ dumb-jump-after-jump-hook
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* Usage
By default, [[doom-package:][nav-flash]] will be triggered whenever [[fn:][recenter]] is called or an entry
is added to the jump-list (managed by [[doom-package:][better-jumper]]).
[[fn:][recenter]] is called after many hooks and commands, such as:
- [[var:][better-jumper-post-jump-hook]]
- [[var:][rtags-after-find-file-hook]]
- [[var:][org-follow-link-hook]]
- [[var:][imenu-after-jump-hook]]
- [[var:][counsel-grep-post-action-hook]]
- [[var:][dumb-jump-after-jump-hook]]
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,9 +1,59 @@
#+TITLE: :evil neotree
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui neotree][Issues]] ↖ [[doom-module-source:ui/neotree][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui neotree
#+SUBTITLE: NERDTree for evil nerds
#+CREATED: May 11, 2018
#+SINCE: 21.12.0
* Description :unfold:
This module brings a side panel for browsing project files, inspired by vim's
NERDTree.
#+begin_quote
Sure, there's dired and projectile, but sometimes I'd like a bird's eye view of
a project.
💡 Sure, there's [[doom-package:][dired]] and [[doom-package:][projectile]], but sometimes I'd like a bird's eye view
of a project.
#+end_quote
** Maintainers
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][neotree]]
** TODO Hacks
#+begin_quote
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
#+end_quote
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,23 +1,58 @@
#+TITLE: ui/ophints
#+DATE: June 4, 2017
#+SINCE: v2.0
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui ophints][Issues]] ↖ [[doom-module-source:ui/ophints][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui ophints
#+SUBTITLE: An indicator for “what did I just do?”
#+CREATED: June 04, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
* Description
* Description :unfold:
This module provides op-hints (operation hinting), i.e. visual feedback for
certain operations. It highlights regions of text that the last operation (like
yank) acted on.
Uses ~evil-goggles~ for evil users and ~volatile-highlights~ otherwise.
Uses [[doom-package:][evil-goggles]] for evil users and [[doom-package:][volatile-highlights]] otherwise.
** Module Flags
This module provides no flags.
** Maintainers
- [[doom-user:][@hlissner]]
** Plugins
+ [[https://github.com/edkolev/evil-goggles/][evil-goggles]]*
+ [[https://github.com/k-talo/volatile-highlights.el][volatile-highlights]]*
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][evil-goggles]] if [[doom-module:][:editor evil]]
- [[doom-package:][volatile-highlights]] unless [[doom-module:][:editor evil]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,21 +1,11 @@
#+TITLE: ui/popup
#+DATE: January 6, 2018
#+SINCE: v2.0.9
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui popup][Issues]] ↖ [[doom-module-source:ui/popup][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui popup
#+SUBTITLE: Tame sudden yet inevitable temporary windows
#+CREATED: January 06, 2018
#+SINCE: 21.12.0
* Table of Contents :TOC:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
- [[#set-popup-rule-and-set-popup-rules][~set-popup-rule!~ and ~set-popup-rules!~]]
- [[#disabling-hidden-mode-line-in-popups][Disabling hidden mode-line in popups]]
- [[#appendix][Appendix]]
- [[#commands][Commands]]
- [[#library][Library]]
- [[#hacks][Hacks]]
* Description
* Description :unfold:
This module provides a customizable popup window management system.
Not all windows are created equally. Some are less important. Some I want gone
@ -23,41 +13,84 @@ once they have served their purpose, like code output or a help buffer. Others I
want to stick around, like a scratch buffer or org-capture popup.
More than that, popups ought to be the second class citizens of my editor;
spawned off to the side, discarded with the push of a button (e.g. =ESC= or
=C-g=), and easily restored if I want to see them again. Of course, this system
should clean up after itself and kill off buffers I mark as transient.
spawned off to the side, discarded with the push of a button (e.g. [[kbd:][ESC]] or [[kbd:][C-g]]),
and easily restored if I want to see them again. Of course, this system should
clean up after itself and kill off buffers I mark as transient.
** Module Flags
+ =+all= Enables fallback rules to ensure all temporary/special buffers (whose
name begins with a space or asterix) are treated as popups.
+ =+defaults= Enables reasonable default popup rules for a variety of buffers.
** Maintainers
- [[doom-user:][@hlissner]]
* Prerequisites
This module has no external prerequisites.
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
- +all ::
Enable fallback rules to ensure all temporary/special buffers (whose name
begins with a space or asterix) are treated as popups.
- +defaults ::
Enable reasonable default popup rules for a variety of buffers.
** Packages
/This module doesn't install any packages./
** Hacks
- [[doom-package:][help-mode]] has been advised to follow file links in the buffer you were in
before entering the popup, rather than in a new window.
- [[doom-package:][wgrep]] buffers are advised to close themselves when aborting or committing
changes.
- [[doom-package:][persp-mode]] is advised to restore popup windows when loading a session from
file.
- Interactive calls to ~windmove-*~ commands (used by ~evil-window-*~ commands)
will ignore the ~no-other-window~ window parameter, allowing you to switch to
popup windows as if they're ordinary windows.
- ~balance-windows~ has been advised to close popups while it does its business,
then restore them afterwards.
- [[doom-package:][neotree]] advises ~balance-windows~, which causes major slow-downs when paired
with our ~balance-window~ advice, so we removes neotree's advice.
- [[doom-package:][org-mode]] is an ongoing (and huge) effort. It has a scorched-earth window
management system I'm not fond of. ie. it kills all windows and monopolizes
the frame. On top of that, it /really/ likes to use ~switch-to-buffer~ for
most of its buffer management, which completely bypasses
~display-buffer-alist~. Some work has gone into reversing this.
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
** ~set-popup-rule!~ and ~set-popup-rules!~
This module has two functions for defining your own rules for popups:
#+BEGIN_SRC emacs-lisp
#+begin_src emacs-lisp
(set-popup-rule! PREDICATE &key IGNORE ACTIONS SIDE SIZE WIDTH HEIGHT SLOT VSLOT TTL QUIT SELECT MODELINE AUTOSAVE PARAMETERS)
(set-popup-rules! &rest RULESETS)
#+END_SRC
#+end_src
~PREDICATE~ is a predicate function or regexp string to match against the
buffer's name. You'll find comprehensive documentation on the other keywords in
~set-popup-rule!~'s docstring (=SPC h f set-popup-rule!=).
~set-popup-rule!~'s docstring ([[kbd:][SPC h f set-popup-rule!]]).
#+begin_quote
Popup rules end up in ~display-buffer-alist~, which instructs ~display-buffer~
calls on how to set up windows for buffers that meet certain conditions.
However, some plugins can avoid it entirely if they use ~set-buffer~ or
~switch-to-buffer~, which don't obey ~display-buffer-alist~.
📌 Popup rules end up in ~display-buffer-alist~, which instructs
~display-buffer~ calls on how to set up windows for buffers that meet
certain conditions. However, some plugins can avoid it entirely if they use
~set-buffer~ or ~switch-to-buffer~, which don't obey ~display-buffer-alist~.
#+end_quote
Multiple popup rules can be defined with ~set-popup-rules!~:
#+BEGIN_SRC emacs-lisp
#+begin_src emacs-lisp
(set-popup-rules!
'(("^ \\*" :slot -1) ; fallback rule for special buffers
("^\\*" :select t)
@ -66,7 +99,7 @@ Multiple popup rules can be defined with ~set-popup-rules!~:
("^\\*Help" :slot -1 :size 0.2 :select t)
("^\\*doom:"
:size 0.35 :select t :modeline t :quit t :ttl t)))
#+END_SRC
#+end_src
Omitted parameters in a ~set-popup-rules!~ will use the defaults set in
~+popup-defaults~.
@ -75,66 +108,55 @@ Omitted parameters in a ~set-popup-rules!~ will use the defaults set in
By default, the mode-line is hidden in popups. To disable this, you can either:
1. Change the default ~:modeline~ property in ~+popup-defaults~:
#+BEGIN_SRC emacs-lisp
;; add to $DOOMDIR/config.el
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(plist-put +popup-defaults :modeline t)
#+END_SRC
#+end_src
A value of ~t~ will instruct popups to use the default mode-line. Any
popup rule with a ~:modeline~ property can still override this.
A value of ~t~ will instruct popups to use the default mode-line. Any popup
rule with a ~:modeline~ property can still override this.
2. Completely disable management of the mode-line in popups:
#+BEGIN_SRC emacs-lisp
;; add to ~/.doom.d/config.el
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(remove-hook '+popup-buffer-mode-hook #'+popup-set-modeline-on-enable-h)
#+END_SRC
#+end_src
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 /This module's appendix is incomplete./ [[doom-contrib-module:][Write more?]]
#+end_quote
* Appendix
** Commands
+ ~+popup/other~ (aliased to ~other-popup~, bound to ~C-x p~)
+ ~+popup/toggle~
+ ~+popup/close~
+ ~+popup/close-all~
+ ~+popup/toggle~
+ ~+popup/restore~
+ ~+popup/raise~
- ~+popup/other~ (aliased to ~other-popup~, bound to [[kbd:][C-x p]])
- ~+popup/toggle~
- ~+popup/close~
- ~+popup/close-all~
- ~+popup/toggle~
- ~+popup/restore~
- ~+popup/raise~
** Library
+ Functions
+ ~+popup-window-p WINDOW~
+ ~+popup-buffer-p BUFFER~
+ ~+popup-buffer BUFFER &optional ALIST~
+ ~+popup-parameter PARAMETER &optional WINDOW~
+ ~+popup-parameter-fn PARAMETER &optional WINDOW~
+ ~+popup-windows~
+ Macros
+ ~without-popups!~
+ ~save-popups!~
+ Hooks
+ ~+popup-adjust-fringes-h~
+ ~+popup|set-modeline~
+ ~+popup-close-on-escape-h~
+ ~+popup-cleanup-rules-h~
+ Minor modes
+ ~+popup-mode~
+ ~+popup-buffer-mode~
** Hacks
+ =help-mode= has been advised to follow file links in the buffer you were in
before entering the popup, rather than in a new window.
+ =wgrep= buffers are advised to close themselves when aborting or committing
changes.
+ =persp-mode= is advised to restore popup windows when loading a session from
file.
+ Interactive calls to ~windmove-*~ commands (used by ~evil-window-*~ commands)
will ignore the ~no-other-window~ window parameter, allowing you to switch to
popup windows as if they're ordinary windows.
+ ~balance-windows~ has been advised to close popups while it does its business,
then restore them afterwards.
+ =neotree= advises ~balance-windows~, which causes major slow-downs when paired
with our ~balance-window~ advice, so we removes neotree's advice.
+ =org-mode= is an ongoing (and huge) effort. It has a scorched-earth window
management system I'm not fond of. ie. it kills all windows and monopolizes
the frame. On top of that, it /really/ likes to use ~switch-to-buffer~ for
most of its buffer management, which completely bypasses
~display-buffer-alist~. Some work has gone into reversing this.
- Functions
- ~+popup-window-p WINDOW~
- ~+popup-buffer-p BUFFER~
- ~+popup-buffer BUFFER &optional ALIST~
- ~+popup-parameter PARAMETER &optional WINDOW~
- ~+popup-parameter-fn PARAMETER &optional WINDOW~
- ~+popup-windows~
- Macros
- ~without-popups!~
- ~save-popups!~
- Hooks
- ~+popup-adjust-fringes-h~
- ~+popup|set-modeline~
- ~+popup-close-on-escape-h~
- ~+popup-cleanup-rules-h~
- Minor modes
- ~+popup-mode~
- ~+popup-buffer-mode~

View file

@ -1,18 +1,51 @@
#+TITLE: ui/tabs
#+DATE: July 12, 2019
#+SINCE: v2.1
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui tabs][Issues]] ↖ [[doom-module-source:ui/tabs][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui tabs
#+SUBTITLE: Keep tabs on your buffers, literally
#+CREATED: July 12, 2019
#+SINCE: 21.12.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
* Description
* Description :unfold:
This module adds an Atom-esque tab bar to the Emacs UI.
** Module Flags
This module provides no flags.
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/ema2159/centaur-tabs][centaur-tabs]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][centaur-tabs]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,71 +1,89 @@
#+TITLE: ui/treemacs
#+DATE: April 5, 2021
#+SINCE: v2.0.4
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui treemacs][Issues]] ↖ [[doom-module-source:ui/treemacs][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui treemacs
#+SUBTITLE: A sidebar for all the things
#+CREATED: June 09, 2018
#+SINCE: 21.12.0 (#669)
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
* Description :unfold:
[[doom-package:treemacs][Treemacs]] is a file and project explorer similar to NeoTree or vim's NerdTree,
but largely inspired by the Project Explorer in Eclipse. It shows the file
system outlines of your projects in a simple tree layout allowing quick
navigation and exploration, while also possessing basic file management
utilities. It includes:
* Description
[[https://github.com/Alexander-Miller/treemacs][Treemacs]] is a file and project explorer similar to NeoTree or vims NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows the file system outlines of your projects in a simple tree layout allowing quick navigation and exploration, while also possessing basic file management utilities.
It includes:
+ Integration with Git (when =:tools magit= is enabled)
+ Integration with Evil (when =:editor evil +everywhere= is enabled)
+ Workspace awareness (when =:ui workspaces= is enabled)
- Integration with Git (if [[doom-module:][:tools magit]] is enabled)
- Integration with Evil (if [[doom-module:][:editor evil +everywhere]] is enabled)
- Workspace awareness (if [[doom-module:][:ui workspaces]] is enabled)
** Maintainers
+ This module has no dedicated maintainers.
- [[doom-user:][@hlissner]]
** Module Flags
+ =+lsp= Enable ~lsp-treemacs~ integration and add shortcuts for common commands.
[[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/Alexander-Miller/treemacs/][treemacs]]
+ [[https://github.com/Alexander-Miller/treemacs/#treemacs-projectile][treemacs-projectile]]
+ =:editor evil +everywhere=
+ [[https://github.com/Alexander-Miller/treemacs/#treemacs-evil][treemacs-evil]]
+ =:tools magit=
+ [[https://github.com/Alexander-Miller/treemacs/#treemacs-magit][treemacs-magit]]
+ =:ui workspaces=
+ [[https://github.com/Alexander-Miller/treemacs/#treemacs-persptreemacs-perspective][treemacs-persp]]
+ =+lsp=
+ [[https://github.com/emacs-lsp/lsp-treemacs][lsp-treemacs]]
** Module flags
- +lsp ::
Enable ~lsp-treemacs~ integration and add shortcuts for common commands.
* Prerequisites
If ~+treemacs-git-mode~ is set to ~extended~ or ~deferred~ you will need to have
~python3~ installed.
** Packages
- [[doom-package:][lsp-treemacs]] if [[doom-module:][+lsp]]
- [[doom-package:][treemacs]]
- [[doom-package:][treemacs-evil]] if [[doom-module:][:editor evil +everywhere]]
- [[doom-package:][treemacs-magit]] if [[doom-module:][:tools magit]]
- [[doom-package:][treemacs-persp]] if [[doom-module:][:ui workspaces]]
- [[doom-package:][treemacs-projectile]]
* Features
The project bar can be opened using =SPC o p=.
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
If =python3= is present on your =$PATH=, [[doom-package:][treemacs]] will use it to display git
status for files.
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
The project bar can be opened using [[kbd:][SPC o p]].
| Keybind | Description |
|---------+-----------------------------------------------------------------|
| =o s= | Open a horizontal dired buffer on the currently highlighted node |
| =o v= | Open a vertical dired buffer on the currently highlighted node |
|---------+------------------------------------------------------------------|
| [[kbd:][o s]] | Open a horizontal dired buffer on the currently highlighted node |
| [[kbd:][o v]] | Open a vertical dired buffer on the currently highlighted node |
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Configuration
The variable ~+treemacs-git-mode~ sets the type of git integration that treemacs
has.
There are 3 possible values:
1. simple, which highlights only files based on their git status, and is
slightly faster,
2. extended, which highlights both files and directories, but requires
1. ~'simple~ (the default), which highlights only files based on their git
status, and is slightly faster,
2. ~'extended~, which highlights both files and directories, but requires
python,
3. deferred, same as extended, but highlights asynchronously.
3. ~'deferred~, same as extended, but highlights asynchronously.
the default being simple
#+begin_quote
🚧 ~+treemacs-git-mode~ must be set before treemacs is loaded.
#+end_quote
This must be set before treemacs has loaded.
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* TODO Troubleshooting
# Common issues and their solution, or places to look for help.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,77 +1,98 @@
#+TITLE: ui/unicode
#+DATE: June 8, 2020
#+SINCE: v2.0
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui unicode][Issues]] ↖ [[doom-module-source:ui/unicode][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui unicode
#+SUBTITLE: Extended unicode support for various languages
#+CREATED: June 08, 2020
#+SINCE: 2.0.0
* Description :unfold:
This module extends Doom's ability to display non-English unicode. It is
primarily useful for non-English Emacs users, for whom Doom's built-in unicode
support in insufficient.
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configuration][Configuration]]
- [[#getting-fonts-with-good-coverage][Getting fonts with good coverage]]
- [[#advanced-configuration][Advanced configuration]]
- [[#troubleshooting][Troubleshooting]]
- [[#emacs-daemon-mode][Emacs daemon mode]]
* Description
This module extends Doom's ability to display non-English unicode.
It is primarily useful for non-English Emacs users, for whom Doom's built-in unicode support in insufficient.
This module relies on the [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package. It tries to setup the default emacs fontset to cover as many unicode glyphs as possible by scanning all available glyphs from all available fonts.
When this module is enabled...
+ Emacs will prefer to use the ~doom-unicode-font~ font to display non-latin glyphs if it provides coverage for them.
+ The first time you run Emacs a unicode cache will be generated -- this will take a while!
+ The cache will be regenerated every time Emacs is made aware of new fonts or you change the font configuration e.g. by modifying ~doom-unicode-font~.
+ The cache will be stored and should not be regenerated unless font-related configuration or the versions of relevant packages changes.
This module relies on the [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package. It tries to setup the default
emacs fontset to cover as many unicode glyphs as possible by scanning all
available glyphs from all available fonts.
When this module is enabled:
- Emacs will prefer to use the ~doom-unicode-font~ font to display non-latin
glyphs if it provides coverage for them.
- The first time you run Emacs a unicode cache will be generated -- this will
take a while!
- The cache will be regenerated every time Emacs is made aware of new fonts or
you change the font configuration e.g. by modifying ~doom-unicode-font~.
- The cache will be stored and should not be regenerated unless font-related
configuration or the versions of relevant packages changes.
** Maintainers
This module has no dedicated maintainers.
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
** Module Flags
This module provides no flags.
** Module flags
/This module has no flags./
** Plugins
+ [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]]
** Packages
- [[doom-package:][unicode-fonts]]
* Prerequisites
This module has no prerequisites.
** Hacks
/No hacks documented for this module./
* Features
# An in-depth list of features, how to use them, and their dependencies.
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Configuration
The first font that will be analyzed to see if it contains the glyphs of non-latin characters will be ~doom-unicode-font~. To set this font place
#+BEGIN_SRC elisp
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
The first font that will be analyzed to see if it contains the glyphs of
non-latin characters will be ~doom-unicode-font~:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq doom-unicode-font (font-spec :family "Fira Mono"))
#+END_SRC
in your private =config.el= file. If your ~doom-font~ provides good unicode coverage you just set
#+BEGIN_SRC elisp
#+end_src
If your ~doom-font~ provides good unicode coverage use:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq doom-unicode-font doom-font)
#+END_SRC
If your font does not provide some glyphs, this package will try its best to find another font that does.
#+end_src
If your font does not provide some glyphs, this package will try its best to
find another font that does.
** Getting fonts with good coverage
A list of fonts with good unicode coverage can be found on the page of the [[https://github.com/rolandwalker/unicode-fonts#minimum-useful-fonts][unicode-fonts]] package.
A list of fonts with good unicode coverage can be found on the page of the
[[https://github.com/rolandwalker/unicode-fonts#minimum-useful-fonts][unicode-fonts]] package.
** Advanced configuration
Consult the [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package documentation for a description of more advanced configuration. The configuration should be placed, as usual, in your private =config.el= wrapped in an ~(after! unicode-fonts)~ block. The variable ~unicode-fonts-blocks~ contains a list of all unicode block names and their character ranges. The default fonts to search for glyphs are in the variable ~unicode-fonts-block-font-mapping~.
Consult the [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package documentation for a description of more
advanced configuration. The configuration should be placed, as usual, in
=$DOOMDIR/config.el= wrapped in an ~(after! unicode-fonts)~ block. The variable
~unicode-fonts-blocks~ contains a list of all unicode block names and their
character ranges. The default fonts to search for glyphs are in the variable
~unicode-fonts-block-font-mapping~.
If you want to use the font =Symbola= for =Miscellaneous Symbols= by default you could add
#+BEGIN_SRC elisp
If you want to use the font =Symbola= for =Miscellaneous Symbols= by default
use:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(after! unicode-fonts
(push "Symbola" (cadr (assoc "Miscellaneous Symbols" unicode-fonts-block-font-mapping))))
#+END_SRC
to your =config.el=.
#+end_src
If you want to redefine several blocks an efficient way would be
#+BEGIN_SRC elisp
If you want to redefine several blocks an efficient way would be:
#+begin_src emacs-lisp
(after! unicode-fonts
(dolist (unicode-block '("Mathematical Alphanumeric Symbols"
"Mathematical Operators"
@ -81,12 +102,20 @@ If you want to redefine several blocks an efficient way would be
"Miscellaneous Symbols and Arrows"
"Miscellaneous Symbols and Pictographs"))
(push "DejaVu Math TeX Gyre" (cadr (assoc unicode-block unicode-fonts-block-font-mapping)))))
#+END_SRC
#+end_src
You can find a list of fonts available to emacs using ~M-x counsel-fonts~.
* Troubleshooting
# Common issues and their solution, or places to look for help.
** TODO Emacs daemon mode
Currently this module may fail setup fonts when emacs is run in daemon mode. See [[https://github.com/hlissner/doom-emacs/issues/3328][Bug 3328]].
[[doom-report:][Report an issue?]]
** TODO Emacs daemon mode ([[doom-issue:][#3328]])
This module may fail to setup fonts when emacs is run in a daemon session.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -0,0 +1,57 @@
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui vc-gutter][Issues]] ↖ [[doom-module-source:ui/vc-gutter][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui vc-gutter
#+SUBTITLE: Get your diff out of the gutter
#+CREATED: June 26, 2018
#+SINCE: 21.12.0
* Description :unfold:
This module displays a diff of the current file (against HEAD) in the fringe.
Supports Git, Svn, Hg, and Bzr.
** Maintainers
- [[doom-user:][@hlissner]]
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:][git-gutter-fringe]]
** TODO Hacks
#+begin_quote
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
#+end_quote
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module requires any of Git, Svn, Hg, and/or Bazaar to get gutter diffs in
projects version controlled by them.
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,42 +1,62 @@
#+TITLE: ui/vi-tilde-fringe
#+DATE: May 22, 2021
#+SINCE: v2.0.5
#+STARTUP: inlineimages nofold
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui vi-tilde-fringe][Issues]] ↖ [[doom-module-source:ui/vi-tilde-fringe][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui vi-tilde-fringe
#+SUBTITLE: Fringe tildes beyond EOB
#+CREATED: September 24, 2017
#+SINCE: 2.0.6
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#configuration][Configuration]]
* Description
* Description :unfold:
Displays a tilde(~) in the left fringe to indicate an empty line, similar to Vi.
** Maintainers
This module has no dedicated maintainers.
- [[doom-user:][@hlissner]]
** Module Flags
This module provides no flags.
[[doom-contrib-maintainer:][Become a maintainer?]]
** Plugins
+ [[https://github.com/syl20bnr/vi-tilde-fringe][vi-tilde-fringe]]
** Module flags
/This module has no flags./
* Prerequisites
This module has no prerequisites.
** Packages
- [[doom-package:][vi-tilde-fringe]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* Usage
Nothing more needs to be done once the module is activated. Tildes will become
visible in all buffers, after EOB.
* Configuration
By default, doom activates ~vi-tilde-fringe-mode~ for ~prog-mode~, ~text-mode~ and ~conf-mode~. To change this to your liking, you can remove any of the modes from the list
By default, doom activates ~vi-tilde-fringe-mode~ for ~prog-mode~, ~text-mode~
and ~conf-mode~. To change this to your liking, you can remove any of the modes
from the list:
#+begin_src emacs-lisp
;; in ~/.doom.d/config.el
;; in $DOOMDIR/config.el
(remove-hook 'text-mode-hook #'vi-tilde-fringe-mode)
#+end_src
or add new modes where you would like ~vi-tilde-fringe-mode~ enabled.
Or add new modes where you would like ~vi-tilde-fringe-mode~ enabled:
#+begin_src emacs-lisp
;; in ~/.doom.d/config.el
;; in $DOOMDIR/config.el
(add-hook 'org-mode-hook #'vi-tilde-fringe-mode)
#+end_src
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,66 +1,92 @@
#+TITLE: ui/window-select
#+DATE: October 8, 2017
#+SINCE: v2.0.7
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui window-select][Issues]] ↖ [[doom-module-source:ui/window-select][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui window-select
#+SUBTITLE: Visually switch windows
#+CREATED: October 08, 2017
#+SINCE: 2.0.7 (#237)
* Table of Contents :TOC:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#packages][Packages]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configuration][Configuration]]
- [[#ace-window][ace-window]]
- [[#switch-window][switch-window]]
* Description
* Description :unfold:
This module provides several methods for selecting windows without the use of
the mouse or spatial navigation (e.g. =C-w {h,j,k,l}=).
the mouse or spatial navigation (e.g. [[kbd:][C-w {h,j,k,l}]]).
The command ~other-window~ is remapped to either ~switch-window~ or
~ace-window~, depending on which backend you've enabled. It is bound to ~C-x o~
(and ~C-w C-w~ for evil users).
The command ~other-window~ is remapped to either [[doom-package:][switch-window]] or [[doom-package:][ace-window]],
depending on which backend you've enabled. It is bound to [[kbd:][C-x o]] (and [[kbd:][C-w C-w]] for
evil users).
It also provides numbered windows and selection with the ~winum~ package, if
desired. Evil users can jump to window N in =C-w <N>= (where N is a number
between 0 and 9). Non evil users have =C-x w <N>= instead.
It also provides numbered windows and selection with the [[doom-package:][winum]] package, if
desired. Evil users can jump to window N in [[kbd:][C-w <N>]] (where N is a number between
0 and 9). Non evil users have [[kbd:][C-x w <N>]] instead.
** Module Flags
+ =+switch-window= Use the switch-window package as the backend, instead of
ace-window (avy).
+ =+numbers= Enable numbered windows and window selection (using winum).
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
- +numbers ::
Enable numbered windows and window selection (using [[doom-package:][winum]]).
- +switch-window ::
Use the [[doom-package:][switch-window]] package as the backend, instead of ace-window ([[doom-package:][avy]]).
** Packages
+ [[https://github.com/dimitri/switch-window][switch-window]] (if =+switch-window=)
+ [[https://github.com/abo-abo/ace-window][ace-window]] (if =+switch-window= isn't enabled)
+ [[https://github.com/deb0ch/emacs-winum][winum]] (if =+numbers=)
- [[doom-package:][ace-window]] unless [[doom-module:][+switch-window]]
- [[doom-package:][switch-window]] if [[doom-module:][+switch-window]]
- [[doom-package:][winum]] if [[doom-module:][+numbers]]
* Prerequisites
This module has no additional dependencies.
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* TODO Features
* Configuration
This module provides two backends, both providing the same functionality, but
with different visual cues. They are =ace-window= and =switch-window=.
with different visual cues. They are [[doom-package:][ace-window]] and [[doom-package:][switch-window]].
** ace-window
The first character of the buffers changes to a highlighted, user-selectable
character.
+ Pros: the content of the buffers are always visible.
+ Cons: The display characters are small and difficult to see (see below for a way to enlarge them).
- *Pros:* the content of the buffers are always visible.
- *Cons:* The display characters are small and difficult to see (see below for a
way to enlarge them).
**** Custom font-face example
This changes the ace-window display to show a white letter with a red background. The box attribute adds some padding.
#+BEGIN_SRC elisp
*** Custom font-face example
This changes the ace-window display to show a white letter with a red
background. The box attribute adds some padding:
#+begin_src emacs-lisp
(custom-set-faces!
'(aw-leading-char-face
:foreground "white" :background "red"
:weight bold :height 2.5 :box (:line-width 10 :color "red")))
#+END_SRC
#+end_src
** switch-window
Replaces the entire buffer with large letters.
+ Pros: The displayed characters are /really/ easy to see.
+ Cons: You can't see the contents of the buffers.
- *Pros:* The displayed characters are /really/ easy to see.
- *Cons:* You can't see the contents of the buffers.
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,45 +1,53 @@
#+TITLE: ui/workspaces
#+DATE: February 4, 2017
#+SINCE: v1.3
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui workspaces][Issues]] ↖ [[doom-module-source:ui/workspaces][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui workspaces
#+SUBTITLE: Tab emulation, persistence, & separate workspaces
#+CREATED: February 20, 2017
#+SINCE: 2.0.0
* Table of Contents :TOC:
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#packages][Packages]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#isolated-buffer-list][Isolated buffer-list]]
- [[#automatic-workspaces][Automatic workspaces]]
- [[#session-persistence][Session persistence]]
- [[#workspace-persistence][Workspace persistence]]
- [[#appendix][Appendix]]
- [[#commands--keybindings][Commands & Keybindings]]
- [[#api][API]]
* Description
This module adds support for workspaces, powered by persp_mode, as well as a API
* Description :unfold:
This module adds support for workspaces, powered by [[doom-package:][persp-mode]], as well as a API
for manipulating them.
#+begin_quote
There are many ways to use workspaces. I spawn a workspace per task. Say I'm
working in the main workspace, when I realize there is a bug in another part of
my project. I open a new workspace and deal with it in there. In the meantime, I
need to check my email, so mu4e gets its own workspace.
💡 There are many ways to use workspaces. I spawn a workspace per task. Say I'm
working in the main workspace, when I realize there is a bug in another part
of my project. I open a new workspace and deal with it in there. In the
meantime, I need to check my email, so mu4e gets its own workspace.
Once I've completed the task, I close the workspace and return to main.
Once I've completed the task, I close the workspace and return to main.
#+end_quote
** Module Flags
This module provides no flags.
** Maintainers
- [[doom-user:][@hlissner]]
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
+ [[https://github.com/Bad-ptr/persp-mode.el][persp-mode]]
- [[doom-package:][persp-mode]]
* Prerequisites
This module has no additional dependencies.
** TODO Hacks
#+begin_quote
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
#+end_quote
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
* Features
** Isolated buffer-list
When persp-mode is active, ~doom-buffer-list~ becomes workspace-restricted. You
can overcome this by using ~buffer-list~.
@ -47,8 +55,8 @@ can overcome this by using ~buffer-list~.
** Automatic workspaces
A workspace is automatically created (and switched to) when you:
+ Create a new frame (with =make-frame=; bound to =M-N= by default).
+ Switch to a project using ~projectile-switch-project~.
- Create a new frame (with =make-frame=; bound to [[kbd:][M-N]] by default).
- Switch to a project using ~projectile-switch-project~.
** Session persistence
By default, your session is autosaved when you quit Emacs (or disable
@ -63,26 +71,41 @@ If you'd like to save a specific workspace, use ~M-x +workspace/save~, which can
be loaded into the current session (as another workspace) with ~M-x
+workspace/load~.
* Appendix
** Commands & Keybindings
Here is a list of available commands, their default keybindings (defined in
[[../../config/default/+evil-bindings.el][private/default/+bindings.el]]), and corresponding ex commands (if any -- defined
in [[../../editor/evil/+commands.el][private/default/+evil-commands.el]]).
[[../../config/default/+evil-bindings.el][config/default/+bindings.el]]), and corresponding ex commands (if any -- defined
in [[../../editor/evil/+commands.el][config/default/+evil-commands.el]]).
| command | key / ex command | description |
|-----------------------------------+----------------------------+------------------------------------------------------------|
| ~+workspace/new~ | =SPC TAB n= | Create a new, blank workspace |
| ~+workspace/display~ | =SPC TAB TAB= | Display open workspaces in the mode-line |
| ~+workspace/load~ | =SPC TAB l= | Load a saved workspace into the current session |
| ~+workspace/restore-last-session~ | =SPC TAB R= | Restore last session |
| ~+workspace/rename~ | =SPC TAB r= | Rename the current workspace |
| ~+workspace/save~ | =SPC TAB s= | Save the current workspace to a file |
| ~+workspace/switch-to~ | =SPC TAB .= | Switch to an open workspace |
| ~+workspace/other~ | =SPC TAB `= | Switch to last workspace |
| ~+workspace/switch-left~ | =SPC TAB [= / =[ w= / =gT= | Switch to previous workspace |
| ~+workspace/switch-right~ | =SPC TAB ]= / =] w= / =gt= | Switch to next workspace |
| ~+workspace/delete~ | =SPC TAB d= | Delete the current workspace |
| ~+workspace/kill-session~ | =SPC TAB x= / =:sclear= | Clears the current session (kills all windows and buffers) |
|-----------------------------------+----------------------+------------------------------------------------------------|
| ~+workspace/new~ | [[kbd:][SPC TAB n]] | Create a new, blank workspace |
| ~+workspace/display~ | [[kbd:][SPC TAB TAB]] | Display open workspaces in the mode-line |
| ~+workspace/load~ | [[kbd:][SPC TAB l]] | Load a saved workspace into the current session |
| ~+workspace/restore-last-session~ | [[kbd:][SPC TAB R]] | Restore last session |
| ~+workspace/rename~ | [[kbd:][SPC TAB r]] | Rename the current workspace |
| ~+workspace/save~ | [[kbd:][SPC TAB s]] | Save the current workspace to a file |
| ~+workspace/switch-to~ | [[kbd:][SPC TAB .]] | Switch to an open workspace |
| ~+workspace/other~ | [[kbd:][SPC TAB `]] | Switch to last workspace |
| ~+workspace/switch-left~ | [[kbd:][SPC TAB []] / [[kbd:][[ w]] / [[kbd:][gT]] | Switch to previous workspace |
| ~+workspace/switch-right~ | [[kbd:][SPC TAB ]]] / [[kbd:][] w]] / [[kbd:][gt]] | Switch to next workspace |
| ~+workspace/delete~ | [[kbd:][SPC TAB d]] | Delete the current workspace |
| ~+workspace/kill-session~ | [[kbd:][SPC TAB x]] / [[kbd:][:sclear]] | Clears the current session (kills all windows and buffers) |
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 /This module's appendix is incomplete./ [[doom-contrib-module:][Write more?]]
#+end_quote
** API
+ ~+workspace-list~ -> list<Struct>

View file

@ -1,33 +1,24 @@
#+TITLE: ui/zen
#+DATE: December 20, 2019
#+SINCE: v3.0.0
#+STARTUP: inlineimages
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::ui zen][Issues]] ↖ [[doom-module-source:ui/zen][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :ui zen
#+SUBTITLE: Distraction-free mode for the eternally distracted
#+CREATED: December 20, 2019
#+SINCE: 21.12.0
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#usage][Usage]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#hacks][Hacks]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#distractions-free-mode][Distractions-free mode]]
- [[#configuration][Configuration]]
- [[#enable-fullscreen-on-activation][Enable fullscreen on activation]]
* Description
* Description :unfold:
This module provides two minor modes that make Emacs into a more comfortable
writing or coding environment. Folks familiar with "distraction-free" or "zen"
modes from other editors -- or [[https://github.com/rnkn/olivetti][olivetti]], [[https://github.com/zk-phi/sublimity][sublimity]], and [[https://github.com/IdoMagal/Tabula-Rasa][tabula-rasa]] (Emacs
modes from other editors -- or [[doom-package:][olivetti]], [[doom-package:][sublimity]], and [[doom-package:][tabula-rasa]] (Emacs
plugins) -- will feel right at home.
These modes are:
+ ~mixed-pitch-mode~ :: Which renders (most) text in a variable pitch font (see
- ~mixed-pitch-mode~ ::
Which renders (most) text in a variable pitch font (see
~doom-variable-pitch-font~). Unlike ~variable-pitch-mode~, this will not
affect segments of text that are intended to remain in a fixed pitch font,
such as code blocks or ASCII tables.
+ ~writeroom-mode~ :: Our all-in-one "zen" mode that will:
- ~writeroom-mode~ ::
Our all-in-one "zen" mode that will:
1. Center the current buffer.
2. Remove superfluous UI elements (like the modeline).
3. Activate ~mixed-pitch-mode~.
@ -35,22 +26,17 @@ These modes are:
5. And make the window's borders slightly thicker (see
~+zen-window-divider-size~).
** Usage
This module provides two entry points:
** Maintainers
- [[doom-user:][@hlissner]]
+ ~M-x +zen/toggle~ :: toggles ~writeroom-mode~ (restricted to the current
buffer).
+ ~M-x +zen/toggle-fullscreen~ :: toggles zen mode in full-screen mode (deletes
other windows and full screens the Emacs frame).
[[doom-contrib-maintainer:][Become a maintainer?]]
Invoke either command again to undo the change.
** Module flags
/This module has no flags./
** Module Flags
This module provides no flags.
** Plugins
+ [[https://github.com/joostkremers/writeroom-mode][writeroom-mode]]
+ [[https://gitlab.com/jabranham/mixed-pitch][mixed-pitch]]
** Packages
- [[doom-package:][mixed-pitch]]
- [[doom-package:][writeroom-mode]]
** Hacks
+ Doom has disabled all of writeroom-mode's "global" effects
@ -61,18 +47,37 @@ This module provides no flags.
+ ~text-scale~ has been advised to adjust ~visual-fill-column~'s margins, so its
text won't "squeeze" as you scale it up (or "spill" when scaled down).
* Prerequisites
This module has no prerequisites.
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Features
** Distractions-free mode
This can be activated with =SPC t z= for evil users.
Non-evil users can use =C-c t z= or 'M-x writeroom-mode'.
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
* Configuration
** Enable fullscreen on activation
#+BEGIN_SRC elisp
(setq writeroom-fullscreen-effect t)
#+END_SRC
/This module has no external requirements./
Or fullscreen manually with =SPC t F= (or =F11= for non-evil users).
* Usage
This module provides two entry points:
- ~M-x +zen/toggle~ (on [[kbd:][<leader> t z]]): toggles ~writeroom-mode~ (restricted to
the current buffer).
- ~M-x +zen/toggle-fullscreen~ (on [[kbd:][<leader> t Z]]): toggles zen mode in
full-screen mode (deletes other windows and full screens the Emacs frame).
Invoke either command again to undo the change.
* TODO Configuration
#+begin_quote
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote