Added rename-file-and-buffer.
[elisp.git] / emacs.el
index 23ca425..b582fa2 100644 (file)
--- a/emacs.el
+++ b/emacs.el
@@ -390,7 +390,6 @@ load-warning buffer in case of failure."
                   :inverse-video nil)
      (mode-line-inactive :background "gray60" :foreground "black" :box nil
                          :inverse-video nil)
-     ;; (tex-verbatim :family nil)
      (region :background "springgreen2")
      (ff/date-info-face :foreground "white" :weight 'bold)
      (ff/mail-alarm-face :foreground "red" :weight 'bold)
@@ -405,8 +404,8 @@ load-warning buffer in case of failure."
 ;; (ff/configure-faces '((default :background "gray80" :foreground "black")))
 
 (when window-system
-  (setq
-   display-time-use-mail-icon t)
+  ;; (setq
+   ;; display-time-use-mail-icon t)
 
   (ff/configure-faces
    '(
@@ -451,6 +450,7 @@ load-warning buffer in case of failure."
                          :inverse-video nil)
      ;; (fringe :background "black" :foreground "gray90")
      (fringe :background "gray65")
+     (tex-verbatim :family "courrier")
      (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)
@@ -672,6 +672,26 @@ occurrences "
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+;; http://blog.tuxicity.se/elisp/emacs/2010/03/26/rename-file-and-buffer-in-emacs.htm
+
+(defun rename-file-and-buffer ()
+  "Renames current buffer and file it is visiting."
+  (interactive)
+  (let ((name (buffer-name))
+        (filename (buffer-file-name)))
+    (if (not (and filename (file-exists-p filename)))
+        (message "Buffer '%s' is not visiting a file!" name)
+      (let ((new-name (read-file-name "New name: " filename)))
+        (cond ((get-buffer new-name)
+               (message "A buffer named '%s' already exists!" new-name))
+              (t
+               (rename-file name new-name 1)
+               (rename-buffer new-name)
+               (set-visited-file-name new-name)
+               (set-buffer-modified-p nil)))))))
+
+(global-set-key (kbd "C-c r") 'rename-file-and-buffer)
+
 (defun ff/non-existing-filename (dir prefix suffix)
   "Returns a filename of the form DIR/PREFIX[.n].SUFFIX whose file does
 not exist"
@@ -846,7 +866,7 @@ printer."
                    (propertize
                     (with-temp-buffer (apply 'call-process x)
                                       (buffer-string))
-                    'face 'highlight)
+                    'face '(:background "gray80"))
                  (with-temp-buffer (apply 'call-process x)
                                    (buffer-string))
                  ))
@@ -896,6 +916,7 @@ printer."
  display-time-interval 15 ;; Check every 15s
 
  display-time-string-forms `(
+
                              ;; (if mail
                              ;;     (concat " "
                              ;;             (propertize " mail "
@@ -1367,6 +1388,10 @@ universal argument starts xfig even if the .fig does not exist"
 (when (ff/load-or-alert "lookup-dict" t)
   (define-key global-map [(control \?)] 'lookup-dict))
 
+;; (defun ff/generate-password () (interactive)
+  ;; (let ((c "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"))
+    ;; (nth (random (length c)) c))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Automatization of things I do often
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1545,7 +1570,7 @@ int main(int argc, char **argv) {
   (interactive)
   (let ((flag-name (replace-regexp-in-string
                     "[\. \(\)]" "_"
-                    (upcase (file-name-nondirectory (buffer-name))))))
+                    (upcase (file-name-nondirectory (buffer-file-name))))))
     (goto-char (point-max))
     (insert "\n#endif\n")
     (goto-char (point-min))
@@ -2204,6 +2229,7 @@ next one. With universal argument, kill all killable buffers."
                              "-framedrop"
                              "-zoom"
                              "-subfont-osd-scale" "3"
+                             ;; "-stop-xscreensaver"
                              ;; "-osdlevel" "3"
                              )
         media/mplayer/timing-request-period 5.0
@@ -2546,7 +2572,9 @@ With argument ARG, do this that many times."
 (when (ff/load-or-alert "enotes" t)
   (setq enotes/file "~/private/enotes"
         enotes/show-help nil
-        enotes/full-display nil)
+        enotes/full-display nil
+        enotes/default-time-fields "9:30")
+
   (enotes/init)
   ;; (add-hook 'enotes/alarm-hook
   ;;  (lambda () (ff/play-sound-async "~/local/sounds/three_notes2.wav")))