diff options
Diffstat (limited to 'emacs/single-header.el')
| -rw-r--r-- | emacs/single-header.el | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/emacs/single-header.el b/emacs/single-header.el deleted file mode 100644 index 5ca4afc..0000000 --- a/emacs/single-header.el +++ /dev/null @@ -1,131 +0,0 @@ -(defvar single-header--current-header-buffer nil "Read the name") - -(defvar single-header-format '(make-header-info-string) "evaluated to fill the header") - -(defface single-header '((default . (:background "#000000" :family "Source Code Pro"))) "Face for top line") - -(require 'battery) -(defun with-face (str &rest face-plist) - (add-face-text-property 0 (length str) face-plist t str) - str) - -;; disable normal emms-state and move it to the header -;; (require 'emms-state) -;; (setq single-header-emms-state-format-string -;; '(emms-state -;; (" " emms-state -;; (emms-state-current-playing-time -;; (" " -;; (:propertize emms-state-current-playing-time -;; face emms-state-current-playing-time))) -;; (emms-state-total-playing-time -;; ("(" -;; (:propertize emms-state-total-playing-time -;; face emms-state-total-playing-time) -;; ")")) -;; emms-mode-line-string))) -;; (setq emms-state-mode-line-string "") - -(defun make-header-info-string () - "generates the mode line string that contains all the info to the right" - (let ((win (when (buffer-live-p single-header--current-header-buffer) - (get-buffer-window single-header--current-header-buffer))) - (str (concat - (format-time-string "%a, %b %+4Y-%0m-%0d ") - (with-face (format-time-string "%R ") - :weight 'bold) - (with-face (format "<%03.2f> " (car (load-average 1))) - :foreground "#da70d6") - (with-face (let* ((mi (memory-info)) - (tm (float (car mi))) - (fm (float (car (cdr mi)))) - (ts (float (car (cdr (cdr mi))))) - (fs (float (car (cdr (cdr (cdr mi))))))) - (format "{%.2f %.2f} " (- 1 (/ fm tm)) (- 1 (/ fs ts)))) - :foreground "#00ced1") - (with-face (battery-format "[%b%p%%] " (and battery-status-function (funcall battery-status-function))) - :weight 'bold) - ;; (format-mode-line single-header-emms-state-format-string) - ))) - (setq str (concat str - (cond (win (make-string - (- (window-max-chars-per-line win 'single-header) (length str)) ? )) - (t "")) - )) - (with-face str 'single-header))) - - -(setq global-mode-string '("" (:eval (concat (with-face (format " [%s] " default-directory) - :weight 'bold - :foreground "green2"))))) - -(defun single-header-init-buffer (buf) - (with-current-buffer buf - (insert "header test") - (jit-lock-mode nil) - (font-lock-mode -1) - (buffer-disable-undo) - (setq-local mode-line-format nil) - (setq-local header-line-format nil) - (setq-local cursor-type nil) - (setq-local cursor-in-non-selected-windows nil) - (setq-local overflow-newline-into-fringe nil) - (setq-local word-wrap nil) - (setq-local show-trailing-whitespace nil))) - -(defun single-header-init-window (win) - (with-selected-window win - (set-window-dedicated-p win t) - (set-window-parameter win 'no-other-window t) - (set-window-parameter win 'no-delete-other-windows t) - (set-window-margins win 0 0) - (set-window-fringes win 0 0) - (set-window-scroll-bars win 0 nil 0 nil) - (setq-local window-min-height 1) - (setq-local window-safe-min-height 1) - (let - (window-size-fixed) - (fit-window-to-buffer win 1)) - (setq-local window-size-fixed t) - (when - (fboundp 'window-preserve-size) - (window-preserve-size win nil t)))) - -(defun single-header-show (buf) - "show / make a header" - (if (buffer-live-p buf) - (let ((win (display-buffer-in-side-window buf '((side . top) - (slot . -100))))) - (single-header-init-window win)) - (single-header-make))) - -(defun single-header-make () - "create the fake header line" - (interactive) - (unless (buffer-live-p single-header--current-header-buffer) - (let ((buf (generate-new-buffer "*header*"))) - (single-header-init-buffer buf) - (setq single-header--current-header-buffer buf) - (single-header-show buf)))) - -(defun single-header-delete () - "remove an existing header buffer" - (interactive) - (when (buffer-live-p single-header--current-header-buffer) - (kill-buffer single-header--current-header-buffer))) - -(defun single-header-update () - "update the contents of the header line according to `single-header-format'" - (when (buffer-live-p single-header--current-header-buffer) - (with-current-buffer single-header--current-header-buffer - (erase-buffer) - (insert (eval single-header-format))))) - -(add-hook 'after-make-frame-functions (lambda (frame) - (with-selected-frame frame - (single-header-show single-header--current-header-buffer)))) - -;; do init frame seperately -(single-header-show single-header--current-header-buffer) -(run-with-timer 0 1 'single-header-update) - |
