emacs.d/bundle/bundle--gui.el

180 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
: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))))
:bind (:map prog-mode-map
("M-<return>" . hs-toggle-hiding))
:custom
(hs-allow-nesting t))
(add-hook 'prog-mode-hook (lambda () (setq line-spacing 4)))