;;;; .emacs - konfiguracja Emacsa
;;;;
;;;; Rafał Strzaliński <rafal@strzalinski.pl>
;;;;
;;;; Licencja: używać do woli
;;;;

;; pliki domyśnie w UTF-8
(set-language-environment "UTF-8")


;; browse-url otwiera strony nowym panelu firefox
;; http://paste.lisp.org/display/16558
(load "~/lib/emacs/firefox.el")
(fset 'browse-url 'browse-url-firefox)


;; emacs wiki 
(require 'emacs-wiki)

(global-set-key [f12] (lambda ()
                        (interactive)
                        (emacs-wiki-find-file "WelcomePage")))


;; slime 

(setq inferior-lisp-program "/usr/bin/lisp")
(setq inferior-lisp-program "/usr/bin/sbcl")
;(setq inferior-lisp-program "/usr/local/bin/sbcl")
;(add-to-list 'load-path "/home/rafal/work/lisp/slime")
(require 'slime)
(slime-setup)
(setq slime-multiprocessing t)
;(setq slime-net-coding-system 'latin1)
(setq slime-net-coding-system 'utf-8-unix)

;; nazwy buforow bez numerkow <N>
 ;; za to zawierające nazwę katalogu 
(require 'uniquify)
(setq uniquify-buffer-name-style  'post-forward-angle-brackets)

;; zmiast pytać o yes/no pyta y/n 
(fset 'yes-or-no-p 'y-or-n-p)

;; włącznie kilku przydatnych funkcji
(put 'narrow-to-page 'disabled nil)
(put 'narrow-to-region 'disabled nil)
(put 'eval-expression 'disabled nil)
(put 'downcase-region 'disabled nil)
(put 'upcase-region 'disabled nil)

(setq enable-recursive-minibuffers t
      debug-on-error nil
      cursor-in-non-selected-windows nil)

;; bez propagandy na początku
(setq inhibit-startup-message t)

;; skrolowanie bez centrowania i płynne 
(setq scroll-step 1)
(setq scroll-conservatively 1)

;; kolorkowanie dla każdego trybu
(global-font-lock-mode 1)

;; bez menusa 
(menu-bar-mode -99)
;; włączanie/wyłączanie paska z menu w razie potrzeby
(global-set-key [f11] 'menu-bar-mode)

;; bez toolbara
(tool-bar-mode -1)

;; bez suwaka
(scroll-bar-mode -1)

;; podświetlanie zaznaczonego obszaru
(transient-mark-mode 1)

;; wąski kursor, miedzy znakami
(bar-cursor-mode 1)

;; wklejanie teksty przy pomocy myszki w pozycji kursora
(setf mouse-yank-at-point t)

;; podświetlanie całego bloku (sexpa)
(show-paren-mode t)
(setf show-paren-style 'expression)

;; bez paneli elscreenta 
(setf elscreen-display-tab nil)

;; wswietalnie numerów linii
(column-number-mode 1)

;; cwane dopełnianie 
(partial-completion-mode 1)


;; domyślny transport używany przez tramp
(setq tramp-default-method "scp")

;; uruchamiamy serwer 
(server-start)

;; wyłaczamy przypadkowe wyjscie 
(global-set-key "\C-x\C-c" #'(lambda () 
                               (interactive)
                               (when (yes-or-no-p "Are you sure? ")
                                 (kill-emacs))))

;; tryb do edycji scheme
(require 'quack)

;; svn 
(require 'psvn)


(defun htmlize-dotemacs ()
  (interactive)
  (htmlize-file "~/.emacs" "~/dotemacs.html"))


;; kolorki i fonty 

(color-theme-jsc-dark)

(set-face-attribute 'default nil 
                    :stipple nil
                    :inverse-video nil 
                    :box nil 
                    :strike-through nil 
                    :overline nil 
                    :underline nil 
                    :slant 'normal
                    :weight 'normal 
                    :height 140 
                    :width 'normal 
                    :family "xos4-terminus")

(set-face-attribute 'cursor nil :background "red")

(set-face-attribute 'show-paren-match-face nil :background "#242")

(set-face-attribute 'region nil :background "#224")

(set-face-attribute 'mode-line nil :box nil)

;;;;;   

(custom-set-variables
)
(custom-set-faces
)