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.

95 lines
3.0 KiB

  1. ;;; prelude-ui.el --- Emacs Prelude: UI optimizations and tweaks.
  2. ;;
  3. ;; Copyright (c) 2011 Bozhidar Batsov
  4. ;;
  5. ;; Author: Bozhidar Batsov <bozhidar.batsov@gmail.com>
  6. ;; URL: http://www.emacswiki.org/cgi-bin/wiki/Prelude
  7. ;; Version: 1.0.0
  8. ;; Keywords: convenience
  9. ;; This file is not part of GNU Emacs.
  10. ;;; Commentary:
  11. ;; We dispense with most of the point and click UI, reduce the startup noise,
  12. ;; configure smooth scolling and a nice theme that's easy on the eyes (zenburn).
  13. ;;; License:
  14. ;; This program is free software; you can redistribute it and/or
  15. ;; modify it under the terms of the GNU General Public License
  16. ;; as published by the Free Software Foundation; either version 3
  17. ;; of the License, or (at your option) any later version.
  18. ;;
  19. ;; This program is distributed in the hope that it will be useful,
  20. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. ;; GNU General Public License for more details.
  23. ;;
  24. ;; You should have received a copy of the GNU General Public License
  25. ;; along with GNU Emacs; see the file COPYING. If not, write to the
  26. ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  27. ;; Boston, MA 02110-1301, USA.
  28. ;;; Code:
  29. ;; the toolbar is just a waste of valuable screen estate
  30. ;; in a tty tool-bar-mode does not properly auto-load, and is
  31. ;; already disabled anyway
  32. (when (fboundp 'tool-bar-mode)
  33. (tool-bar-mode -1))
  34. ;; the menu bar is mostly useless as well
  35. ;; but removing it under OS X doesn't make much sense
  36. (defun prelude-frame-config (frame)
  37. "Custom behaviours for new frames."
  38. (if (eq system-type 'darwin)
  39. (with-selected-frame frame
  40. (if (display-graphic-p)
  41. (modify-frame-parameters frame '((menu-bar-lines . 1)))
  42. (modify-frame-parameters frame '((menu-bar-lines . 0)))))
  43. (menu-bar-mode -1)))
  44. ;; run now
  45. (prelude-frame-config (selected-frame))
  46. ;; and later
  47. (add-hook 'after-make-frame-functions 'prelude-frame-config)
  48. ;; the blinking cursor is nothing, but an annoyance
  49. (blink-cursor-mode -1)
  50. ;; disable startup screen
  51. (setq inhibit-startup-screen t)
  52. ;; nice scrolling
  53. (setq scroll-margin 0
  54. scroll-conservatively 100000
  55. scroll-preserve-screen-position 1)
  56. ;; mode line settings
  57. (line-number-mode t)
  58. (column-number-mode t)
  59. (size-indication-mode t)
  60. ;; make the fringe (gutter) smaller
  61. ;; the argument is a width in pixels (the default is 8)
  62. (if (fboundp 'fringe-mode)
  63. (fringe-mode 4))
  64. ;; enable y/n answers
  65. (fset 'yes-or-no-p 'y-or-n-p)
  66. ;; more useful frame title, that show either a file or a
  67. ;; buffer name (if the buffer isn't visiting a file)
  68. (setq frame-title-format
  69. '("" invocation-name " Prelude - " (:eval (if (buffer-file-name)
  70. (abbreviate-file-name (buffer-file-name))
  71. "%b"))))
  72. ;; custom Emacs 24 color themes support
  73. (add-to-list 'custom-theme-load-path (concat prelude-dir "themes/"))
  74. ;; use zenburn as the default theme
  75. (load-theme 'zenburn t)
  76. (provide 'prelude-ui)
  77. ;;; prelude-ui.el ends here