diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2024-05-10 01:04:38 +0530 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2024-05-10 01:04:38 +0530 |
commit | a082b261e267f98878e7be58fe062305c786d9a8 (patch) | |
tree | 314afc6e7c4b989326c8c6c8d47b83b5ed514849 /Emacs/.config | |
parent | 72950829d3a3b831a4bd3f02e88c40d35730c37f (diff) | |
download | dotfiles-a082b261e267f98878e7be58fe062305c786d9a8.tar.gz dotfiles-a082b261e267f98878e7be58fe062305c786d9a8.tar.bz2 dotfiles-a082b261e267f98878e7be58fe062305c786d9a8.zip |
(Emacs/config)-telephone-line
Mode line also now includes project name in mode line
Diffstat (limited to 'Emacs/.config')
-rw-r--r-- | Emacs/.config/emacs/config.org | 85 |
1 files changed, 7 insertions, 78 deletions
diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org index 61c60f5..ae8d3d3 100644 --- a/Emacs/.config/emacs/config.org +++ b/Emacs/.config/emacs/config.org @@ -309,21 +309,14 @@ little. I customised the Emacs modeline to give me a bit of info, Currently I use the default mode line with some customisation; simplicity is above all. -*** Emacs Mode-line -#+begin_src emacs-lisp -(defun +mode-line/generate-padding () - (let ((wid (frame-width)) - (str "")) - (dotimes (n (floor (/ wid 7))) - (setq str (concat str " "))) - str)) +#+begin_src emacs-lisp (setq-default mode-line-format (list "%l:%c " ;; Line and column - "%p[" ;; Where in file + Evil state - '(:eval (with-eval-after-load "evil" + "%p[" ;; %into file + '(:eval (with-eval-after-load "evil" ;; Evil state (upcase (substring (format "%s" (if (bound-and-true-p evil-state) @@ -331,79 +324,15 @@ simplicity is above all. " ")) 0 1)))) "] " - "%+%b(" + "%+%b(" ;; Buffer name '(:eval (format "%s" major-mode)) ") " - "%I " - '(:eval (+mode-line/generate-padding)) - '(vc-mode vc-mode) + "%I " ;; file size + '(:eval (project-name (project-current))) + '(vc-mode vc-mode) ;; git branch mode-line-misc-info mode-line-end-spaces)) #+end_src -*** WAIT Telephone-line -:PROPERTIES: -:header-args:emacs-lisp: :tangle no -:END: -Telephone-line is a mode-line package for Emacs which prioritises -extensibility. It also looks much nicer than the default mode line -with colouring and a ton of presentations to choose from. -#+begin_src emacs-lisp -(use-package telephone-line - :init - (defface +telephone/position-face '((t (:foreground "red" :background "grey10"))) "") - (defface +telephone/mode-face '((t (:foreground "white" :background "dark green"))) "") - (defface +telephone/file-info-face '((t (:foreground "white" :background "Dark Blue"))) "") - :custom - (telephone-line-faces - '((evil . telephone-line-modal-face) - (modal . telephone-line-modal-face) - (ryo . telephone-line-ryo-modal-face) - (accent . (telephone-line-accent-active . telephone-line-accent-inactive)) - (nil . (mode-line . mode-line-inactive)) - (position . (+telephone/position-face . mode-line-inactive)) - (mode . (+telephone/mode-face . mode-line-inactive)) - (file-info . (+telephone/file-info-face . mode-line-inactive)))) - (telephone-line-primary-left-separator 'telephone-line-halfcos-left) - (telephone-line-secondary-left-separator 'telephone-line-halfcos-hollow-left) - (telephone-line-primary-right-separator 'telephone-line-identity-right) - (telephone-line-secondary-right-separator 'telephone-line-identity-hollow-right) - (telephone-line-height 24) - (telephone-line-evil-use-short-tag nil) - :config - (telephone-line-defsegment +telephone/buffer-or-filename () - (cond - ((buffer-file-name) - (if (and (fboundp 'projectile-project-name) - (fboundp 'projectile-project-p) - (projectile-project-p)) - (list "" - (funcall (telephone-line-projectile-segment) face) - (propertize - (concat "/" - (file-relative-name (file-truename (buffer-file-name)) - (projectile-project-root))) - 'help-echo (buffer-file-name))) - (buffer-file-name))) - (t (buffer-name)))) - - (telephone-line-defsegment +telephone/get-position () - `(,(concat "%lL:%cC" - (if (not mark-active) - "" - (format " | %dc" (- (+ 1 (region-end)) (region-beginning))))))) - - (setq-default - telephone-line-lhs '((mode telephone-line-major-mode-segment) - (file-info telephone-line-input-info-segment) - (position +telephone/get-position) - (accent +telephone/buffer-or-filename - telephone-line-process-segment)) - telephone-line-rhs '((accent telephone-line-flycheck-segment telephone-line-misc-info-segment - telephone-line-projectile-segment) - (file-info telephone-line-filesize-segment) - (evil telephone-line-evil-tag-segment))) - (telephone-line-mode)) -#+end_src ** Mouse Who uses a mouse? 🤮 #+begin_src emacs-lisp |