From a64eebaff27bfc41313a8d3149c24369c21de3d0 Mon Sep 17 00:00:00 2001 From: Blendoit Date: Tue, 3 Nov 2020 23:04:16 -0800 Subject: Header and mode line, global-tab-line-mode, --- custom.el | 3 ++- smart-documents.org | 30 +++++++++++++++++++----------- themes/blendoit-light-theme.el | 14 ++++++++------ 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/custom.el b/custom.el index 8e105f2..93653be 100644 --- a/custom.el +++ b/custom.el @@ -15,10 +15,11 @@ '(company-quickhelp-color-foreground "#DCDCCC") '(custom-enabled-themes nil) '(custom-safe-themes - '("6dd0e1980e88c5bc5c4c9ab1e8b16b13287a4fa5a2e11970c0d26dfbcf2d62f3" "e479b796a220addcd20678fbb95018e4945ca574ba9900b54d107ed1569c704c" "46d1602c1e28e6223fec2bcd008312bc57a08e5ccc8c2ac35c40e6a5d2a20244" "57c9cc95433eb236e74a3b501d3bebb2716e1988cf633c47384d33d8a83a7940" "1229a1fe390f71ddeec71efd61129af285d032364a1957f9954845a6c5f617a1" "42350b596ca9d6a283ce13efb9bbb7774064d917e04ea3220ebf32b95a677d60" "07b0edb4d75390504029f7905ca8add46af2c8bb13cec46efb0d880de014464c" "884b3999dfeff6d4f45859239a46b84399ab1b3602dd2ee6d11f3a3e39fe088d" "0c5c0078062fafd063a227b4cebb49b65434ea6e9557e3aaf8bc3212ba986512" "469032293efae7c0c86a95c39cab8b0ff8883cf4af3f2c292313cf6a71195b40" "8fb0949f4229860cf19034b924eb99c664327c9250fb92a2633bdf4b4abaf060" "c3a2a37e84e474c73c2b468553f9b5b73341419f72bbc1f4a4bcc1230ef86c85" "6495716176be0ced4142593b94a410135e0b373b686a869637824260d2f1ca11" "4467b1c8d7cc78fe98345c9c63eb62cf37844dc6868630add365494bde455715" "faeef63cb31f796b4bdf22f38e614934ab34d7deacaeb89b3e9cccf70aac5a85" "370fb305168fea1614535dc9ca30f496918eaca754b6c8969dd77fa872bec695" "e9f0c0c3397d07eb1c6c3551d67fd151e24bc6d72ec678841623ed572677c97a" "5c32236ef318adafe4102f627f330fa8f448046dfd838eef5cc09c7f682cf71f" "e343fecfb8d681186d594002c9b44ce48c2061599d7e4ec635cf1ca2a277a47a" "302dc61dc55600c7424f945dce9e74fba7df19f4a7bfb72aefd93193fa82ede4" "58f1f85248ba913387d1e7ed02a867161b315cfb5acff0c234e013ffd2577d22" "a256abf590bbc3257cc11d91a312e9fe8487dc1b95a5b7b732dd2f96a7fe5a45" "30368d6195cae9298304e6ac0534b90c85b1655965f1206c5c624270f0f46002" "311aa5df3223b5b4a7c638aad3befb4de9c7f46360d52acd1fa2cd2232b1dcbd" default)) + '("bac014130231bcb21409a5ba0368ae6a437d36cb3cd710a814c2b8399dacd0a3" "3db2664cf7a2f3ca8add66736e8b432ad7aed88159c74dc220ffdc0580d37ffa" "41d8c624783c3bf1624ac595936a6968fbd7297ffdc40a0c9b080fa750027df0" "abf6e5f8aa2af79ac329a7bfcac3111dab0025ce3eaea24e424fb9e3e77e1162" "6dd0e1980e88c5bc5c4c9ab1e8b16b13287a4fa5a2e11970c0d26dfbcf2d62f3" "e479b796a220addcd20678fbb95018e4945ca574ba9900b54d107ed1569c704c" "46d1602c1e28e6223fec2bcd008312bc57a08e5ccc8c2ac35c40e6a5d2a20244" "57c9cc95433eb236e74a3b501d3bebb2716e1988cf633c47384d33d8a83a7940" "1229a1fe390f71ddeec71efd61129af285d032364a1957f9954845a6c5f617a1" "42350b596ca9d6a283ce13efb9bbb7774064d917e04ea3220ebf32b95a677d60" "07b0edb4d75390504029f7905ca8add46af2c8bb13cec46efb0d880de014464c" "884b3999dfeff6d4f45859239a46b84399ab1b3602dd2ee6d11f3a3e39fe088d" "0c5c0078062fafd063a227b4cebb49b65434ea6e9557e3aaf8bc3212ba986512" "469032293efae7c0c86a95c39cab8b0ff8883cf4af3f2c292313cf6a71195b40" "8fb0949f4229860cf19034b924eb99c664327c9250fb92a2633bdf4b4abaf060" "c3a2a37e84e474c73c2b468553f9b5b73341419f72bbc1f4a4bcc1230ef86c85" "6495716176be0ced4142593b94a410135e0b373b686a869637824260d2f1ca11" "4467b1c8d7cc78fe98345c9c63eb62cf37844dc6868630add365494bde455715" "faeef63cb31f796b4bdf22f38e614934ab34d7deacaeb89b3e9cccf70aac5a85" "370fb305168fea1614535dc9ca30f496918eaca754b6c8969dd77fa872bec695" "e9f0c0c3397d07eb1c6c3551d67fd151e24bc6d72ec678841623ed572677c97a" "5c32236ef318adafe4102f627f330fa8f448046dfd838eef5cc09c7f682cf71f" "e343fecfb8d681186d594002c9b44ce48c2061599d7e4ec635cf1ca2a277a47a" "302dc61dc55600c7424f945dce9e74fba7df19f4a7bfb72aefd93193fa82ede4" "58f1f85248ba913387d1e7ed02a867161b315cfb5acff0c234e013ffd2577d22" "a256abf590bbc3257cc11d91a312e9fe8487dc1b95a5b7b732dd2f96a7fe5a45" "30368d6195cae9298304e6ac0534b90c85b1655965f1206c5c624270f0f46002" "311aa5df3223b5b4a7c638aad3befb4de9c7f46360d52acd1fa2cd2232b1dcbd" default)) '(electric-indent-mode nil) '(fci-rule-color "#383838") '(fringe-mode 0 nil (fringe)) + '(global-tab-line-mode t) '(indicate-empty-lines t) '(line-number-mode t) '(message-required-headers '((optional . References) From)) diff --git a/smart-documents.org b/smart-documents.org index 7682532..e393ffb 100644 --- a/smart-documents.org +++ b/smart-documents.org @@ -617,8 +617,8 @@ them corrupts tables. We enable the dynamic numbering of headlines in an Org buffer. -#+BEGIN_SRC emacs-lisp :tangle no -; (add-hook 'org-mode-hook 'org-num-mode) +#+BEGIN_SRC emacs-lisp :tangle yes +(add-hook 'org-mode-hook 'org-num-mode) #+END_SRC *** Languages executable in smart documents @@ -1110,9 +1110,9 @@ The keybinding for opening a recently visited file is described in paragraph First, we create a function to calculate available width between left and right portions of the header and mode line. -#+NAME: sd-mode-line-render +#+NAME: sd-line-render #+BEGIN_SRC emacs-lisp :tangle yes -(defun sd-mode-line-render (left right) +(defun sd-line-render (left right) "Return a string of `window-width' length containing LEFT, and RIGHT aligned respectively." (let* ((available-width (- (window-width) (length left) 2))) @@ -1124,12 +1124,13 @@ portions of the header and mode line. In Org mode, the document header line will be the title of the document we are working on currently. -#+BEGIN_SRC emacs-lisp :tangle no -(add-hook org-mode-hook +#+BEGIN_SRC emacs-lisp :tangle yes +(add-hook 'org-mode-hook (lambda () - "Set the header line to show #+TITLE and #+DATE." - (setq header-line-format - (concat (save-excursion + "Set the header line to show #+TITLE and #+DATE." + (setq header-line-format + '(:eval (sd-line-render + (save-excursion (goto-char (point-min)) (when (re-search-forward "^[[:space:]]*#\\+TITLE:[[:space:]]*\\(.*?\\)[[:space:]]*$" @@ -1140,7 +1141,7 @@ working on currently. (when (re-search-forward "^[[:space:]]*#\\+DATE:[[:space:]]*\\(.*?\\)[[:space:]]*$" nil t) - (match-string 1))))))) + (match-string 1)))))))) #+END_SRC **** Mode line @@ -1150,7 +1151,7 @@ Then, we use the previously declared function to set up our mode line. #+NAME: mode-line-format #+BEGIN_SRC emacs-lisp :tangle yes (setq-default mode-line-format - '((:eval (sd-mode-line-render + '((:eval (sd-line-render ;; left (format-mode-line "[%*] %b") ;; right @@ -1159,6 +1160,13 @@ Then, we use the previously declared function to set up our mode line. ** Window +*** Tab line + +#+BEGIN_SRC emacs-lisp :tangle yes +(global-tab-line-mode) +#+END_SRC + + ** Buffer Save cursor location in visited buffer after closing it or Emacs. diff --git a/themes/blendoit-light-theme.el b/themes/blendoit-light-theme.el index 6d19a22..6da5113 100644 --- a/themes/blendoit-light-theme.el +++ b/themes/blendoit-light-theme.el @@ -29,9 +29,9 @@ '(font-lock-variable-name-face ((t (:foreground "sienna")))) '(font-lock-warning-face ((t (:inherit (error))))) '(fringe ((t (:background "grey95")))) - '(header-line ((t (:box nil :inherit mode-line :background "grey90" :foreground "grey20")))) + '(header-line ((t (:box nil :inherit mode-line :background "steel blue" :foreground "white")))) '(tooltip ((t (:foreground "black" :background "lightyellow" :inherit (variable-pitch))))) - '(mode-line ((t (:family "Hack" :background "steel blue" :foreground "white" :box (:line-width -1 :style released-button))))) + '(mode-line ((t (:box (:line-width -1 :style released-button) :foreground "white" :background "steel blue" :height 1.2 :family "Hack")))) '(mode-line-buffer-id ((t (:weight bold)))) '(mode-line-emphasis ((t (:weight bold)))) '(mode-line-highlight ((t (:box (:line-width 2 :color "grey40" :style released-button))))) @@ -79,11 +79,13 @@ '(org-date ((t (:foreground "steel blue" :family "Hermit")))) '(Info-quoted ((t (:inherit org-block)))) '(org-priority ((t (:weight bold :inherit org-meta-line)))) - '(powerline-active1 ((t (:inherit mode-line :background "grey17" :foreground "white" :family "Hack")))) - '(powerline-active2 ((t (:inherit (mode-line) :foreground "white" :background "grey40")))) - '(powerline-inactive1 ((t (:inherit mode-line-inactive :background "grey11" :family "Hack")))) - '(powerline-inactive2 ((t (:inherit (mode-line-inactive) :background "grey20")))) '(org-drawer ((t (:inherit org-meta-line)))) + '(tab-line ((t (:background "gainsboro" :family "Hack")))) + '(tab-line-tab ((default (:inherit (tab-line))) (((class color) (min-colors 88)) (:box (:line-width 1 :color nil :style released-button))) (t (:inverse-video nil)))) + '(tab-line-tab-inactive ((t (:inherit tab-line-tab :background "white" :foreground "steel blue")))) + '(tab-line-tab-current ((t (:inherit tab-line-tab :background "grey85" :foreground "red")))) + '(tab-line-close-highlight ((t (:foreground "red")))) + '(tab-line-highlight ((default (:inherit (tab-line-tab))))) '(default ((t (:background "white" :foreground "black" :height 140 :family "Hack"))))) (provide-theme 'blendoit-light) -- cgit v1.2.3