;;; packages.el --- Spacemacs UI Visual Layer packages File ;; ;; Copyright (c) 2012-2021 Sylvain Benner & Contributors ;; ;; Author: Sylvain Benner ;; URL: https://github.com/syl20bnr/spacemacs ;; ;; 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 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 . (setq spacemacs-visual-packages '( all-the-icons (ansi-colors :location built-in) desktop ;; `display-fill-column-indicator' is available in Emacs 27+ (display-fill-column-indicator :location built-in :toggle (boundp 'display-fill-column-indicator)) (fill-column-indicator :toggle (not (boundp 'display-fill-column-indicator))) hl-todo popup popwin (zoom-frm :location local))) (defun spacemacs-visual/init-all-the-icons () (use-package all-the-icons :defer t)) (defun spacemacs-visual/init-ansi-colors () (add-hook 'compilation-filter-hook 'spacemacs-visual//compilation-buffer-apply-ansi-colors)) (defun spacemacs-visual/init-desktop () (use-package desktop :defer t :init (setq desktop-dirname spacemacs-cache-directory) :config (add-to-list 'desktop-path spacemacs-cache-directory))) (defun spacemacs-visual/init-display-fill-column-indicator () (spacemacs|add-toggle fill-column-indicator :mode display-fill-column-indicator-mode :documentation "Display the fill column indicator." :evil-leader "tf") (spacemacs|add-toggle fill-column-indicator-globally :mode global-display-fill-column-indicator-mode :documentation "Display the fill column indicator globally." :evil-leader "t C-f") (with-eval-after-load 'display-fill-column-indicator ;; manually register the minor mode since it does not define any ;; lighter (add-to-list 'minor-mode-alist '(display-fill-column-indicator-mode "")) (spacemacs|diminish display-fill-column-indicator-mode " ⓕ" " f"))) (defun spacemacs-visual/init-fill-column-indicator () (use-package fill-column-indicator :defer t :spacediminish ((fci-mode " ⓕ" " f")) :init (progn (setq fci-rule-width 1) ;; manually register the minor mode since it does not define any ;; lighter (add-to-list 'minor-mode-alist '(fci-mode "")) (spacemacs|add-toggle fill-column-indicator :status fci-mode :on (turn-on-fci-mode) :off (turn-off-fci-mode) :documentation "Display the fill column indicator." :evil-leader "tf")))) (defun spacemacs-visual/init-hl-todo () (use-package hl-todo :defer t :init ;; global hook activates hl-todo-mode for prog-mode, text-mode ;; mode can be explicitly defined using hl-todo-activate-in-modes variable (global-hl-todo-mode 1))) (defun spacemacs-visual/init-popup ()) (defun spacemacs-visual/init-popwin () (use-package popwin :config (progn (popwin-mode 1) (spacemacs/set-leader-keys "wpm" 'popwin:messages) (spacemacs/set-leader-keys "wpp" 'popwin:close-popup-window) (spacemacs/set-leader-keys "rw" 'spacemacs/last-popwin) ;; don't use default value but manage it ourselves (setq popwin:special-display-config nil) ;; buffers that we manage (push '("*quickrun*" :dedicated t :position bottom :stick t :noselect t :height 0.3) popwin:special-display-config) (push '("*Help*" :dedicated t :position bottom :stick t :noselect t :height 0.4) popwin:special-display-config) (push '("*Process List*" :dedicated t :position bottom :stick t :noselect nil :height 0.4) popwin:special-display-config) (push '(compilation-mode :dedicated nil :position bottom :stick t :noselect t :height 0.4) popwin:special-display-config) (push '(dap-server-log-mode :dedicated nil :position bottom :stick t :noselect t :height 0.4) popwin:special-display-config) (push '("*Shell Command Output*" :dedicated t :position bottom :stick t :noselect nil ) popwin:special-display-config) (push '("*Async Shell Command*" :dedicated t :position bottom :stick t :noselect nil ) popwin:special-display-config) (push '("*undo-tree*" :dedicated t :position right :stick t :noselect nil :width 60) popwin:special-display-config) (push '("*undo-tree Diff*" :dedicated t :position bottom :stick t :noselect nil :height 0.3) popwin:special-display-config) (push '("*ert*" :dedicated t :position bottom :stick t :noselect nil ) popwin:special-display-config) (push '("*grep*" :dedicated t :position bottom :stick t :noselect nil ) popwin:special-display-config) (push '("*nosetests*" :dedicated t :position bottom :stick t :noselect nil ) popwin:special-display-config) (push '("^\*WoMan.+\*$" :regexp t :position bottom ) popwin:special-display-config) (push '("*Google Translate*" :dedicated t :position bottom :stick t :noselect t :height 0.4) popwin:special-display-config) (advice-add 'popwin:match-config :around #'spacemacs/advice-popwin)))) (defun spacemacs-visual/init-zoom-frm () (use-package zoom-frm :commands (zoom-frm-unzoom zoom-frm-out zoom-frm-in) :init (progn (spacemacs|define-transient-state zoom-frm :title "Zoom Frame Transient State" :doc " [_+_/_=_/_k_] zoom frame in [_m_] max frame [_-_/___/_j_] zoom frame out [_f_] fullscreen [_0_]^^^^ reset zoom [_q_] quit" :bindings ("+" spacemacs/zoom-frm-in) ("=" spacemacs/zoom-frm-in) ("k" spacemacs/zoom-frm-in) ("-" spacemacs/zoom-frm-out) ("_" spacemacs/zoom-frm-out) ("j" spacemacs/zoom-frm-out) ("0" spacemacs/zoom-frm-unzoom) ("f" spacemacs/toggle-frame-fullscreen-non-native) ("m" spacemacs/toggle-maximize-frame) ("q" nil :exit t)) (spacemacs/set-leader-keys "zf" 'spacemacs/zoom-frm-transient-state/body) ;; Font size, either with ctrl + mouse wheel (global-set-key (kbd "") 'spacemacs/zoom-frm-in) (global-set-key (kbd "") 'spacemacs/zoom-frm-out))))