Core Fighter (corefighter.el
) lets you choose the next action in Emacs. With properly configured modules, it fetches information from external sources and arranges tasks for you.
- Multiple interfaces: Sidebar, helm, and no window
- Extensibility through modules
- List-oriented: Each module is a feed that provides links to items
- Emacs 25.1
- page-break-lines
- dash.el
- ov.el
An example configuration with use-package
(and straight.el) is:
(use-package corefighter
;; If you use straight.el
:straight (corefighter :host github
:repo "akirak/corefighter.el"
:files
(:defaults
(:exclude "helm-corefighter.el")))
:commands (corefighter-sidebar
corefighter-next-item
corefighter-next-module
corefighter-first-item)
:init
(global-set-key (kbd "C-c h") #'corefighter-sidebar)
(global-set-key (kbd "<S-f12>") #'corefighter-next-item)
:config
;; Configure the module list
(setq corefighter-modules
'((corefighter-org-agenda)))
(corefighter-load-modules))
;; helm-corefighter (optional)
(use-package helm-corefighter
:straight (helm-corefighter :host github :repo "akirak/corefighter.el"
:files ("helm-corefighter.el"))
:commands (helm-corefighter))
If you don’t use use-package
, you probably can configure it like this:
(autoload 'corefighter-sidebar "corefighter")
(setq corefighter-modules
'((corefighter-org-agenda)))
(with-eval-after-load 'corefighter
(corefighter-load-modules))
;; helm-corefighter (optional)
(autoload 'helm-corefighter "helm-corefighter")
That is, you have to set corefighter-modules
variable properly (which is described in the subsequent subsection) and then call (corefighter-load-modules)
after that.
See this wiki page.
Run corefighter-sidebar
to pop up a sidebar window.
There is also helm-corefighter
command, which lets you browse items via Helm. In the Helm session, you can use helm-persistent-action
(C-j
) to preview an item without closing Helm.
You can even navigate to an item without any extra window using the following commands:
corefighter-next-item
visits the next item or the first item in the next module (or even another module if it doesn’t have an item).corefighter-next-module
visits the first item the next module.corefighter-first-item
visits the first item in all modules.
The following keybindgs are available in the sidebar buffer:
n
/p
to go to the next/previous linkRET
to follow the link, andSPC
to open the link but remain in the sidebar windowTAB
/S-TAB
to go to the next/previous sectiong
to refresh- With a prefix,
g
reloads items in all modules.
- With a prefix,
q
to close the window
- Dashboard is a buffer displayed in a normal Emacs window. Core Fighter is a sidebar.
- While Dashboard allows you to freely layout individual sections (called widgets), the main dashboard application is less aware of its contents. Core Fighter is based on a list-oriented model of modules, so modules are more introspective.
Sauron is a background application to keep track of events in Emacs. In theory, Core Fighter can support features similar to Sauron by updating items in the background by watching external stuffs. Or maybe a Sauron module can be added to Core Fighter.
The following is a list of features to add to make Core Fighter compete with Sauron:
- [ ] Manage notifications
- [ ] A pop-up window to display urgent items/modules
- [ ] Integration with alert
Yoke.io is a web application that displays statuses of a bunch of external services. The module model of Core Fighter is analogous to the card model of Yoke.io. Core Fighter wishes to become Yoke.io for Emacs.