X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=elisp.git;a=blobdiff_plain;f=emacs.el;h=3071b3e37a277ee2803f386366c91090f69dba80;hp=a3e138646460eb8c1647c40fc4fac5aef551fff5;hb=74f5eb2b7411806c5a787541c8380b5f548f2ccf;hpb=a4beb5269fa0161160fb23997d9d7c9153184c1a diff --git a/emacs.el b/emacs.el index a3e1386..3071b3e 100644 --- a/emacs.el +++ b/emacs.el @@ -31,6 +31,14 @@ ;; Xft.antialias: true ;; Xft.rgba: rgb +(when (fboundp 'horizontal-scroll-bar-mode) + (horizontal-scroll-bar-mode -1)) + +;; This is where I put most of my emacs-related files +(setq ff/emacs-dir "~/private/emacs") +(unless (file-exists-p ff/emacs-dir) + (mkdir ff/emacs-dir t)) + ;; Give the focus to the emacs window if we are under a windowing ;; system @@ -50,6 +58,7 @@ ;; Nor fringes ;; (when (functionp 'fringe-mode) (fringe-mode '(0 . 0))) ;; (when (functionp 'fringe-mode) (fringe-mode '(0 . 1))) +(when (functionp 'fringe-mode) (fringe-mode 10)) ;; And I do not like scrollbar neither (when (functionp 'scroll-bar-mode) (scroll-bar-mode -1)) @@ -57,6 +66,10 @@ ;; Make all "yes or no" prompts be "y or n" instead (fset 'yes-or-no-p 'y-or-n-p) +;; The space bar acting as "yes" has been several times really +;; problematic. +(define-key query-replace-map (kbd "SPC") nil) + ;; Show the matching parenthesis and do it immediately, we are in a ;; hurry (setq show-paren-delay 0) @@ -73,7 +86,7 @@ (iswitchb-mode 1) ;; Save the minibuffer history -(setq savehist-file "~/private/emacs/savehist") +(setq savehist-file (concat ff/emacs-dir "/savehist")) (when (functionp 'savehist-mode) (savehist-mode 1)) ;; And allow minibuffer recursion @@ -208,7 +221,8 @@ load-warning buffer in case of failure." ;; And I like ascii files epa-armor t - tramp-default-method "ssh" + ;; tramp-default-method "ssh" + tramp-default-method "scp" ;; I have no problem with files having their own local variables enable-local-eval t @@ -281,8 +295,12 @@ load-warning buffer in case of failure." ;; This is the default coding system when toggle-input-method is ;; invoked (C-\) default-input-method "latin-1-prefix" + ;; do not put tabs when indenting indent-tabs-mode nil + ;; Stop indenting automatically, that's annoying + electric-indent-chars nil + ;; And yes, we have a fast display / connection / whatever baud-rate 524288 ;; baud-rate 10 @@ -383,6 +401,8 @@ load-warning buffer in case of failure." (ff/configure-faces '((italic :underline nil) (info-title-2 :foreground "green") + (font-lock-comment-delimiter-face :foreground "green") + (font-lock-comment-face :foreground "green") (cperl-array-face :background "gray90" :foreground "blue" :weight 'bold) (cperl-hash-face :background "gray90" :foreground "purple" :weight 'bold) (diff-added :background "gray90" :foreground "green4" :weight 'bold) @@ -399,11 +419,10 @@ load-warning buffer in case of failure." (font-lock-string-face :foreground "green") (font-lock-variable-name-face :foreground "blue") (font-lock-constant-face :foreground "blue") - (font-lock-function-name-face :foreground "blue") (font-lock-preprocessor-face :foreground "green") (font-lock-function-name-face :foreground "cyan") - (flyspell-incorrect-face :foreground "red2") - (flyspell-duplicate-face :foreground "OrangeRed2") + (flyspell-incorrect :foreground "red2") + (flyspell-duplicate :foreground "OrangeRed2") (hl-line :background "white") (sh-heredoc :foreground "black" :background "#fff0f0") (sh-heredoc-face :foreground "black" :background "#fff0f0") @@ -421,11 +440,16 @@ load-warning buffer in case of failure." :inverse-video nil) (mode-line-inactive :background "gray60" :foreground "black" :box nil :inverse-video nil) - (region :background "springgreen2") + (region :background "white" :foreground "black") (ff/date-info-face :foreground "white" :weight 'bold) (ff/mail-alarm-face :foreground "red" :weight 'bold) + (selector/selection :background "yellow") (gui-button-face :background "green" :foreground "white") (enotes/information-face :foreground "cyan") + + (file-name-shadow :foreground "black") + (shadow :foreground "black") + (warning :foreground "black" :background "red") )) ) @@ -458,11 +482,12 @@ load-warning buffer in case of failure." (font-lock-builtin-face :foreground "deeppink3") (font-lock-string-face :foreground "dark olive green") (font-lock-variable-name-face :foreground "sienna") - (font-lock-function-name-face :foreground "blue4" :weight 'bold) + ;; (font-lock-function-name-face :foreground "blue" :weight 'bold) + (font-lock-function-name-face :foreground "blue") ;; (font-lock-comment-delimiter-face :foreground "dark violet") ;; (font-lock-comment-face :foreground "dark violet") - (flyspell-incorrect-face :foreground "red2") - (flyspell-duplicate-face :foreground "OrangeRed2") + (flyspell-incorrect :background "#ff0000" :foreground "black") + (flyspell-duplicate :background "#ff9000" :foreground "black") (hl-line :background "white") (sh-heredoc :foreground "black" :background "#fff0f0") (sh-heredoc-face :foreground "black" :background "#fff0f0") @@ -489,7 +514,8 @@ load-warning buffer in case of failure." (ff/date-info-face :foreground "white" :weight 'bold) (ff/mail-alarm-face :foreground "white" :background "red2") ;; (alarm-vc-face :foreground "black" :background "yellow" :weight 'normal) - )) + (gui-button-face :background "green" :foreground "black") + )) ) ;; When we are root, put the modeline in red @@ -684,7 +710,8 @@ occurrences " ps-header-line-pad 0.3 ps-header-font-family 'Courier ps-header-title-font-size '(8.5 . 10) - ps-header-font-size '(6 . 7) + ;; ps-header-font-size '(6 . 7) + ps-header-font-size '(10 . 12) ps-font-size '(7 . 8) ) @@ -798,7 +825,7 @@ printer." (if (> temp 50) (concat (let ((s (format "%dC " temp))) - (if (> temp 65) (propertize s 'face + (if (> temp 70) (propertize s 'face 'font-lock-warning-face) s)) ) @@ -1186,9 +1213,9 @@ ff/known-address-face is used." ) (ff/configure-faces '((ff/robot-address-face :foreground "green4") - (ff/personal-address-face :foreground "dark magenta" - :weight 'bold) - (ff/important-address-face :foreground "blue2" + (ff/personal-address-face :foreground "blue2" :weight 'bold) + (ff/important-address-face :foreground "red3" + ;; :foreground "blue2" ;; :underline t ;; :background "white" ;; :foreground "green4" @@ -1214,15 +1241,18 @@ ff/known-address-face is used." "The face to display the dates in the modeline.") (defun ff/secure-note-add () (interactive) - (find-file ff/secure-note-file) - - ;; Adds a new entry (i.e. date and a bunch of empty lines) - (goto-char (point-min)) - (insert "-- " - (format-time-string "%Y %b %d %H:%M:%S" (current-time)) - " --\n\n") - (previous-line 1) + (unless + (let ((b (find-buffer-visiting ff/secure-note-file))) + (and b (switch-to-buffer b))) + (find-file ff/secure-note-file) + ;; Adds a new entry (i.e. date and a bunch of empty lines) + (goto-char (point-min)) + (insert "-- " + (format-time-string "%Y %b %d %H:%M:%S" (current-time)) + " --\n\n") + (previous-line 1) + ) ;; Colorizes the dates @@ -1432,12 +1462,12 @@ universal argument starts xfig even if the .fig does not exist" \\def\\argmin{\\operatornamewithlimits{argmin}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Sans serif fonts -%% \\usepackage[T1]{fontenc} -%% \\usepackage[scaled]{helvet} -%% \\usepackage[cm]{sfmath} -%% \\renewcommand{\\ttdefault}{pcr} -%% \\renewcommand*\\familydefault{\\sfdefault} +%% Open sans font +\\usepackage[default]{opensans} +\\usepackage{cmbright} +\\renewcommand{\\familydefault}{fos} +\\renewcommand{\\seriesdefault}{l} +\\renewcommand{\\bfdefault}{sb} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% The \\todo command \\newcounter{nbdrafts} @@ -1637,6 +1667,11 @@ int main(int argc, char **argv) { + @@ -1960,6 +1995,19 @@ a file in /tmp" ;; (when (ff/load-or-alert "flyspell-timer" t) ;; (add-hook 'flyspell-mode-hook 'flyspell-timer-ensure-idle-timer)) +(defun ff/start-flyspell () (interactive) + (ff/configure-faces + '( + ;; (flyspell-incorrect :background "#ff0000" :foreground "black") + ;; (flyspell-duplicate :background "#ff9000" :foreground "black") + (flyspell-incorrect :foreground "#ff0000" :weight 'bold) + (flyspell-duplicate :foreground "#ff9000" :weight 'bold) + )) + ;; (flyspell-buffer) + ) + +(add-hook 'flyspell-mode-hook 'ff/start-flyspell) + (defun ff/pick-dictionnary () (interactive) (when (and (boundp 'flyspell-mode) flyspell-mode) (if (and current-input-method (string-match "latin" current-input-method)) @@ -2251,7 +2299,7 @@ next one. With universal argument, kill all killable buffers." "\.bbl$" "\.aux$" "\.toc$" )) recentf-max-saved-items 1000 - recentf-save-file "~/private/emacs/recentf" + recentf-save-file (concat ff/emacs-dir "/recentf") ) (when (boundp 'recentf-keep) (add-to-list 'recentf-keep 'file-remote-p)) @@ -2287,7 +2335,7 @@ next one. With universal argument, kill all killable buffers." media/add-current-song-to-interrupted-when-killing t media/duration-to-history 30 media/history-size 1000 - media/playlist-file "~/private/emacs/media-playlists" + media/playlist-file (concat ff/emacs-dir "/media-playlists") media/mplayer/args '( "-framedrop" "-zoom" @@ -2296,7 +2344,7 @@ next one. With universal argument, kill all killable buffers." ;; "-stop-xscreensaver" ;; "-osdlevel" "3" ) - media/mplayer/timing-request-period 5.0 + media/mplayer/timing-request-period 1.0 ) ) @@ -2418,7 +2466,7 @@ proposes to visit them." (if flyspell-mode (flyspell-mode -1) (flyspell-mode 1) (flyspell-buffer)) -) + ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; The fridge! @@ -2446,37 +2494,17 @@ with a time tag, and save this file" ) ) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Let's be zen. Remove the modeline and fringes. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(setq ff/zen-original-setting nil) - -(defun ff/zen () (interactive) - (if ff/zen-original-setting - (setq mode-line-format (car ff/zen-original-setting) - fringe-mode (cdr ff/zen-original-setting) - ff/zen-original-setting nil) - (setq ff/zen-original-setting (cons mode-line-format fringe-mode) - mode-line-format nil - fringe-mode '(0 . 0)) - (delete-other-windows) - ) - (fringe-mode fringe-mode) - (if ff/zen-original-setting - (message "Zen mode") - (message "Cluttered mode")) - ) - -;; (define-key global-map [(control x) (x)] 'ff/zen) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; My own keymap +;; My own keymap mapped to C-` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq ff/map (make-sparse-keymap)) (define-key global-map [(control \`)] ff/map) -;;(define-key global-map [(control @)] ff/map) + +(unless window-system + ;; (define-key global-map [(control @)] ff/map) + (define-key global-map [(meta O) \`] ff/map) + ) (define-key esc-map "`" ff/map) @@ -2486,7 +2514,10 @@ with a time tag, and save this file" (error "No file attached to this buffer"))) (defun ff/insert-date () (interactive) - (insert (format-time-string "\n * %Y %b %d %H:%M:%S\n\n" (current-time))) + ;; (insert (format-time-string "\n * %Y %b %d %H:%M:%S\n\n" (current-time))) + ;; (insert (format-time-string "%Y %b %d %H:%M:%S" (current-time))) + ;; (insert (format-time-string "%d.%m.%y" (current-time))) + (insert (format-time-string "%d.%m.%Y" (current-time))) ) (define-key ff/map [(control g)] 'ff/git-status) @@ -2535,7 +2566,6 @@ with a time tag, and save this file" (define-key ff/map [?\C-3] 'ff/twin-horizontal-current-buffer) (define-key ff/map " " 'delete-trailing-whitespace) -(define-key ff/map [(control x)] 'ff/zen) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Hacks so that all keys are functionnal in xterm and through ssh. @@ -2703,9 +2733,9 @@ With argument ARG, do this that many times." ;; Where to save the bookmarks and where is bbdb -(setq bookmark-default-file "~/private/emacs/bmk" +(setq bookmark-default-file (concat ff/emacs-dir "/bmk") bbdb-file "~/private/bbdb" - custom-file "~/private/emacs/custom") + custom-file (concat ff/emacs-dir "/custom")) ;; enotes.el is one of my own scripts, check my web page