X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=elisp.git;a=blobdiff_plain;f=emacs.el;h=0ea7c1468907ebde20b9ea477f6da744d2dd7224;hp=0301d03b41fd972c26484946e70d2aded3291f0b;hb=213ff66eafe47719840ebd8744d083f1a43fd129;hpb=a6876d786f18071b9abf0bfc56e6fc313e503e72 diff --git a/emacs.el b/emacs.el index 0301d03..0ea7c14 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 @@ -58,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) @@ -74,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 @@ -255,8 +267,9 @@ load-warning buffer in case of failure." ;; Stop this crazy blinking cursor (blink-cursor-mode 0) -;; (setq blink-cursor-delay 0.25 -;; blink-cursor-interval 0.25) +;; (setq blink-cursor-delay 0.05 + ;; blink-cursor-blinks 0 + ;; blink-cursor-interval 0.25) ;; (set-terminal-coding-system 'utf-8) @@ -283,8 +296,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 @@ -385,8 +402,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 "black") - (font-lock-comment-face :foreground "black") + (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) @@ -424,11 +441,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 "white") + (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") )) ) @@ -494,7 +516,7 @@ load-warning buffer in case of failure." (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 @@ -689,7 +711,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) ) @@ -1191,14 +1214,9 @@ ff/known-address-face is used." ) (ff/configure-faces '((ff/robot-address-face :foreground "green4") - (ff/personal-address-face :foreground "blue2" :weight 'bold) + (ff/personal-address-face :foreground "dark magenta" :weight 'bold) (ff/important-address-face :foreground "red3" - ;; :foreground "blue2" - ;; :underline t - ;; :background "white" - ;; :foreground "green4" :weight 'bold - ;; :slant 'italic ))) ) @@ -1219,15 +1237,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 @@ -1437,12 +1458,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} @@ -2274,7 +2295,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)) @@ -2310,7 +2331,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" @@ -2392,6 +2413,10 @@ proposes to visit them." (add-hook 'text-mode-hook 'tc/add-text-counters-in-modeline) +;; (add-hook 'text-mode-hook + ;; (lambda () + ;; (setq comment-start " > "))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; A function to remove temporary alarm windows ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -2441,7 +2466,7 @@ proposes to visit them." (if flyspell-mode (flyspell-mode -1) (flyspell-mode 1) (flyspell-buffer)) -) + ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; The fridge! @@ -2469,32 +2494,8 @@ 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)) @@ -2503,7 +2504,7 @@ with a time tag, and save this file" (unless window-system ;; (define-key global-map [(control @)] ff/map) (define-key global-map [(meta O) \`] ff/map) -) + ) (define-key esc-map "`" ff/map) @@ -2512,9 +2513,14 @@ with a time tag, and save this file" (git-status (file-name-directory (buffer-file-name))) (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))) - ) +(defun ff/insert-date (&optional universal) (interactive "P") + ;; (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))) + (if universal + (insert (format-time-string "%d.%m.%Y %H:%M:%S" (current-time))) + (insert (format-time-string "%d.%m.%Y" (current-time)))) + ) (define-key ff/map [(control g)] 'ff/git-status) (define-key ff/map [(control w)] 'server-edit) @@ -2562,7 +2568,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. @@ -2730,9 +2735,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