Emacs config utilizing prelude as a base
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.2 KiB

12 years ago
13 years ago
  1. ;;; prelude-macos.el --- Emacs Prelude: macOS specific settings.
  2. ;;
  3. ;; Copyright © 2011-2021 Bozhidar Batsov
  4. ;;
  5. ;; Author: Bozhidar Batsov <bozhidar@batsov.com>
  6. ;; URL: https://github.com/bbatsov/prelude
  7. ;; This file is not part of GNU Emacs.
  8. ;;; Commentary:
  9. ;; Some macOS specific stuff.
  10. ;;; License:
  11. ;; This program is free software; you can redistribute it and/or
  12. ;; modify it under the terms of the GNU General Public License
  13. ;; as published by the Free Software Foundation; either version 3
  14. ;; of the License, or (at your option) any later version.
  15. ;;
  16. ;; This program is distributed in the hope that it will be useful,
  17. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. ;; GNU General Public License for more details.
  20. ;;
  21. ;; You should have received a copy of the GNU General Public License
  22. ;; along with GNU Emacs; see the file COPYING. If not, write to the
  23. ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  24. ;; Boston, MA 02110-1301, USA.
  25. ;;; Code:
  26. ;; On macOS Emacs doesn't use the shell PATH if it's not started from
  27. ;; the shell. Let's fix that:
  28. (prelude-require-packages '(exec-path-from-shell))
  29. (require 'exec-path-from-shell)
  30. (exec-path-from-shell-initialize)
  31. ;; It's all in the Meta
  32. (setq ns-function-modifier 'hyper)
  33. (defun prelude-swap-meta-and-super ()
  34. "Swap the mapping of Meta and Super.
  35. Very useful for people using their Mac with a
  36. Windows external keyboard from time to time."
  37. (interactive)
  38. (if (eq mac-command-modifier 'super)
  39. (progn
  40. (setq mac-command-modifier 'meta)
  41. (setq mac-option-modifier 'super)
  42. (message "Command is now bound to META and Option is bound to SUPER."))
  43. (setq mac-command-modifier 'super)
  44. (setq mac-option-modifier 'meta)
  45. (message "Command is now bound to SUPER and Option is bound to META.")))
  46. (define-key prelude-mode-map (kbd "C-c w") 'prelude-swap-meta-and-super)
  47. ;; There's no point in hiding the menu bar on macOS, so let's not do it
  48. (menu-bar-mode +1)
  49. ;; Enable emoji, and stop the UI from freezing when trying to display them.
  50. (when (fboundp 'set-fontset-font)
  51. (set-fontset-font t 'unicode "Apple Color Emoji" nil 'prepend))
  52. (provide 'prelude-macos)
  53. ;;; prelude-macos.el ends here