Last active
December 29, 2015 08:29
-
-
Save drewkerrigan/7643798 to your computer and use it in GitHub Desktop.
Aquamacs / Terminal .emacs for Mac OS X
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;;; .emacs Customizations, Functions, and Packages | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Packages and Initialization | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Color Theme (http://download.savannah.gnu.org/releases/color-theme/) | |
(add-to-list 'load-path "~/.emacs.d/packages/color-theme/") | |
(require 'color-theme) | |
(color-theme-initialize) | |
;;; Solarized Theme (https://github.com/sellout/emacs-color-theme-solarized) | |
(add-to-list 'load-path "~/.emacs.d/packages/emacs-color-theme-solarized/") | |
(require 'color-theme-solarized) | |
(color-theme-solarized-dark) | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Erlang | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
(setq load-path (cons "~/erlang/r16b02/lib/tools-2.6.12/emacs" | |
load-path)) | |
(setq erlang-root-dir "~/erlang/r16b02") | |
(setq exec-path (cons "~/erlang/r16b02/bin" exec-path)) | |
(require 'erlang-start) | |
(require 'erlang-flymake) | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Keybindings | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
(if (eq window-system nil) | |
;;; Terminal | |
((global-set-key (kbd "C-S-<left>") 'previous-tab-or-buffer) | |
(global-set-key (kbd "C-S-<right>") 'next-tab-or-buffer) | |
(global-set-key (kbd "C-x C-k") 'erlang-compile) | |
(global-set-key (kbd "C-c C-s") 'make-shell)) | |
;;; Aquamacs / Window System | |
(set-frame-size (selected-frame) 200 84) | |
(add-to-list 'default-frame-alist '(width . 200)) | |
(add-to-list 'default-frame-alist '(height . 84)) | |
(define-key osx-key-mode-map (kbd "C-S-<left>") 'previous-tab-or-buffer) | |
(define-key osx-key-mode-map (kbd "C-S-<right>") 'next-tab-or-buffer) | |
(define-key osx-key-mode-map (kbd "C-x C-k") 'erlang-compile) | |
(define-key osx-key-mode-map (kbd "C-c C-s") 'make-shell) | |
(modify-frame-parameters (selected-frame) '((alpha . 85))) | |
(global-set-key (kbd "C-?") 'transparency-set-value) | |
(global-set-key (kbd "C->") 'transparency-increase) | |
(global-set-key (kbd "C-<") 'transparency-decrease) | |
(setq-default cursor-type 'box) | |
) | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Whitespace Management | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
(setq-default indent-tabs-mode nil) | |
(add-hook 'before-save-hook 'delete-trailing-whitespace) | |
(add-hook 'before-save-hook | |
(lambda () (if (not indent-tabs-mode) | |
(untabify (point-min) (point-max))))) | |
(put 'erase-buffer 'disabled nil) | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Functions | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Shell / Eshell | |
(defun my-clear () | |
(interactive) | |
(let ((comint-buffer-maximum-size 0)) | |
(comint-truncate-buffer))) | |
(defun my-shell-hook () | |
(local-set-key "\C-cl" 'my-clear) | |
(local-set-key (kbd "A-k") 'my-eclear)) | |
(defun my-eclear () | |
(interactive) | |
(let ((inhibit-read-only t)) | |
(erase-buffer) | |
(eshell-send-input))) | |
(defun my-eshell-hook () | |
(local-set-key "\C-cl" 'my-clear) | |
(local-set-key (kbd "A-k") 'my-eclear)) | |
;;; Utility Functions | |
(defun make-shell (name) | |
"Create a shell buffer named NAME." | |
(interactive "sEShell Name: ") | |
(setq name (concat name "$" )) | |
(eshell) | |
(rename-buffer name)) | |
(defun transparency-set-initial-value () | |
"Set initial value of alpha parameter for the current frame" | |
(interactive) | |
(if (equal (frame-parameter nil 'alpha) nil) | |
(set-frame-parameter nil 'alpha 100))) | |
(defun transparency-set-value (numb) | |
"Set level of transparency for the current frame" | |
(interactive "nEnter transparency level in range 0-100: ") | |
(if (> numb 100) | |
(message "Error! The maximum value for transparency is 100!") | |
(if (< numb 0) | |
(message "Error! The minimum value for transparency is 0!") | |
(set-frame-parameter nil 'alpha numb)))) | |
(defun transparency-increase () | |
"Increase level of transparency for the current frame" | |
(interactive) | |
(transparency-set-initial-value) | |
(if (> (frame-parameter nil 'alpha) 0) | |
(set-frame-parameter nil 'alpha (+ (frame-parameter nil 'alpha) -2)) | |
(message "This is a minimum value of transparency!"))) | |
(defun transparency-decrease () | |
"Decrease level of transparency for the current frame" | |
(interactive) | |
(transparency-set-initial-value) | |
(if (< (frame-parameter nil 'alpha) 100) | |
(set-frame-parameter nil 'alpha (+ (frame-parameter nil 'alpha) +2)) | |
(message "This is a minimum value of transparency!"))) | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
;;; Hooks | |
;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
(add-hook 'shell-mode-hook 'my-shell-hook) | |
(add-hook 'eshell-mode-hook 'my-eshell-hook) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment