Commit graph

191 commits

Author SHA1 Message Date
Ellis Kenyő
9787022b83
refactor!: replace all-the-icons with nerd-icons
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.

This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.

Fix: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
Jeetaditya Chatterjee
6aa9ebae64 tweak(doom-dashboard): recentf now top menu section
This makes the top action one that is harmless as to prevent accidental
clobbering of current workspaces
2023-08-18 19:20:01 +02:00
Henrik Lissner
5c563d307b
fix(doom-dashboard): update evil-replace-state ref
The command was renamed evil-enter-replace-state, upstream.
2023-02-25 20:47:29 -05:00
Henrik Lissner
29dfce32bd
fix(doom-dashboard): hide benchmark until available
The dashboard has a chance to display before doom-init-time is
calculated. To prevent the resulting type error, hide it until it is
ready.
2022-09-24 22:10:02 +02:00
Henrik Lissner
a5c80fcb4b
refactor: deprecate doom-private-dir for doom-user-dir
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.

Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
2022-08-14 20:43:35 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
6d4b2b48c2
fix(doom-dashboard): revert unintended changes
Amend: b5a2aa48fe
2022-08-03 03:34:28 +02:00
Henrik Lissner
1f8bf7accb
merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
2022-08-03 03:27:50 +02:00
Henrik Lissner
b5093a5e93
fix(doom-dashboard): :key param & keymap precedence
- Fixes the :key property in +doom-dashboard-menu-sections, which
  formerly threw an error.
- When looking up commands in +doom-dashboard-menu-sections, the
  dashboard will now prioritize keys in +doom-dashboard-mode-map.

Close: #6194
Co-authored-by: Gerry Agbobada <gagbo@users.noreply.github.com>
2022-03-31 01:06:07 +02:00
Henrik Lissner
b5a2aa48fe docs(:ui): update READMEs to new format 2021-11-21 20:04:28 +01:00
Henrik Lissner
e431dbc138 fix(doom-dashboard,workspaces): module init order
Change (and simplify) the load order of Doom's dashboard and persp-mode
so that the dashboard always initializes later. This and 0ab6aba should
fix #5643.

Fix #5643
Ref 0ab6aba056
2021-10-18 01:15:20 +02:00
Henrik Lissner
dd1f7713ea Fix 'invalid face attribute :background' warnings
And 'invalid face attribute nil' warnings too.
2021-05-30 12:20:58 -04:00
Henrik Lissner
6e296f3da2 Reload dashboard when loading theme
To fix dashboard banner background mismatches due to solaire-mode.
2021-05-22 19:57:41 -04:00
Henrik Lissner
b903930f2d ui/doom-dashboard: only affect buffer-local fringe-indicator-alist 2021-05-01 02:46:08 -04:00
Henrik Lissner
e80bd6da4a ui/dashboard: minor refactors 2021-04-13 18:54:48 -04:00
Henrik Lissner
b859727f7a Never show hl-line in dashboard 2021-03-27 18:27:02 -04:00
Henrik Lissner
5e8a668311 Fix empty dashboard on first daemon frame
Dashboard would be empty because +doom-dashboard-reload was never called
in daemon sessions (until you switch back to it).
2021-02-14 21:14:07 -05:00
Henrik Lissner
f587630e17
Use module instead of package detection
Otherwise, the dashboard will break if the user has perspective.el
installed, instead of persp-mode.
2021-01-11 02:41:44 -05:00
Henrik Lissner
1765dc8299
Correct ascii banner alignment
Closes #4289
2020-11-20 14:10:28 -05:00
Henrik Lissner
86c2f05252
Refactor doom-dashboard-draw-ascii-banner-fn 2020-11-19 00:44:16 -05:00
Henrik Lissner
befb2baeda
Introduce +doom-dashboard-ascii-banner-fn setting 2020-11-15 09:49:30 -05:00
Han Mertens
5018637091 ui/doom-dashboard: center bottom line of banner 2020-11-10 20:38:45 +01:00
Henrik Lissner
de4532f979
ui/doom-dashboard: have 'last-project policy fall back to CWD
Normally, the dashboard assumes the default-directory = project root of
the last buffer you had open. This is to make it easy for you to recover
from closing the last buffer in your project and wondering how to get
back. However, if the last file wasn't in a valid project, the dashboard
assumes the directory of the last buffer that did, which can be jarring.

It will now assume the last buffer's CWD if it wasn't in a valid project
root.
2020-08-09 01:50:41 -04:00
Henrik Lissner
e1fc2db751
Disable line numbers in dashboard
They look ugly when large margins are involved.
2020-07-26 14:03:45 -04:00
Henrik Lissner
83b6f74d11
Minor refactors & reformatting 2020-03-27 21:39:27 -04:00
Foldex
760aa50c44 ui/doom-dashboard: De-hardcode dashboard faces 2020-01-02 23:18:19 -05:00
Henrik Lissner
f05f4d2b59
Replace search docs button w/ open docs on dashboard
It is more helpful to newcomers.
2019-12-29 16:34:21 -05:00
Henrik Lissner
934e4fc06f
ui/doom-dashboard: fix vertical padding #2251 2019-12-26 01:41:45 -05:00
Henrik Lissner
0b4356a7d5
Fix 'search documentation' button on dashboard 2019-12-26 01:41:44 -05:00
Henrik Lissner
8386c95fb1
ui/doom-dashboard: fix fix for #2219
What a fix
2019-12-21 03:30:44 -05:00
Henrik Lissner
960f403e2e
Fix misaligned dashboard on workspace switch #2219
Only occurs in daemon GUI frames, for some reason.
2019-12-21 01:49:10 -05:00
Henrik Lissner
fbf9010c80
Log benchmark whether or not dashboard is enabled 2019-11-08 16:02:06 -05:00
Henrik Lissner
c37bdf71d1
Demote "no more buttons" error to warning
If the shortmenu or buttons were disabled, this error would break the
dashboard (and Doom).

Mentioned in #2024
2019-11-08 16:02:06 -05:00
Gerry Agbobada
b1e8ee7175 Add 'Search Documentation' button to dashboard (#1955)
* Add an FAQ action to doom-dashboard

* Separate faq and user manual

This is necessary until I can dispatch properly the (file-exists-p)
conditions in the :action part of the variable.

The issue is that the value in :action needs to be a symbol (symbolp)
and the (if COND THEN ELSE) form does not match this.

* Use doom/help-search if (or faq.org manual.org)

Since the function searches through the (in-progress) manual and faq

* Remove :when condition from Search Documentation

This condition is unnecessary since doom/help-search now always at least
lists the modules from doom/help-modules
2019-10-26 04:15:32 -04:00
Henrik Lissner
323e0adf45
Minor refactors & reformatting across the board 2019-10-17 01:47:58 -04:00
Henrik Lissner
05f458a75b
Disable benchmark in minibuffer if dashboard is enabled
Redundant; also, printing to minibuffer during startup is somewhat
expensive.
2019-10-06 02:28:44 -04:00
Henrik Lissner
8766499b0d
Fix some file permissions errors
Occurs when deferred packages are loaded while in an unreadable or
non-existent directory.
2019-08-27 00:05:12 -04:00
Henrik Lissner
6c734ab039
ui/doom-dashboard: use fancy-splash-image variable 2019-08-23 01:56:44 -04:00
Henrik Lissner
71d3eccec5
Fix missing dir separator in +doom-dashboard-banner-dir 2019-07-29 03:18:39 +02:00
Henrik Lissner
ee10b3b0d9
core-lib: add doom-{glob,path,dir}, replace {file,dir}!
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
  segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
2019-07-22 02:30:39 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
a1c1d8818a
Fix #1456: handle remote PWDs in dashboard
Otherwise, invisible TRAMP authentication prompts would hang Emacs.
2019-06-11 16:21:37 +02:00
Henrik Lissner
4dbf8f206b
ui/doom-dashboard: refactor & optimize
Potentially addresses crashing issues caused by the dashboard.

Relevant to #1170
2019-05-15 15:22:08 -04:00
Henrik Lissner
6b69eaa397
Minor refactors across the board 2019-04-26 17:42:44 -04:00
Henrik Lissner
12a3adab2c
ui/doom-dashboard: fix evil motion keys #1365
Because :feature evil was moved to :editor evil, it is initialized
later, meaning evil map! keybinds prior to that module loading are
ignored. There's no harm in generalizing these remaps, however.
2019-04-26 17:29:54 -04:00
Henrik Lissner
f934f38627
ui/doom-dashboard: general refactor
Hopefully addresses #1170
2019-04-08 22:58:10 -04:00
Andrew Whatson
1081095a64 Initialize dashboard later on doom-init-ui-hook 2019-03-15 16:26:48 +10:00
Henrik Lissner
de2d681567
Initialize dashboard on doom-init-ui-hook 2019-03-15 01:36:57 -04:00
Andrew Whatson
910bfc41cc Initialize dashboard later in window-setup-hook
Since bb3f027c moved `projectile-mode` into `doom-init-ui-hook`,
projectile was getting initialized after the dashboard.  This means for
non-evil users, the `C-c p p` binding is not shown, because it's not yet
loaded.
2019-03-15 13:51:22 +10:00