From 858852ffd167562474deb3095abf09473313ca27 Mon Sep 17 00:00:00 2001 From: issue-dispenser Date: Sun, 8 Nov 2015 12:25:57 -0600 Subject: [PATCH 1/2] Add light powerline theme Adds a light powerline theme based on smart-mode-line-light-theme --- .../smart-mode-line-light-powerline-theme.el | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 themes/smart-mode-line-light-powerline-theme.el diff --git a/themes/smart-mode-line-light-powerline-theme.el b/themes/smart-mode-line-light-powerline-theme.el new file mode 100644 index 0000000..dea99bc --- /dev/null +++ b/themes/smart-mode-line-light-powerline-theme.el @@ -0,0 +1,126 @@ +;;; smart-mode-line-light-powerline-theme.el --- light smart-mode-line theme that mimics the powerline appearance. + +;; Copyright (C) 2015 Artur Malabarba + +;; Author: Artur Malabarba +;; URL: http://github.com/Bruce-Connor/smart-mode-line +;; Version: 0.1a +;; Package-Requires: ((emacs "24.3") (powerline "2.2") (smart-mode-line "2.5")) +;; Keywords: mode-line faces themes +;; Separator: - + +;;; License: +;; +;; This file is NOT part of GNU Emacs. +;; +;; 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 2 +;; 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. +;; + +;;; Change Log: +;; 0.1a - 2015/11/08 - Created File. + +;;; Code: + +(deftheme smart-mode-line-light-powerline + "Light powerline theme for smart-mode-line. +Mimics the appearance of powerline.") + +(require 'powerline) + +(set-face-attribute 'powerline-active1 nil :inherit 'sml/global :background "Grey70") +(set-face-attribute 'powerline-active2 nil :inherit 'sml/global :background "Grey57") +(let ((l0 "grey85") + (l3 (face-background 'powerline-active1)) + (l8 (face-background 'powerline-active2)) + (separator-left + '(intern (format "powerline-%s-%s" + powerline-default-separator + (car powerline-default-separator-dir)))) + (separator-right + '(intern (format "powerline-%s-%s" + powerline-default-separator + (cdr powerline-default-separator-dir))))) + (custom-theme-set-faces + 'smart-mode-line-light-powerline + `(mode-line-buffer-id ((t :inherit sml/filename :foreground nil :background nil))) + `(mode-line-inactive ((((background dark)) :foreground "grey20" :background ,l0 + :slant italic :box (:line-width -3 :color "black")) + (((background light)) :foreground "grey20" :background ,l0 + :slant italic :box (:line-width -2 :color "white")))) + `(mode-line ((t :foreground "black" :background ,l0 :box (:line-width -1 :color "white")))) + `(sml/global ((t :foreground "grey20" :inverse-video nil))) + + ;; Layer 0 + `(sml/line-number ((t :foreground "Black" :inherit sml/global :weight bold :background ,l0))) + `(sml/remote ((t :inherit sml/global :background ,l0))) + `(sml/col-number ((t :inherit sml/global :background ,l0))) + `(sml/numbers-separator ((t :inherit sml/col-number :background ,l0))) + `(sml/client ((t :inherit sml/prefix :background ,l0))) + `(sml/mule-info ((t :inherit sml/global :background ,l0))) + `(sml/not-modified ((t :inherit sml/global :background ,l0))) + '(sml/read-only ((t :inherit sml/not-modified :foreground "DarkGreen" :weight bold))) + + ;; 3 + `(sml/prefix ((t :background ,l3 :inherit sml/global :foreground "#5b2507" :weight bold))) + `(sml/filename ((t :background ,l3 :inherit sml/global :foreground "Blue" :weight bold))) + `(sml/sudo ((t :background ,l3 :inherit sml/outside-modified))) + `(sml/git ((t :background ,l3 :inherit (sml/read-only sml/prefix)))) + `(sml/folder ((t :background ,l3 :inherit sml/global :weight normal :foreground "Black"))) + + ;; 8 + `(sml/name-filling ((t :background ,l8 :inherit sml/prefix :weight normal))) + `(sml/position-percentage ((t :background ,l8 :inherit sml/prefix :weight normal :foreground "#330000"))) + `(sml/modes ((t :background ,l8 :inherit sml/global :foreground "Gray10"))) + `(sml/process ((t :background ,l8 :inherit sml/prefix))) + `(sml/vc ((t :background ,l8 :inherit sml/git :foreground "#0000aa"))) + `(sml/vc-edited ((t :background ,l8 :inherit sml/prefix :foreground "#330000"))) + + ;; 3 + ;; minor modes + `(sml/minor-modes ((t :inherit sml/folder))) + + ;; 0 + `(sml/discharging ((t :background ,l0 :inherit sml/global :foreground "Red"))) + `(sml/time ((t :background ,l0 :inherit sml/global))) + + `(persp-selected-face ((t :foreground "ForestGreen" :inherit sml/filename))) + `(helm-candidate-number ((t :foreground nil :background nil :inherit sml/filename)))) + (custom-theme-set-variables + 'smart-mode-line-light-powerline + '(sml/mode-width (if (eq powerline-default-separator 'arrow) 'right 'full)) + `(sml/pre-id-separator + '("" + (:propertize " " face sml/global) + (:eval (propertize " " 'display (funcall ,separator-left nil 'powerline-active1))) + (:propertize " " face powerline-active1))) + `(sml/pos-id-separator + '("" + (:propertize " " face powerline-active1) + (:eval (propertize " " 'display (funcall ,separator-left 'powerline-active1 'powerline-active2))) + (:propertize " " face powerline-active2))) + `(sml/pre-minor-modes-separator + '("" (:propertize " " face powerline-active2) + (:eval (propertize " " 'display (funcall ,separator-right 'powerline-active2 'powerline-active1))) + (:propertize " " face powerline-active1))) + `(sml/pos-minor-modes-separator + '("" (:propertize " " face powerline-active1) + (:eval (propertize " " 'display (funcall ,separator-right 'powerline-active1 nil))) + (:propertize " " face sml/global))) + '(sml/pre-modes-separator + (propertize " " 'face 'sml/modes)))) + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'smart-mode-line-light-powerline) +;;; smart-mode-line-light-powerline-theme.el ends here. From 60dc92a70596bf6751560eb8394b96c6bf04c999 Mon Sep 17 00:00:00 2001 From: issue-dispenser Date: Sun, 8 Nov 2015 14:46:31 -0600 Subject: [PATCH 2/2] Add light powerline screenshot in readme --- README.org | 5 ++++- screenshot-light-powerline-theme.png | Bin 0 -> 14880 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 screenshot-light-powerline-theme.png diff --git a/README.org b/README.org index 6a8aedf..0d494ef 100644 --- a/README.org +++ b/README.org @@ -17,7 +17,10 @@ and /smart truncation/. *Powerline Theme*\\ [[https://raw.github.com/Malabarba/smart-mode-line/master/screenshot-powerline-theme.png]] -(Note: to use the powerline theme, install the +*Light Powerline Theme*\\ +[[https://raw.github.com/Malabarba/smart-mode-line/master/screenshot-light-powerline-theme.png]] + +(Note: to use either powerline theme, install the =smart-mode-line-powerline-theme= package from MELPA) *Solarized Dark Theme*\\ diff --git a/screenshot-light-powerline-theme.png b/screenshot-light-powerline-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce4bf531d1dc4975b3ec5a9bab4d0787cfd8ccc GIT binary patch literal 14880 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%0D;K8RY0;g3 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