Tom Willemse
734d5764f8
Instead of setting the fontset things immediately always, check if we’re running as a daemon and if so, delay setting the fontsets until after a frame is created. This will set the fontset for each frame individually. Tweak the font size of the Font Awesome icons to fit better with the rest of the fonts.
90 lines
3 KiB
EmacsLisp
90 lines
3 KiB
EmacsLisp
;;; oni-gui.el --- GUI settings for Emacs -*- lexical-binding: t; -*-
|
||
|
||
;; Copyright (C) 2019 Tom Willemse
|
||
|
||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||
;; Keywords: local
|
||
;; Version: 2020.0409.131343
|
||
;; Package-Requires: (oni-ui oni-hydra yoshi-theme diminish)
|
||
|
||
;; 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 <https://www.gnu.org/licenses/>.
|
||
|
||
;;; Commentary:
|
||
|
||
;; These are my GUI settings.
|
||
|
||
;;; Code:
|
||
|
||
(add-to-list 'default-frame-alist '(font . "Fantasque Sans Mono-15"))
|
||
(add-to-list 'default-frame-alist '(internal-border-width . 15))
|
||
(set-face-font 'variable-pitch "Comic Neue-14")
|
||
|
||
(defconst oni-gui-isearch-icon ?)
|
||
|
||
(defun oni-gui-setup-fontsets (frame)
|
||
"Setup fontsets for FRAME.
|
||
If FRAME is nil, they’re set for the current frame."
|
||
(let ((font-awesome "Font Awesome 5 Free Solid-12"))
|
||
(set-fontset-font t oni-gui-isearch-icon font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame)
|
||
(set-fontset-font t ? font-awesome frame))
|
||
(let ((dejavu-sans-mono "DejaVu Sans Mono"))
|
||
(set-fontset-font t ?◉ dejavu-sans-mono frame)
|
||
(set-fontset-font t ?○ dejavu-sans-mono frame)
|
||
(set-fontset-font t ?✸ dejavu-sans-mono frame)
|
||
(set-fontset-font t ?✿ dejavu-sans-mono frame)))
|
||
|
||
(with-eval-after-load 'isearch
|
||
(diminish 'isearch-mode (string ?\s oni-gui-isearch-icon)))
|
||
|
||
(defhydra oni-gui-hydra (:color teal :hint nil)
|
||
"
|
||
^Buffer^ ^Packages^ ^Sort^
|
||
^^^^^^-----------------------------------
|
||
_br_: Revert _pl_: List _sl_: Sort
|
||
_bi_: Auto Insert ^^ ^^
|
||
"
|
||
("br" (revert-buffer nil t))
|
||
("bi" auto-insert)
|
||
("pl" list-packages)
|
||
("sl" sort-lines))
|
||
|
||
(setq-default cursor-type '(bar . 2))
|
||
(setq-default cursor-in-non-selected-windows 'box)
|
||
|
||
(scroll-bar-mode -1)
|
||
|
||
(if (daemonp)
|
||
(add-hook 'after-make-frame-functions #'oni-gui-setup-fontsets)
|
||
(oni-gui-setup-fontsets nil))
|
||
|
||
(global-unset-key (kbd "C-z"))
|
||
(global-set-key (kbd "C-c c") 'oni-gui-hydra/body)
|
||
|
||
(load-theme 'yoshi :no-confirm)
|
||
|
||
;;;###autoload(require 'oni-gui)
|
||
|
||
(provide 'oni-gui)
|
||
;;; oni-gui.el ends here
|