Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zonuexe/emacs-presentation-mode
Display large character for presentation and live coding
https://github.com/zonuexe/emacs-presentation-mode
Last synced: 15 days ago
JSON representation
Display large character for presentation and live coding
- Host: GitHub
- URL: https://github.com/zonuexe/emacs-presentation-mode
- Owner: zonuexe
- License: gpl-3.0
- Created: 2018-04-06T16:58:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-05-09T04:27:30.000Z (over 6 years ago)
- Last Synced: 2024-10-27T05:21:38.091Z (about 2 months ago)
- Language: Emacs Lisp
- Homepage:
- Size: 2.15 MB
- Stars: 47
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: COPYING
Awesome Lists containing this project
README
* Emacs Presentation Mode
*Presentation mode* is a global minor mode to zoom characters. This mode applies the effect of ~text-scale-mode~ to all buffers.
This feature help you to present Emacs edit / operation to the audience in front of the screen.[[./emacs-presentation.jpg]]
** How to use
1. Execute ~M-x presentation-mode~ to start the presentation.
2. Adjust scale size by ~C-x C-+~ or ~C-x C--~
See https://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Scale.html
3. After the presentation, execute ~M-x presentation-mode~ again.
4. And then execute ~M-x presentation-mode~ again, the last scale will be reproduced.
5. If you want to persistize its size as the default size of presentation-mode
after restarting Emacs, set ~presentation-default-text-scale~.** Notice
*** Not for "persistent font size change"
It is well known that how to change the font size of Emacs in GUI is difficult.
However, this mode is *NOT* intended for permanent font size change.
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Parameter-Access.html
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Frame-Parameters.html** Customization
You can switch modes for screen decoration by defining hook for on/off.
#+BEGIN_SRC emacs-lisp
(defun my-presentation-on ()
(helm-mode -1)
;; (global-display-line-numbers-mode -1)
(ido-ubiquitous-mode 1)
(bind-key "M-x" #'smex))(defun my-presentation-off ()
(ido-ubiquitous-mode -1)
;; (global-display-line-numbers-mode 1)
(helm-mode 1)
(bind-key "M-x" #'helm-smex))(add-hook 'presentation-on-hook #'my-presentation-on)
(add-hook 'presentation-off-hook #'my-presentation-off)
#+END_SRC
Typically it is on/off of ~display-line-numbers-mode~ (or ~linum-mode~) /(although I do not use it)/.
I normally use [[https://emacs-helm.github.io/helm/][Helm]], but I think that [[https://www.gnu.org/software/emacs/manual/html_node/ido/index.html][IDO]] is more compact and easy to see during presentation.
** Difference from other methods
*** vs [[https://www.emacswiki.org/emacs/GlobalTextScaleMode][GlobalTextScaleMode]] (Emacs Wiki)
Although the content of this article is simple, it does not provide a way to recover buffers.
*** vs [[https://github.com/takaxp/moom][moom]]
~moom~ package has flexible frame control and font size change function.
Its font size change function is controlled by a mechanism different from ~presentation.el~.
*** vs [[https://github.com/purcell/default-text-scale][default-text-scale]]
~default-text-scale~ package is an implementation that replaces ~text-scale-mode~.
This package is probably not compatible with ~presentation.el~, but please use this whenever you want to synchronize font size at all times, not only for presentation use.
*** vs [[https://github.com/takaxp/org-tree-slide][Org Tree Slide]] and [[https://github.com/rlister/org-present][org-present]]
These packages are simple presentations using org-mode.
By using these with org-babel, it may be possible to perform live coding of arbitrary languages.** Video
[[./emacs-presentation.gif]]