;;; -*- lexical-binding: t -*-
-(require 'pastels-on-dark-theme)
-
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
+(require 'pastels-on-dark-theme)
+(enable-theme 'pastels-on-dark)
+(setq frame-background-mode 'dark)
+
+(setq default-frame-alist '((vertical-scroll-bars)
+ (background-mode . dark)
+ (alpha . 95)
+ (font . "monospace 12")))
+
+(require 'ansi-color)
+(setq ansi-color-names-vector
+ '("#000000"
+ "#fc391f"
+ "#31e722"
+ "#eaec23"
+ "#4856f7"
+ "#f935f8"
+ "#14f0f0"
+ "#e9ebeb"))
+(setq ansi-color-map (ansi-color-make-color-map))
+
+(add-to-list 'term-file-aliases
+ '("screen.xterm-256color" . "screen-256color"))
+
(setq scroll-conservatively 1)
(setq scroll-margin 1)
(setq mouse-wheel-scroll-amount '(3))
(show-paren-mode t)
-(setq-default show-trailing-whitespace t)
+(dolist (hook '(prog-mode-hook text-mode-hook))
+ (add-hook hook (lambda ()
+ (setq show-trailing-whitespace t))))
+
+(setq shift-select-mode nil)
+(delete-selection-mode t)
+(setq sentence-end-double-space nil)
(require 'uniquify)
(setq uniquify-strip-common-suffix t)
(setq uniquify-buffer-name-style 'post-forward)
-(add-to-list 'delete-frame-functions #'my/kill-buffers-if-deleting-last-frame)
-
-(setq frame-title-format '((:eval (funcall #'my/generate-frame-title))))
-(setq icon-title-format frame-title-format)
+(defalias 'yes-or-no-p 'y-or-n-p)
-(add-to-list 'post-command-hook #'my/terminal-update-title)
+(setq find-file-visit-truename t)
-(defalias 'yes-or-no-p 'y-or-n-p)
+(setq disabled-command-function nil)
+(setq save-interprogram-paste-before-kill t)
-(defun my/frame-initial-frame-p (frame)
- "Returns true if the given frame is the magic 'initial frame' that always exists in GUI emacs sessions"
- (equal "initial_terminal" (terminal-name frame)))
-
-(defun my/frame-list-ignoring-initial-frame ()
- "Returns all frames except the magic 'initial frame' that always exists in GUI emacs sessions"
- (filtered-frame-list (lambda (frame) (not (my/frame-initial-frame-p frame)))))
-
-(defun my/generate-frame-title ()
- "Returns a string like 'filename (dirname) - Emacs'"
- (if (buffer-file-name)
- (concat
- (file-name-nondirectory (buffer-file-name))
- (if (buffer-modified-p)
- " +")
- " ("
- (abbreviate-file-name (substring (file-name-directory (buffer-file-name)) 0 -1))
- ") - Emacs"
- )
- (concat
- (buffer-name)
- (if (buffer-modified-p)
- " +")
- " - Emacs")))
-
-(defun my/kill-buffer-safely (buffer)
- "Kill the buffer if it is not special or modified"
- (if (and
- (not (string-match "^ " (buffer-name buffer)))
- (not (equal "*Messages*" (buffer-name buffer)))
- (or
- (not (buffer-modified-p buffer))
- (null (buffer-file-name buffer))))
- (kill-buffer buffer)))
-
-(defun my/kill-buffers-if-deleting-last-frame (frame)
- "Kill all buffers when closing the last frame"
- (when (equal (list frame) (my/frame-list-ignoring-initial-frame))
- (dolist (buffer (buffer-list))
- (my/kill-buffer-safely buffer))))
-
-(defun my/kill-buffers-not-in-frame ()
- "Kill buffers which are not loaded into some frame"
- (interactive)
- (let ((kill-count 0))
- (dolist (buffer (buffer-list))
- (let* ((window (get-buffer-window buffer t))
- (frame (window-frame window)))
- (if (or (null frame) (not (window-live-p window)) (my/frame-initial-frame-p frame))
- (if (my/kill-buffer-safely buffer)
- (cl-incf kill-count)))))
- (message "Killed %d buffers" kill-count)))
-
-(defun my/terminal-update-title ()
- "If using a terminal frame then sends the escape codes to update the title."
- (if (terminal-parameter (frame-terminal) 'terminal-initted)
- (send-string-to-terminal (concat "\033]0;" (my/generate-frame-title) "\007"))))
+(setq undo-limit 10000000)
+(setq undo-strong-limit undo-limit)