X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=emacs.el;h=759ee9c7260df9e46bcb29581cfa74ad7baf4b13;hb=138cf1ad3e5ec55b45cc4a221088ddd5fdf90eda;hp=d9d2ec5b7014346e289488d7769c4d161edcb6ce;hpb=b01b564e2f6c23ab0b5440c7473c724901c600f5;p=elisp.git diff --git a/emacs.el b/emacs.el index d9d2ec5..759ee9c 100644 --- a/emacs.el +++ b/emacs.el @@ -18,6 +18,11 @@ ;; Contact for comments & bug reports ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; (defadvice display-warning (before ff/blah (type message &optional level buffer-name) activate) + ;; (message "--- BLAH %s ---" message) + ;; (backtrace) +;; ) + ;; It's better to set the preferences in the .Xresources so that the ;; window is not first displayed with the wrong options @@ -31,11 +36,11 @@ ;; Xft.antialias: true ;; Xft.rgba: rgb -;; (set-default-font "Inconsolata 15") +(set-frame-font "Inconsolata 14") ;; (package-initialize) -(set-default-font "Bitstream vera sans mono-12") +;; (set-default-font "Bitstream vera sans mono 12") ;; (set-default-font "Liberation Mono-13") ;; (set-default-font "DejaVu sans mono 15") ;; (set-default-font "Droid sans mono 13") @@ -88,6 +93,8 @@ ;; use colorization for all modes (global-font-lock-mode t) +;; (load "auctex") + (setq font-lock-maximum-decoration 3 ;;'((latex-mode . 2) (t . 2)) ) @@ -123,11 +130,16 @@ uses `load-path' to find it." (ff/compile-when-needed (concat name ".el")) (mapc (lambda (dir) (let* ((src (concat dir "/" name))) + ;; (message "Compiling " scr) ;;*********** (when (file-newer-than-file-p src (concat src "c")) - (if (let ((byte-compile-verbose nil)) - (condition-case nil - (byte-compile-file src) - (error nil))) + (if + ;; (let ((byte-compile-verbose nil)) + ;; (condition-case nil + ;; (byte-compile-file src) + ;; (error nil))) + + (byte-compile-file src) + (message (format "Compiled %s" src )) (message (format "Failed compilation of %s" src)))))) load-path))) @@ -184,7 +196,7 @@ load-warning buffer in case of failure." next-error-highlight t ;; blink the screen instead of beeping - ;; visible-bell t + visible-bell t ;; take the CR when killing a line kill-whole-line t @@ -231,6 +243,10 @@ load-warning buffer in case of failure." epa-file-cache-passphrase-for-symmetric-encryption t ;; And I like ascii files epa-armor t + ;; This goes with in your ~/.gnupg/gpg-agent.conf: + ;; allow-emacs-pinentry + ;; allow-loopback-pinentry + epa-pinentry-mode 'loopback ;; tramp-default-method "ssh" tramp-default-method "scp" @@ -249,9 +265,11 @@ load-warning buffer in case of failure." ;; vertically, even when the said window is very wide split-height-threshold 0 split-width-threshold nil - ) +(custom-set-variables + '(query-replace-from-to-separator nil)) + ;; The backups (setq @@ -437,7 +455,7 @@ load-warning buffer in case of failure." (sh-heredoc :foreground "black" :background "#fff0f0") (sh-heredoc-face :foreground "black" :background "#fff0f0") (header-line :background "gray65") - (highlight :background "turquoise") + (highlight :background "white") (message-cited-text-face :foreground "firebrick") (isearch :background "yellow" :foreground "black") (isearch-lazy-highlight-face' :background "yellow3" :foreground "black") @@ -496,7 +514,7 @@ load-warning buffer in case of failure." (sh-heredoc :foreground "black" :background "#fff0f0") (sh-heredoc-face :foreground "black" :background "#fff0f0") (font-lock-keyword-face :foreground "blue") - (highlight :background "darkseagreen3") + (highlight :background "white") (isearch :background "orange" :foreground "black") (isearch-lazy-highlight-face' :background "yellow" :foreground "black") ;; (display-time-mail-face :background "white") @@ -816,12 +834,15 @@ printer." ;; Dealing with the laptop battery ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defcustom ff/battery-dirs '("/sys/class/power_supply/BAT0" - "/sys/class/power_supply/BAT1") +(defcustom ff/battery-dirs '("/sys/class/power_supply/BAT0") "*Where to gather the battery information") (defcustom ff/temperature-files '("/sys/class/thermal/thermal_zone0/temp" - "/sys/class/thermal/thermal_zone1/temp") + "/sys/class/thermal/thermal_zone1/temp" + "/sys/class/thermal/thermal_zone2/temp" + "/sys/class/thermal/thermal_zone3/temp" + "/sys/class/thermal/thermal_zone4/temp" + "/sys/class/thermal/thermal_zone5/temp") "*Where to gather the thermal information") (defun ff/file-first-line (file) @@ -1215,9 +1236,10 @@ goback argument, go back where we were." (load "vc-git") -(defun ff/git-pull-push () (interactive) +(defun ff/git-pull-push (universal) (interactive "P") + (when universal (shell-command "git commit -a -m \"Update.\"" nil)) (message "git pull / push ...") - (async-shell-command "git pull && git push" nil) + (async-shell-command "git remote get-url origin && git pull && git push" nil) ) (defun ff/git-pull () (interactive) @@ -1239,7 +1261,7 @@ goback argument, go back where we were." ;; Failsafe version if we can't load bbdb (defun ff/explicit-name (email) email) - (when (ff/load-or-alert "bbdb") + (when (with-no-warnings (ff/load-or-alert "bbdb")) (setq ;; Stop asking (if not t or nil, will not ask) @@ -1314,12 +1336,14 @@ ff/known-address-face is used." ;; An encrypted file to put secure stuff (passwords, ...) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(when (ff/load-or-alert "mailcrypt") - (mc-setversion "gpg") - ;; Keep the passphrase for 10min - (setq mc-passwd-timeout 600 - ff/secure-note-file "~/private/secure-notes.gpg") - ) +(setq ff/secure-note-file "~/private/secure-notes.gpg") + +;; (when (ff/load-or-alert "mailcrypt") + ;; (mc-setversion "gpg") + ;; ;; Keep the passphrase for 10min + ;; (setq mc-passwd-timeout 600 + ;; ff/secure-note-file "~/private/secure-notes.gpg") + ;; ) (defface ff/secure-date '((t (:background "white" :weight bold))) @@ -1420,7 +1444,7 @@ universal argument starts xfig even if the .fig does not exist" '(("fig" . "xfig") ("jpg" . "gimp" ) ("png" . "gimp") ("pgm" . "gimp") ("ppm" . "gimp") - ("jpg" . "xv")) + ("svg" . "inkscape")) universal) (if (not (and (buffer-file-name) (string-match "\\(.*\\)\.tex$" @@ -1438,18 +1462,24 @@ universal argument starts xfig even if the .fig does not exist" )) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Tex mode -;; When working on a tex file with other people, I can just change -;; ff/tex-command in the -*- part of the file so that I don't mess up -;; other's people configuration. +(defun ff/save-window-configuration (universal) (interactive "P") + (if universal + (setq ff/window-configuration (current-window-configuration)) + (set-window-configuration ff/window-configuration)) + ) -(defadvice tex-file (around ff/set-my-own-tex-command () activate) - (let ((tex-command - (or (and (boundp 'ff/tex-command) - ff/tex-command) - tex-command))) - ad-do-it)) +(define-key global-map [(control =)] 'ff/save-window-configuration) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Tex mode + +;; (defadvice tex-file (around ff/set-my-own-tex-command () activate) + ;; (let ((ff/window-configuration-before-compilation (current-window-configuration))) + ;; ad-do-it + ;; (set-window-configuration ff/window-configuration-before-compilation) + ;; ) + ;; ) ;; This is a bit hardcore, but really I can't bear the superscripts in ;; my emacs window and could not find another way to deactivate them. @@ -1517,7 +1547,7 @@ universal argument starts xfig even if the .fig does not exist" ;; (ff/play-sound-async "~/local/sounds/short_la.wav") )) -(setq ring-bell-function 'ff/ring-bell) +;; (setq ring-bell-function 'ff/ring-bell) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Past the content of the url currently in the kill-ring with @@ -1534,8 +1564,15 @@ universal argument starts xfig even if the .fig does not exist" (call-process "w3m" nil t nil "-dump" url)) ) -(define-key global-map [(shift mouse-2)] - (lambda () (interactive) (ff/insert-url (current-kill 0)))) +;; (define-key global-map [(shift mouse-2)] + ;; (lambda () (interactive) (ff/insert-url (current-kill 0)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Trying to deal with cut-paste + +(setq x-select-enable-clipboard t) +(setq interprogram-paste-function 'x-cut-buffer-or-selection-value) +(define-key global-map [(shift mouse-2)] 'clipboard-yank) ;; lookup-dict is one of my own scripts, check my web page @@ -1573,6 +1610,7 @@ universal argument starts xfig even if the .fig does not exist" \\usepackage[pdftex]{graphicx} \\usepackage{microtype} \\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref} +\\usepackage{tikz} \\setlength{\\parindent}{0cm} \\setlength{\\parskip}{12pt} @@ -1796,19 +1834,14 @@ require 'optim' "Adds all the stuff to start a new python file" (interactive) (goto-char (point-min)) - (insert "#!/usr/bin/env python-for-pytorch + (insert "#!/usr/bin/env python import math import torch, torchvision -from torch import Tensor -from torch import Tensor as T - from torch import nn from torch.nn import functional as F -from torch.nn.parameter import Parameter -from torch.nn import Module ") (python-mode) @@ -2291,6 +2324,8 @@ This may be a useful alternative binding for \\[delete-other-windows] ;; Compiles the latex file in the current buffer + + (setq tex-start-commands "\\input") (define-key global-map [f3] 'tex-file) (define-key global-map [(shift f3)] 'tex-bibtex-file)