;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*- ;; ;; Copyright (c) 2010-2024 Sameer Rahmani ;; ;; Author: Sameer Rahmani ;; URL: https://devheroes.codes/FG42/FG42 ;; Version: 4.0.0 ;; ;; 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 . ;; ;;; Commentary: ;;; Code: (eval-when-compile (require 'fpkg) (require 'fg42/config) (require 'fg42/utils)) (defvar fg42/noether-views nil "A list of Noether views to use for modeline.") (defvar fg42/modeline-active-face nil "Override the active modeline face via this var.") (defvar fg42/modeline-inactive-face nil "Override the inactive modeline face via this var.") (defface fg42/-disabled-modeline-active-border '((t :background "#bd93f9" :height 0.1 :box nil)) "A new face for modeline in active state." :group 'fg42) (defface fg42/-disabled-modeline-dective-border '((t :background "#44475a" :height 0.1 :box nil)) "A new face for modeline in active state." :group 'fg42) (use! noether "Smart mode line is a pretty simple yet fantastic alternative to Emacs modeline." :if (display-graphic-p) ;;:after projectile :commands noether-global-mode :hook (emacs-startup . noether-global-mode) :config (require 'noether-views) (require 'fg42/modeline/views) (with-config "noether-modeline" (let ((active-border (get-base16-color-or :base0A "#bd93f9")) (inactive-border (get-base16-color-or :base03 "#44475a"))) (set-face-attribute 'fg42/-disabled-modeline-active-border nil :background active-border) (set-face-attribute 'fg42/-disabled-modeline-dective-border nil :background inactive-border)) ;; Disable the default modeline (setq-default mode-line-format "") (let ((face-remaps (default-value 'face-remapping-alist))) (setf (alist-get 'mode-line face-remaps) (if fg42/modeline-active-face fg42/modeline-active-face 'fg42/-disabled-modeline-active-border) (alist-get 'mode-line-inactive face-remaps) (if fg42/modeline-inactive-face fg42/modeline-inactive-face 'fg42/-disabled-modeline-dective-border) (default-value 'face-remapping-alist) face-remaps)) (add-to-list 'fg42/noether-views fg42/modeline)) ;; Setup modelines (when-not-wm (setq-default noether-views fg42/noether-views)) (when-wm (setq-default noether-views (list fg42/minimal-exwm)))) (provide 'fg42/noether) ;;; noether.el ends here