(add-to-list 'load-path "/usr/share/emacs/site-lisp/vm/")
(add-to-list 'load-path "/usr/share/emacs/site-lisp/bbdb/lisp/")
(add-to-list 'load-path "/usr/share/emacs/site-lisp/mailcrypt/")
-)
+ )
;; It's better to set the preferences in the .Xresources so that the
;; window is not first displayed with the wrong options
(add-to-list 'load-path "~/sources/gpl/elisp")
(add-to-list 'load-path "~/sources/elisp")
+(add-to-list 'load-path "~/local/elisp")
;; No, I do not like menus
(menu-bar-mode -1)
(icomplete-mode 1)
;; (setq highlight-current-line-globally t
- ;; highlight-current-line-ignore-regexp "Faces\\|Colors\\| \\*Mini\\|\\*media\\|INBOX")
+;; highlight-current-line-ignore-regexp "Faces\\|Colors\\| \\*Mini\\|\\*media\\|INBOX")
;; (highlight-current-line-minor-mode 1)
;; (highlight-current-line-set-bg-color "gray75")
;; ;; If my own letter icon is here, use it and change its color
;; (when (file-exists-p "~/local/share/emacs/letter.xbm")
- ;; (setq-default display-time-mail-icon
- ;; (find-image
- ;; '((:type xbm
- ;; :file "~/local/share/emacs/letter.xbm"
- ;; :ascent center)))))
+;; (setq-default display-time-mail-icon
+;; (find-image
+;; '((:type xbm
+;; :file "~/local/share/emacs/letter.xbm"
+;; :ascent center)))))
;; My funky setting of face colors. Basically, we switch to a sober
;; look and darken a bit the colors which need to (because of the
(font-lock-function-name-face :foreground "cyan")
(flyspell-incorrect-face :foreground "red2")
(flyspell-duplicate-face :foreground "OrangeRed2")
+ (hl-line :background "white")
(sh-heredoc :foreground "blue")
(sh-heredoc-face :foreground "blue")
(font-lock-keyword-face :foreground "blue")
(when window-system
;; (setq
- ;; display-time-use-mail-icon t)
+ ;; display-time-use-mail-icon t)
(ff/configure-faces
'(
;; (font-lock-comment-face :foreground "dark violet")
(flyspell-incorrect-face :foreground "red2")
(flyspell-duplicate-face :foreground "OrangeRed2")
+ (hl-line :background "white")
(header-line :background "gray65")
(sh-heredoc :foreground "darkorange3")
(sh-heredoc-face :foreground "darkorange3")
(propertize
(with-temp-buffer (apply 'call-process x)
(buffer-string))
- 'face '(:background "gray80"))
+ 'face '(:background "#c0c0ff"))
(with-temp-buffer (apply 'call-process x)
(buffer-string))
))
)
- ;; display-time-format "%b %a %e %H:%M"
- ;; display-time-mail-face nil
+ ;; display-time-format "%b %a %e %H:%M"
+ ;; display-time-mail-face nil
)
;; Show the time, mail and stuff
;; Please consider the security-related consequences of using it
-(defun ff/make-shell-scripts-executable (&optional filename)
- (setq filename (or filename (buffer-name)))
- (when (and (string-match "\\.sh$\\|\\.pl$\\|\\.rb" filename)
- (not (file-executable-p filename))
- )
- (set-file-modes filename 493)
- (message "Made %s executable" filename)))
+;; (defun ff/make-shell-scripts-executable (&optional filename)
+ ;; (setq filename (or filename (buffer-name)))
+ ;; (when (and (string-match "\\.sh$\\|\\.pl$\\|\\.rb" filename)
+ ;; (not (file-executable-p filename))
+ ;; )
+ ;; (set-file-modes filename 493)
+ ;; (message "Made %s executable" filename)))
+
+;; (add-hook 'after-save-hook 'ff/make-shell-scripts-executable)
-(add-hook 'after-save-hook 'ff/make-shell-scripts-executable)
+(add-hook 'after-save-hook
+ 'executable-make-buffer-file-executable-if-script-p)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Cool stuff to navigate in emacs-lisp sources
(define-key global-map [(control \?)] 'lookup-dict))
;; (defun ff/generate-password () (interactive)
- ;; (let ((c "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"))
- ;; (nth (random (length c)) c))
+;; (let ((c "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"))
+;; (nth (random (length c)) c))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Automatization of things I do often
(goto-char (point-min))
(when (and (re-search-forward "START_IP_HEADER" nil t)
(re-search-forward "END_IP_HEADER" nil t))
- (message "yep"))
+ (message "yep"))
))
(defun ff/add-gpl ()
(defun ff/cout-var (arg)
"Invoked on a line with a list of variables names,
-it inserts a line which displays their values in cout
-(or cerr if the function is invoked with a universal arg)"
+it inserts a line which displays their values in cout, or cerr if
+the function is invoked with a universal arg"
(interactive "P")
(let ((line (if arg "cerr" "cout")))
(goto-char (point-at-bol))
(define-key latex-mode-map [(control c) (control a)] 'align-current)
(define-key latex-mode-map [(control end)] 'tex-close-latex-block)
(define-key latex-mode-map [(control tab)] 'ispell-complete-word)
- (flyspell-mode)
- (reftex-mode)
+ ;; (flyspell-mode 1)
+ ;; (reftex-mode 1)
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(ff/add-copyrights)
(ff/start-c))
- (when (string-match "\\.cc$" filename)
+ (when (string-match "\.\\(cc\\|cpp\\)$" filename)
(c++-mode)
(ff/add-copyrights)
- (let ((headername (replace-regexp-in-string "\.cc" ".h" filename)))
+ (let ((headername (replace-regexp-in-string "\\.\\(cc\\|cpp\\)$" ".h"
+ filename)))
(if (file-exists-p headername)
(insert (concat "\n#include \"" (file-name-nondirectory headername) "\"\n"))
(ff/start-c++))
)
)
-(setq compilation-finish-functions (cons 'ff/restore-windows-if-no-error compilation-finish-functions))
+(add-to-list 'compilation-finish-functions 'ff/restore-windows-if-no-error)
(defun ff/fast-compile ()
"Compiles without asking anything."
(while (re-search-forward "[0-9\.]+" nil t)
(let ((value (string-to-number (buffer-substring (match-beginning 0) (match-end 0)))))
(delete-region (match-beginning 0) (match-end 0))
- (insert (format "%0.2f" value)))))))
+ (insert (format "%0.0f" value)))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Keymaping
(when (ff/load-or-alert "media")
(unless window-system
- (ff/configure-faces '(
- (media/mode-string-face :foreground "blue4" :weight 'bold)
- (media/current-tune-face :foreground "black" :background "yellow" :weight 'normal)
- (media/instant-highlight-face :foreground "black" :background "orange" :weight 'normal)
- ))
+ (ff/configure-faces
+ '(
+ (media/mode-string-face
+ :foreground "blue4" :weight 'bold)
+
+ (media/current-tune-face
+ :foreground "black" :background "yellow" :weight 'normal)
+
+ (media/instant-highlight-face
+ :foreground "black" :background "orange" :weight 'normal)
+ ))
)
(define-key global-map [(meta \\)] 'media)
(flyspell-mode)
(when flyspell-mode (flyspell-buffer)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; The fridge!
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
(defun ff/move-region-to-fridge () (interactive)
"Cut the current region, paste it in a file called ./fridge
with a time tag, and save this file"
- (kill-region (region-beginning) (region-end))
- (with-current-buffer (find-file-noselect "fridge")
- (goto-char (point-max))
- (insert "\n"
- (format-time-string "%Y %b %d %H:%M:%S" (current-time))
- "\n\n")
- (yank)
- (save-buffer)
+ (unless (use-region-p) (error "No region selected"))
+ (let ((bn (file-name-nondirectory (buffer-file-name))))
+ (kill-region (region-beginning) (region-end))
+ (with-current-buffer (find-file-noselect "fridge")
+ (goto-char (point-max))
+ (insert "\n")
+ (insert "######################################################################\n")
+ (insert "\n"
+ (format-time-string "%Y %b %d %H:%M:%S" (current-time))
+ " (from "
+ bn
+ ")\n\n")
+ (yank)
+ (save-buffer)
+ (message "Region moved to fridge")
+ )
)
)
(define-key ff/map "3" 'ff/twin-horizontal-current-buffer)
(define-key ff/map [?\C-3] 'ff/twin-horizontal-current-buffer)
+(define-key ff/map " " 'delete-trailing-whitespace)
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Hacks so that all keys are functionnal in xterm and through ssh.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;