diff --git a/config.org b/config.org index 937cbcb..a2ca1fd 100644 --- a/config.org +++ b/config.org @@ -26,6 +26,24 @@ For Microsoft(R) Windows(R) users it is highly adviced to set the =HOME= environ Settings for Emacs in general as well as for my personal setup. +** macOS Adjustments + +First define a variable for making MacOS specific adjustments a bit easier. + +#+begin_src emacs-lisp +(setq on-macos (eq system-type 'darwin)) +#+end_src + +For using the Macbook keyboard effectively with Emacs I made some adjustments based on some suggestions found on the internet. + +#+begin_src emacs-lisp +(when on-macos + (setq mac-option-modifier 'alt) + (setq mac-right-option-modifier 'none) + (setq mac-command-modifier 'meta) + (global-set-key [kp-delete] 'delete-char)) +#+end_src + ** System Detection My work machine is called “knuth” and there is some configuration which I only want there. @@ -329,7 +347,7 @@ Source: [[https://stackoverflow.com/a/744681][Stack Overflow: Unable to hide wel ** Replace BEEP by visual-bell #+begin_src emacs-lisp -(setq visible-bell 1) +(setq visible-bell nil) #+end_src ** Disable cursor blinking @@ -415,14 +433,23 @@ Setting =frame-resize-pixelwise= to non-nil (as described in [[https://github.co My typeface is not loading when using emacsclient. So I set it explicitly when creating a frame. The same fix is applied for the scroll bars. #+begin_src emacs-lisp -(setq mmk2410/frame-font "Jetbrains Mono 11" - mmk2410/frame-font-present "Jetbrains Mono 16" - mmk2410/fixed-font-name "Jetbrains Mono" - mmk2410/fixed-font-height 110 - mmk2410/fixed-font-present-height 160 - mmk2410/variable-font-name "Open Sans" - mmk2410/variable-font-height 130 - mmk2410/variable-font-present-height 160) +(if on-macos + (setq mmk2410/frame-font "Berkeley Mono 14" + mmk2410/frame-font-present "Berkeley Mono 16" + mmk2410/fixed-font-name "Berkeley Mono" + mmk2410/fixed-font-height 140 + mmk2410/fixed-font-present-height 160 + mmk2410/variable-font-name "Open Sans" + mmk2410/variable-font-height 160 + mmk2410/variable-font-present-height 180) + (setq mmk2410/frame-font "Berkeley Mono 11" + mmk2410/frame-font-present "Berkeley Mono 16" + mmk2410/fixed-font-name "Berkeley Mono" + mmk2410/fixed-font-height 110 + mmk2410/fixed-font-present-height 160 + mmk2410/variable-font-name "Open Sans" + mmk2410/variable-font-height 130 + mmk2410/variable-font-present-height 160)) (add-hook 'after-make-frame-functions #'(lambda (frame) @@ -449,6 +476,15 @@ Sometimes (most often a work) I share my screen during a video call to discuss s (set-face-attribute 'fixed-pitch nil :font mmk2410/fixed-font-name :height mmk2410/fixed-font-present-height :weight 'regular)) #+end_src +Additionally like to adjust some faces to my personal liking. + +#+begin_src emacs-lisp + (with-eval-after-load 'elfeed + (set-face-attribute 'message-header-subject nil + :font mmk2410/variable-font-name + :height 220)) +#+end_src + ** Set theme Installing and enabling Gruvbox light theme. /Disabled in favor of the Doom themes./ @@ -516,10 +552,10 @@ Installing and enabling ef-themes. Add a slight transparency to the frames. Code provided by David Wilson / System Crafters [[https://github.com/daviwil/emacs-from-scratch/blob/master/Emacs.org][Emacs from Scratch]] video series. #+begin_src emacs-lisp -(setq mmk2410/frame-transparency '(95 . 95)) +(setq mmk2410/alpha-background 95) -(set-frame-parameter (selected-frame) 'alpha mmk2410/frame-transparency) -(add-to-list 'default-frame-alist `(alpha . ,mmk2410/frame-transparency)) +(set-frame-parameter nil 'alpha-background mmk2410/alpha-background) +(add-to-list 'default-frame-alist `(alpha-background . ,mmk2410/alpha-background)) #+end_src ** Switch theme @@ -593,6 +629,25 @@ Source: [[https://github.com/iqbalansari/emacs-emojify][iqbalansari/emacs-emojif :commands emojify-mode) #+end_src +** Spacious Padding + +Increase the padding/spacing of GNU Emacs frames and windows + +Source: [[https://git.sr.ht/~protesilaos/spacious-padding][sr.ht: ~protesilaos/spacious-padding]] + +#+begin_src emacs-lisp +(use-package spacious-padding + :config (spacious-padding-mode 1)) +#+end_src + +** Line Spacing + +I found out that a bit more line spacing makes Emacs look more nicely and increases the readability a bit. At least for me 🙂 + +#+begin_src emacs-lisp +(setq-default line-spacing 4) +#+end_src + * Keybinding List of own custom keybindings @@ -1076,6 +1131,12 @@ Hide emphasis markers. While this sometimes is very distracting it mostly looks (setq org-hide-emphasis-markers t) #+end_src +Make indented display of org files the default + +#+begin_src emacs-lisp +(setq org-startup-indented t) +#+end_src + ** Org font adjustments I like to have larger headlines in Org for better identifying them. The configuration of [[https://config.daviwil.com/emacs#fonts-and-bullets][David Wilson]] was a large help in this regard. @@ -1999,12 +2060,23 @@ Markdown mode customizations. #+begin_src emacs-lisp (use-package markdown-mode :mode "\\.md\\'" + :config + (setq markdown-unordered-list-item-prefix " - ") :hook ((markdown-mode . visual-line-mode) (markdown-mode . (lambda () (display-line-numbers-mode -1))) (markdown-mode . variable-pitch-mode) (markdown-mode . visual-fill-column-mode))) #+end_src +** Common Lisp + +#+begin_src emacs-lisp +(use-package slime + :config + (when on-macos + (setq inferior-lisp-program "/opt/homebrew/bin/sbcl"))) +#+end_src + * Emacs Multimedia System (EMMS) For notes, tasks, writing, and countless other things there is org-mode. @@ -2130,6 +2202,9 @@ Source: [[https://github.com/akermu/emacs-libvterm][GitHub: akermu/emacs-libvter #+begin_src emacs-lisp (use-package vterm :if (not (eq system-type 'windows-nt)) + :config + (when on-macos + (setq vterm-shell "/opt/homebrew/bin/fish")) :bind (("C-c t" . 'vterm))) #+end_src @@ -2208,7 +2283,7 @@ Source: [[https://github.com/fasheng/elfeed-protocol][GitHub: fasheng/elfeed-pro (use-package elfeed-protocol :init ;; FreshRSS (self-hosted) - (setq elfeed-feeds '(("fever+https://mmk2410@rss.mmk2410.org" + (setq elfeed-protocol-feeds '(("fever+https://mmk2410@rss.mmk2410.org" :api-url "https://rss.mmk2410.org/api/fever.php" :use-authinfo t))) (elfeed-protocol-enable) @@ -2229,6 +2304,17 @@ Emacs client for Mastodon. mastodon-active-user "mmk2410")) #+end_src +* Pocket + + Emacs client for Pocket reading list (getpocket.com) + + [[https://github.com/alphapapa/pocket-reader.el][GitHub: alphapapa/pocket-reader.el]] + + +#+begin_src emacs-lisp +(use-package pocket-reader) +#+end_src + * mu4e Managing e-mails is maybe one of the most critical tasks in my life. Over the last years I tried countless different clients, including the famous (neo)mutt, KMail, and Thunderbird. But it seems that I always go back to one specific: mu4e. Maybe because it is integrated in Emacs and Org-mode, maybe because I like using a keyboard-focused client and that's where I end. I don't now. But what I know is: I enjoy using it! @@ -2254,7 +2340,8 @@ Not all distributions that I use have a enough up-to-date package of mu/maildir- (mu4e-load-path-usr (concat "/usr" mu4e-site-lisp-path)) (mu4e-load-path-usr-local (concat "/usr/local" mu4e-site-lisp-path)) (mu4e-load-path-nix (concat (getenv "HOME") "/.nix-profile" mu4e-site-lisp-path)) - (mu4e-load-path-debian "/usr/share/emacs/site-lisp/elpa")) + (mu4e-load-path-debian "/usr/share/emacs/site-lisp/elpa") + (mu4e-load-path-macos "/opt/homebrew/share/emacs/site-lisp/mu/mu4e/")) (cond ((file-directory-p mu4e-load-path-nix) mu4e-load-path-nix) ((file-directory-p mu4e-load-path-usr-local) @@ -2263,6 +2350,8 @@ Not all distributions that I use have a enough up-to-date package of mu/maildir- mu4e-load-path-usr) ((file-directory-p mu4e-load-path-debian) mu4e-load-path-debian) + ((file-directory-p mu4e-load-path-macos) + mu4e-load-path-macos) (t (error "mu4e not found!")))))) #+end_src