aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-03-26 20:07:23 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-03-26 20:19:02 +0100
commit2d33e58bd8efaf53d7f898e56fbb9a606f5e8862 (patch)
tree34d5aa870792f7776882744e4d8914ed50046c55
parentceeebf1e0ca15978894801d0d0229fa5db2059de (diff)
downloaddotfiles-2d33e58bd8efaf53d7f898e56fbb9a606f5e8862.tar.gz
dotfiles-2d33e58bd8efaf53d7f898e56fbb9a606f5e8862.tar.bz2
dotfiles-2d33e58bd8efaf53d7f898e56fbb9a606f5e8862.zip
(Emacs)+hide-mode-line package
My custom package to quickly hide and restore the mode line. Olivetti does this automatically but I like having no mode line without the other changes.
-rw-r--r--Emacs/.config/emacs/config.org12
-rw-r--r--Emacs/.config/emacs/elisp/hide-mode-line.el41
2 files changed, 53 insertions, 0 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org
index a0f6731..25d1a74 100644
--- a/Emacs/.config/emacs/config.org
+++ b/Emacs/.config/emacs/config.org
@@ -1429,6 +1429,18 @@ Nice set of icons with a great user interface to manage them.
(insert-leader
"e" #'all-the-icons-insert))
#+end_src
+** Hide mode line
+Custom minor mode to toggle the mode line. Check it out at
+[[file:elisp/hide-mode-line.el][elisp/hide-mode-line.el]].
+#+begin_src emacs-lisp
+(use-package hide-mode-line
+ :straight nil
+ :load-path "elisp/"
+ :defer t
+ :general
+ (mode-leader
+ "m" #'hide-mode-line-mode))
+#+end_src
** Save place
Saves current place in a buffer permanently, so on revisiting the file
(even in a different Emacs instance) you go back to the place you were
diff --git a/Emacs/.config/emacs/elisp/hide-mode-line.el b/Emacs/.config/emacs/elisp/hide-mode-line.el
new file mode 100644
index 0000000..a16667d
--- /dev/null
+++ b/Emacs/.config/emacs/elisp/hide-mode-line.el
@@ -0,0 +1,41 @@
+;;; hide-mode-line.el --- Hide the modeline super easy -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023 Aryadev Chavali
+
+;; Author: Aryadev Chavali <aryadev@aryadevchavali.com>
+;; Keywords:
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Defines a minor mode which toggles off the mode line.
+
+;;; Code:
+
+(defvar hide-mode-line--prev-mode-line nil)
+
+(define-minor-mode
+ hide-mode-line-mode
+ "Hides the mode line."
+ :lighter nil
+ (if mode-line-format
+ (progn
+ (setq-local hide-mode-line--prev-mode-line mode-line-format)
+ (setq-local mode-line-format nil))
+ (setq-local mode-line-format hide-mode-line--prev-mode-line)))
+
+
+(provide 'hide-mode-line)
+;;; hide-mode-line.el ends here