;; Elisp source code header -*- coding: utf-8 -*- ;; Created: [21-00:48 Март 13 2008] ;; Modified: [23-43:48 Май 31 2008] ;; Description: ;; General features, aka: Fancy looking, cleaning some ambiguous stuff, ;; some very useful helpers ;; Modes: color-theme, tabbar, iswithcb, emms, org-mode, tar-mode, ;; buff-menu+, stripes, sr-speedbar, ispell, flyspell, dired, ;; cua-mode, rst-mode ;; Author: Stanislav M. Ivankin ;; Email: stas@concat.info ;; Tags: ;; License: (fset 'yes-or-no-p 'y-or-n-p) (put 'narrow-to-region 'disabled nil) (transient-mark-mode 1) ;; Try C-Enter :) (cua-selection-mode 1) (menu-bar-mode -1) (scroll-bar-mode -1) (tool-bar-mode 0) (setq frame-title-format "esgal@eternal") (custom-set-variables '(display-time-24hr-format t) '(display-time-format "[%H:%M %d/%m]") '(line-number-mode t) '(column-number-mode t) '(display-battery-mode t) '(display-time-mode t) '(size-indication-mode t) '(display-time-load-average t) '(display-time-day-and-date t) '(timeclock-modeline-display t) '(inhibit-startup-message t)) ;; Customization of frame parameters (setq default-frame-alist '((vertical-scroll-bars) (menu-bar-lines . 1) (background-color . "white") (background-mode . light) (background-toolbar-color . "#cf3ccf3ccf3c") (border-color . "#000000000000") (bottom-toolbar-shadow-color . "#79e77df779e7") (cursor-color . "Red3") (foreground-color . "black") (mouse-color . "black") (top-toolbar-shadow-color . "#fffffbeeffff") (viper-saved-cursor-color-in-replace-mode . "Red3") (tool-bar-lines . 0) (font . "DejaVu Sans Mono-10"))) ;; Change a bit mouse scrolling (setq mouse-wheel-scroll-amount '(1 ((shift) . 5) ((control)))) ;; show/hide menu-bar (global-set-key (kbd "C-c o") '(lambda () (interactive) (menu-bar-mode))) (defun set-my-faces () (custom-set-faces '(font-lock-function-name-face ((t (:foreground "MediumSlateBlue" :bold t :underline t)))) '(font-lock-comment-face ((t (:foreground "#777777" :bold nil :italic t)))) '(flyspell-incorrect ((t (:underline t :weight normal)))) '(jabber-roster-user-away ((t (:foreground "green")))) )) (when (eq window-system 'x) (require 'color-theme) (color-theme-initialize) (color-theme-blippblopp) (color-theme-blue-eshell) (color-theme-dark-gnus) (set-my-faces) (require 'tabbar) (tabbar-mode) (global-set-key [(s up)] 'tabbar-backward-group) (global-set-key [(s down)] 'tabbar-forward-group) (global-set-key [(s left)] 'tabbar-backward) (global-set-key [(s right)] 'tabbar-forward) (setq x-select-enable-clipboard t) (if (and (> emacs-major-version 22) (>= +emacs-build-version+ 60)) (progn (set-default-font "DejaVu Sans Mono-10") (set-fontset-font "fontset-default" 'cyrillic '("DejaVu Sans Mono" . "unicode-bmp"))) (set-default-font "9x15"))) (require 'iswitchb) (iswitchb-mode 1) (add-to-list 'iswitchb-buffer-ignore "*Messages*") (add-to-list 'iswitchb-buffer-ignore "*Backtrace") (add-to-list 'iswitchb-buffer-ignore "*Completions") (add-to-list 'iswitchb-buffer-ignore "*Possible Completions") (add-to-list 'iswitchb-buffer-ignore "*semantic") (add-to-list 'iswitchb-buffer-ignore "*compilation") (global-set-key (kbd "s-m") 'emms) (autoload 'emms "emms-setup" t) (defun tv-stop-mpd () (interactive) (if emms-player-playing-p (emms-stop) (shell-command "mpc stop"))) (eval-after-load "emms-setup" '(progn (message "-> emms loaded") ;;; (emms-standard) (emms-devel) (emms-default-players) (require 'emms-mode-line) (require 'emms-playing-time) (emms-mode-line 1) (emms-playing-time 1) (require 'emms-player-simple) (require 'emms-source-file) (require 'emms-source-playlist) (require 'emms-streams) (require 'emms-info) ;; (add-to-list 'emms-player-list 'emms-player-mpd) ;; (add-to-list 'emms-info-functions 'emms-info-mpd) ;; (setq emms-player-mpd-server-name "localhost" ;; emms-player-mpd-server-port "6600" ;; emms-player-mpd-music-directory "/var/lib/mpd/music") (add-hook 'emms-player-started-hook 'emms-show) (setq emms-mode-line-titlebar-function 'emms-mode-line-playlist-current emms-volume-amixer-control "PCM" emms-show-format "NP: %s" emms-score-file "~/.emacs.d/emms-score" emms-history-file "~/.emacs.d/emms-history" emms-cache-file "~/.emacs.d/emms-cache" emms-stream-bookmarks-file "~/emms-bookmarks" emms-stream-default-action "play") ;; emms-source-file-default-directory "/var/lib/mpd/music/") (setq emms-lastfm-username "user" emms-lastfm-password "password") (emms-lastfm-enable))) ;;;; Org mode ;;;; (require 'org) (add-hook 'org-mode-hook #'(lambda () (auto-fill-mode 1))) (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (setq orgplace "~/emacs/etc/orgmode/") (setq org-log-done '(done)) (add-hook 'remember-mode-hook 'org-remember-apply-template) (custom-set-variables '(org-agenda-files (list "~/emacs/etc/orgmode/devel.org" "~/emacs/etc/orgmode/dates.org" "~/emacs/etc/orgmode/health.org" "~/emacs/etc/orgmode/purchases.org")) '(org-default-notes-file "~/emacs/etc/orgmode/notes.org") '(org-agenda-ndays 7) '(org-deadline-warning-days 14) '(org-agenda-show-all-dates t) '(org-agenda-skip-deadline-if-done t) '(org-agenda-skip-scheduled-if-done t) '(org-agenda-start-on-weekday nil) '(org-reverse-note-order t) '(org-fast-tag-selection-single-key (quote expert)) '(org-remember-store-without-prompt t) '(org-remember-templates (quote ((116 "* TODO %?\n %u" "~/emacs/etc/orgmode/todo.org" "Tasks") (110 "* %u %?" "~/emacs/etc/orgmode/notes.org" "Notes")))) '(remember-annotation-functions (quote (org-remember-annotation))) '(remember-handler-functions (quote (org-remember-handler)))) (setq org-agenda-custom-commands '(("h" "Home related tasks" ((tags-todo "@HOME"))) ("w" "Work related tasks" ((tags-todo "@WORK"))))) ;;;; Storing tmpfiles ;;;; (defvar tmp-autosave-dir "~/emacs/tmp/autosave/") (defun auto-save-file-name-p (filename) (string-match "^#.*#$" (file-name-nondirectory filename))) (defun make-auto-save-file-name () (concat tmp-autosave-dir (if buffer-file-name (concat "#" (file-name-nondirectory buffer-file-name) "#") (expand-file-name (concat "#%" (buffer-name) "#"))))) (defvar backup-dir "~/emacs/tmp/backup/") (setq backup-directory-alist (list (cons "." backup-dir))) ;;;; Info ;;;; (setq Info-fontify "t") ;;;; Small features ;;;; (global-set-key [f9] 'term) ;;(custom-set-variables ;; '(term-default-fg-color "white") ;; '(term-default-bg-color "black")) (require 'tar-mode) ;; buff-menu+ ;; ~/elisp/buff-menu+.el (require 'buff-menu+) (global-set-key (kbd "C-x C-b") 'buffer-menu) ;; Tex/Latex stuff (add-hook 'reftex-load-hook 'imenu-add-menubar-index) (add-hook 'reftex-mode-hook 'imenu-add-menubar-index) ;; Stripes are horizontal lines with different color (require 'stripes) ;; WithOut man (setq woman-use-own-frame nil) ;; sr-speedbars (require 'sr-speedbar) (global-set-key (kbd "s-s") 'sr-speedbar-toggle) ;; ispell (require 'ispell) (require 'flyspell) (setq ispell-program-name "aspell" ispell-extra-args '("--sug-mode=ultra") ispell-enable-tex-parser t) (setq flyspell-default-dictionary "english" flyspell-delay '1 flyspell-issue-message-flag nil) (dolist (hook '(text-mode-hook lj-compose-mode)) (add-hook hook (lambda () (flyspell-mode 1)))) (dolist (hook '(change-log-mode-hook log-edit-mode-hook)) (add-hook hook (lambda () (flyspell-mode -1)))) ;; Dired ;;;; Notes: ;; 1. wdired-change-to-wdired-mode, then rename files, simple and fast. ;; Oh, and if to use keyboard macroses {C-x ( ; C-x )}, it is really great! :) (require 'dired) (put 'dired-find-alternate-file 'disabled nil) (define-key dired-mode-map [return] 'dired-find-alternate-file) (define-key dired-mode-map [(a)] 'dired-advertised-find-file) (autoload 'thumbs "thumbs" "Preview images in a directory." t) ;; Restructured text, an easy to use and handfull util for editing simple text (require 'rst)