179 lines
6.1 KiB
EmacsLisp
179 lines
6.1 KiB
EmacsLisp
(setq-default mode-line-format
|
|
'("%e" mode-line-front-space "%b %*%n %I %l:%c %p" (vc-mode vc-mode) " " mode-line-modes mode-line-misc-info mode-line-end-spaces))
|
|
(unless (memq 'hs-headline mode-line-format)
|
|
(setq mode-line-format
|
|
(append '(" " hs-headline) mode-line-format)))
|
|
|
|
(set-face-attribute 'mode-line nil
|
|
:slant 'italic
|
|
:weight 'bold
|
|
:background (face-attribute 'default :background)
|
|
:foreground
|
|
(cond ((member 'doom-one custom-enabled-themes) "#5B6268")
|
|
((member 'doom-nord custom-enabled-themes) "#9099AB")
|
|
(t (face-attribute 'mode-line-inactive :foreground)))
|
|
:box '(:line-width (1 . 8) :style flat-button))
|
|
|
|
(set-face-attribute 'mode-line-inactive nil
|
|
:inherit 'mode-line
|
|
:weight 'normal
|
|
:box '(:line-width (1 . 8) :style flat-button))
|
|
|
|
(use-package tab-bar
|
|
:hook (after-init . tab-bar-mode)
|
|
:custom
|
|
(tab-bar-auto-width nil)
|
|
(tab-bar-auto-width-max '(250 25))
|
|
(tab-bar-format '(tab-bar-format-history tab-bar-format-tabs-groups))
|
|
(tab-bar-tab-name-function 'tab-bar-tab-name-truncated)
|
|
(tab-bar-close-button-show nil)
|
|
(tab-bar-new-button-show nil)
|
|
:config
|
|
(set-face-attribute 'tab-bar nil
|
|
:inherit 'mode-line-inactive
|
|
:background (face-attribute 'mode-line-inactive :background))
|
|
|
|
(set-face-attribute 'tab-bar-tab nil
|
|
:inherit 'mode-line
|
|
:foreground (face-attribute 'mode-line :foreground)
|
|
:box '(:line-width 8 :style flat-button))
|
|
|
|
(set-face-attribute 'tab-bar-tab-inactive nil
|
|
:inherit 'mode-line-inactive
|
|
:box '(:line-width 8 :style flat-button)))
|
|
|
|
(setq default-frame-alist
|
|
`((font . "MonoLisa-11")
|
|
(width . 85)
|
|
(height . 50)
|
|
(vertical-scroll-bars)
|
|
,@(cond ((eq system-type 'gnu/linux)
|
|
'((fullscreen . maximized)
|
|
(undecorated . t))))))
|
|
|
|
(setq frame-resize-pixelwise t)
|
|
|
|
(defun center-frame (&optional frame)
|
|
"Center FRAME on the screen."
|
|
(interactive)
|
|
(let ((frame (or frame (selected-frame))))
|
|
(let ((frame-width (frame-pixel-width frame))
|
|
(frame-height (frame-pixel-height frame))
|
|
(display-width (display-pixel-width))
|
|
(display-height (display-pixel-height)))
|
|
(set-frame-position frame
|
|
(/ (- display-width frame-width) 2)
|
|
(/ (- display-height frame-height) 2)))))
|
|
|
|
(add-hook 'after-make-frame-functions #'center-frame)
|
|
|
|
(use-package all-the-icons
|
|
:commands all-the-icons-install-fonts
|
|
:init
|
|
(unless (find-font (font-spec :name "all-the-icons"))
|
|
(all-the-icons-install-fonts t)))
|
|
|
|
(use-package all-the-icons-dired
|
|
:hook (dired-mode . all-the-icons-dired-mode))
|
|
|
|
(use-package emojify
|
|
:hook (erc-mode . emojify-mode)
|
|
:commands emojify-mode
|
|
:config
|
|
(when (member "Segoe UI Emoji" (font-family-list))
|
|
;; https://ianyepan.github.io/posts/emacs-emojis/
|
|
(set-fontset-font t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend)
|
|
(setq emojify-display-style 'unicode)
|
|
(setq emojify-emoji-styles '(unicode))))
|
|
|
|
;; (defun my-vc-info ()
|
|
;; (when vc-mode
|
|
;; (concat (substring vc-mode 5)
|
|
;; " ["
|
|
;; (substring (vc-working-revision (buffer-file-name)) 0 8)
|
|
;; "] ")))
|
|
|
|
;; (defun my-project-name ()
|
|
;; (let ((proj (project-current)))
|
|
;; (if proj (file-name-base (directory-file-name (project-root proj)))
|
|
;; "NoProject")))
|
|
|
|
;; (setq-default header-line-format
|
|
;; (list "-%M"
|
|
;; '(:eval (my-project-name)) " "
|
|
;; system-name " " user-login-name " "
|
|
;; "-%-"))
|
|
|
|
;; (setq-default mode-line-format
|
|
;; (list "-%b %*%n %I %l:%c %p "
|
|
;; '(:eval mode-name) " "
|
|
;; '(:eval (my-vc-info))
|
|
;; '(:eval (if mode-line-process (concat ":" mode-line-process " ") ""))
|
|
;; 'default-directory
|
|
;; "-%-"))
|
|
|
|
;; (set-face-attribute 'mode-line nil :weight 'bold)
|
|
;; (set-face-attribute 'header-line nil :weight 'bold)
|
|
|
|
;; (use-package doom-modeline
|
|
;; :hook (after-init . doom-modeline-mode)
|
|
;; :custom
|
|
;; (doom-modeline-height 30)
|
|
;; (doom-modeline-bar-width 4)
|
|
;; (doom-modeline-icon nil)
|
|
;; (doom-modeline-major-mode-icon nil)
|
|
;; (doom-modeline-unicode-fallback nil)
|
|
;; (doom-modeline-minor-modes nil)
|
|
;; (doom-modeline-buffer-encoding nil)
|
|
;; (doom-modeline-battery nil))
|
|
|
|
(use-package helpful
|
|
:commands (helpful-callable helpful-variable helpful-command helpful-key)
|
|
:bind ([remap describe-command] . helpful-command) ([remap describe-key] . helpful-key))
|
|
|
|
(use-package rainbow-delimiters
|
|
:hook (prog-mode . rainbow-delimiters-mode))
|
|
|
|
(use-package olivetti
|
|
:custom (olivetti-body-width 83)
|
|
:bind ("<f6>" . olivetti-mode))
|
|
|
|
(add-hook 'Info-mode-hook
|
|
(lambda ()
|
|
(make-local-variable 'olivetti-body-width)
|
|
(setq olivetti-body-width 75)
|
|
(olivetti-mode)))
|
|
|
|
(use-package ace-window :init (global-set-key (kbd "M-o") 'ace-window))
|
|
|
|
;; (use-package vertico :init (vertico-mode))
|
|
|
|
(use-package webjump
|
|
:bind ("C-c j" . webjump)
|
|
:custom
|
|
(webjump-sites
|
|
(append '(("Wikipedia_de" . [simple-query "de.wikipedia.org" "https://de.wikipedia.org/wiki/" ""])
|
|
("leo.org" . [simple-query "dict.leo.org" "https://dict.leo.org/german-english/" ""]))
|
|
webjump-sample-sites)))
|
|
|
|
(use-package doc-view
|
|
:ensure nil
|
|
:custom
|
|
(doc-view-dvipdfm-program "mutool")
|
|
(doc-view-odf->odf-converter-program "soffice")
|
|
(dov-view-odf->pdf-converter-function 'doc-view-odf->pdf-converter-soffice)
|
|
(doc-view-pdf->png-converter-function 'doc-view-pdf->png-converter-mupdf)
|
|
(doc-view-resolution 300))
|
|
|
|
(use-package yasnippet
|
|
:init
|
|
(yas-global-mode 1))
|
|
|
|
;(pixel-scroll-precision-mode +1)
|
|
|
|
(use-package hideshow
|
|
:hook ((prog-mode . (lambda () (hs-minor-mode 1) (hs-hide-all))))
|
|
:bind (:map prog-mode-map
|
|
("M-<return>" . hs-toggle-hiding))
|
|
:custom
|
|
(hs-allow-nesting t))
|