Many uncommitted changes
authorAmin Bandali <bandali@gnu.org>
Sun, 14 Mar 2021 04:44:05 +0000 (23:44 -0500)
committerAmin Bandali <bandali@gnu.org>
Sun, 14 Mar 2021 04:44:05 +0000 (23:44 -0500)
22 files changed:
.Xresources.d/emacs
.bashrc
.config/gtk-3.0/settings.ini
.config/isync/mbsyncrc
.config/msmtp/config
.config/picom/picom.conf
.emacs.d/etc/abbrev.el [deleted file]
.emacs.d/etc/yasnippet/snippets/log-edit-mode/thankgnu
.emacs.d/etc/yasnippet/snippets/message-mode/thankgnu
.emacs.d/init.el
.emacs.d/lisp/bandali-ebdb.el
.emacs.d/lisp/bandali-erc.el
.emacs.d/lisp/bandali-exwm.el
.emacs.d/lisp/bandali-gnus.el
.emacs.d/lisp/page-break-lines [deleted submodule]
.emacs.d/lisp/refinery-theme [deleted submodule]
.gitmodules
.gnupg/gpg-agent.conf
.gtkrc-2.0
.profile
.signature
.xinitrc

index e415330..a431a86 100644 (file)
@@ -20,3 +20,5 @@ Emacs.font: Source Code Pro Medium:size=14
 !Emacs.font: Vazir:size=14
 ! Emacs.font: Ubuntu Mono:size=16
 ! Emacs.font: Iosevka:size=16
 !Emacs.font: Vazir:size=14
 ! Emacs.font: Ubuntu Mono:size=16
 ! Emacs.font: Iosevka:size=16
+
+!emacs.background: white
diff --git a/.bashrc b/.bashrc
index 397aa80..321c1de 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -39,7 +39,7 @@ PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: $(b_prompt)\007"'
 
 # i-beam cursor
 # echo -e "\033[5 q"              # blinking
 
 # i-beam cursor
 # echo -e "\033[5 q"              # blinking
-echo -e "\033[6 q"              # non-blinking
+echo -e "\033[6 q"              # non-blinking
 
 # various bash tweaks
 # disallow overwriting existing file using redirection
 
 # various bash tweaks
 # disallow overwriting existing file using redirection
@@ -84,6 +84,9 @@ alias e="$EDITOR"
 alias se="SUDO_EDITOR=\"emacsclient\" sudo -e"
 alias s="startx"
 
 alias se="SUDO_EDITOR=\"emacsclient\" sudo -e"
 alias s="startx"
 
+alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
+complete -F _quilt_completion -o filenames dquilt
+
 aur() {
    cd ~/s
    [ -d ${1} ] || git clone https://aur.archlinux.org/${1}.git
 aur() {
    cd ~/s
    [ -d ${1} ] || git clone https://aur.archlinux.org/${1}.git
index bb12559..c35f779 100644 (file)
@@ -1,11 +1,11 @@
 [Settings]
 [Settings]
-gtk-icon-theme-name = Adwaita
+gtk-icon-theme-name = Trisquel
 # gtk-theme-name = Adwaita
 
 # gtk-theme-name = Adwaita
 
-gtk-theme-name = Xfce
+gtk-theme-name = trisquel
 # gtk-theme-name = Arc-Darker
 # gtk-theme-name = Numix-ArchBlue
 
 # gtk-theme-name = Arc-Darker
 # gtk-theme-name = Numix-ArchBlue
 
-gtk-font-name = Roboto 10
+gtk-font-name = Roboto 9
 # gtk-font-name = Source Code Variable Medium 10
 # gtk-key-theme-name = Emacs
 # gtk-font-name = Source Code Variable Medium 10
 # gtk-key-theme-name = Emacs
index 1cd2e3a..81c0191 100644 (file)
@@ -34,7 +34,7 @@ Host mail.shemshak.org
 User gnu@bndl.org
 PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/gnub.gpg"
 SSLType IMAPS
 User gnu@bndl.org
 PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/gnub.gpg"
 SSLType IMAPS
-Timeout 30
+Timeout 60
 
 IMAPStore gnub-remote
 Account gnub
 
 IMAPStore gnub-remote
 Account gnub
index 13e9d88..7d8f8da 100644 (file)
@@ -9,7 +9,7 @@ logfile ~/.msmtp.log
 account shemshak
 host mail.shemshak.org
 # use `msmtp -a shemshak --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
 account shemshak
 host mail.shemshak.org
 # use `msmtp -a shemshak --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
-tls_fingerprint 3C:DA:93:CD:5A:B7:04:2D:08:7F:E4:DF:59:07:A4:75:43:3E:5A:A6:54:D8:AA:94:FE:F2:BC:C4:2B:B5:97:A6
+tls_fingerprint A3:A3:B6:B3:05:5E:A2:86:17:2C:80:9E:33:1F:0A:58:8E:26:F9:A0:6E:7B:B4:9A:C6:3B:E3:8E:EA:0E:36:99
 tls_starttls on
 from amin@shemshak.org
 user bandali@shemshak.org
 tls_starttls on
 from amin@shemshak.org
 user bandali@shemshak.org
@@ -25,7 +25,7 @@ from a@bndl.org
 account gnu
 host fencepost.gnu.org
 # use `msmtp -a gnu --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
 account gnu
 host fencepost.gnu.org
 # use `msmtp -a gnu --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint
-tls_fingerprint 0D:7B:DE:AD:1F:C2:4F:2E:5A:C8:32:68:D0:D3:72:8D:6B:79:29:61:26:05:12:97:8E:5D:A9:1B:7E:6E:30:FC
+tls_fingerprint 04:34:F8:F1:AF:1D:F8:FA:8A:E9:FD:A7:C1:77:A1:AD:99:75:48:4F:C1:31:F1:A7:9E:25:C2:96:7A:28:53:05
 tls_starttls on
 from bandali@gnu.org
 user bandali
 tls_starttls on
 from bandali@gnu.org
 user bandali
index 097fed5..b3ad0e5 100644 (file)
@@ -16,6 +16,7 @@ shadow-radius = 7;
 
 # The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
 # shadow-opacity = .75
 
 # The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
 # shadow-opacity = .75
+shadow-opacity = 0.83
 
 # The left offset for shadows, in pixels. (defaults to -15)
 # shadow-offset-x = -15
 
 # The left offset for shadows, in pixels. (defaults to -15)
 # shadow-offset-x = -15
@@ -44,10 +45,12 @@ shadow-offset-y = -7;
 #
 # shadow-exclude = []
 shadow-exclude = [
 #
 # shadow-exclude = []
 shadow-exclude = [
+  "! name ~= ''",
   "name = 'Notification'",
   "class_g = 'Conky'",
   "class_g ?= 'Notify-osd'",
   "class_g = 'Cairo-clock'",
   "name = 'Notification'",
   "class_g = 'Conky'",
   "class_g ?= 'Notify-osd'",
   "class_g = 'Cairo-clock'",
+  "argb && ! window_type *= 'menu'",
   "_GTK_FRAME_EXTENTS@:c"
 ];
 
   "_GTK_FRAME_EXTENTS@:c"
 ];
 
@@ -75,13 +78,17 @@ fading = true;
 # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
 # fade-in-step = 0.028
 fade-in-step = 0.03;
 # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
 # fade-in-step = 0.028
 fade-in-step = 0.03;
+#fade-in-step = 0.1;
 
 # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
 # fade-out-step = 0.03
 fade-out-step = 0.03;
 
 # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
 # fade-out-step = 0.03
 fade-out-step = 0.03;
+#fade-out-step = 0.1;
 
 # The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
 # fade-delta = 10
 
 # The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
 # fade-delta = 10
+fade-delta = 2
+#fade-delta = 9
 
 # Specify a list of conditions of windows that should not be faded.
 # fade-exclude = []
 
 # Specify a list of conditions of windows that should not be faded.
 # fade-exclude = []
@@ -107,11 +114,12 @@ inactive-opacity = 0.8;
 frame-opacity = 0.7;
 
 # Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
 frame-opacity = 0.7;
 
 # Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
-inactive-opacity-override = true
-inactive-opacity-override = false;
+inactive-opacity-override = true
+inactive-opacity-override = false;
 
 # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
 # active-opacity = 1.0
 
 # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
 # active-opacity = 1.0
+#active-opacity = 0.95
 
 # Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
 # inactive-dim = 0.0
 
 # Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
 # inactive-dim = 0.0
@@ -206,8 +214,8 @@ blur-background-exclude = [
 # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
 # `xrender` is the default one.
 #
 # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
 # `xrender` is the default one.
 #
-backend = "glx"
-backend = "xrender";
+backend = "glx"
+backend = "xrender";
 
 # Enable/disable VSync.
 # vsync = false
 
 # Enable/disable VSync.
 # vsync = false
@@ -249,6 +257,7 @@ refresh-rate = 0;
 # provided that the WM supports it.
 #
 # use-ewmh-active-win = false
 # provided that the WM supports it.
 #
 # use-ewmh-active-win = false
+use-ewmh-active-win = true
 
 # Unredirect all windows if a full-screen opaque window is detected,
 # to maximize performance for full-screen windows. Known to cause flickering
 
 # Unredirect all windows if a full-screen opaque window is detected,
 # to maximize performance for full-screen windows. Known to cause flickering
@@ -407,6 +416,6 @@ wintypes:
   tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
   dock = { shadow = false; }
   dnd = { shadow = false; }
   tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
   dock = { shadow = false; }
   dnd = { shadow = false; }
-  popup_menu = { opacity = 0.8; }
-  dropdown_menu = { opacity = 0.8; }
+  popup_menu = { opacity = 0.9; }
+  dropdown_menu = { opacity = 0.9; }
 };
 };
diff --git a/.emacs.d/etc/abbrev.el b/.emacs.d/etc/abbrev.el
deleted file mode 100644 (file)
index 76f19d8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-;;-*-coding: utf-8;-*-
-(define-abbrev-table 'message-mode-abbrev-table
-  '(
-    ("linux" "GNU/Linux" nil :count 4)
-   ))
index bf29b63..eafcbd7 100644 (file)
@@ -2,4 +2,4 @@
 # name: thankgnu
 # key: th
 # --
 # name: thankgnu
 # key: th
 # --
-[RT#$1] Add ${2:$$(yas-choose-value '("Contributor" "Sustaining Contributor" "Patron"))} $3 to the 20${4:20} ThankGNUs list$0
\ No newline at end of file
+[RT#$1] Add ${2:$$(yas-choose-value '("Contributor" "Sustaining Contributor" "Patron"))} $3 to the 20${4:21} ThankGNUs list$0
\ No newline at end of file
index 0d10448..35c233a 100644 (file)
@@ -2,6 +2,6 @@
 # name: thankgnu
 # key: th
 # --
 # name: thankgnu
 # key: th
 # --
-Added ${2:$$(yas-choose-value '("Contributor" "Sustaining Contributor" "Patron"))} $3 to 20${4:20}supporters.html.
+Added ${2:$$(yas-choose-value '("Contributor" "Sustaining Contributor" "Patron"))} $3 to 20${4:21}supporters.html.
 
 Moving to campaigns.$0
 
 Moving to campaigns.$0
index 631ce8c..5594987 100644 (file)
@@ -17,9 +17,8 @@
 
 ;;; Commentary:
 
 
 ;;; Commentary:
 
-;; GNU Emacs configuration of Amin Bandali, computer scientist,
-;; Free Software activist, and GNU maintainer & webmaster.  Packages
-;; are installed through using Borg for a fully reproducible setup.
+;; GNU Emacs configuration of bandali, free software activist,
+;; computing scientist, and GNU maintainer and volunteer.
 
 ;; Over the years, I've taken inspiration from configurations of many
 ;; great people.  Some that I can remember off the top of my head are:
 
 ;; Over the years, I've taken inspiration from configurations of many
 ;; great people.  Some that I can remember off the top of my head are:
            (format
             "[%s]" (number-to-string
                     exwm-workspace-current-index))))))))
            (format
             "[%s]" (number-to-string
                     exwm-workspace-current-index))))))))
-
-  ;; make some mode-line spaces smaller
-  (setq-default
-   mode-line-format
-   (mapcar
-    (lambda (x)
-      (if (and (stringp x) (or (string= x "   ") (string= x "  ")))
-          " "
-        x))
-    mode-line-format)
-   mode-line-buffer-identification
-   (propertized-buffer-identification "%10b")))
+  (when (version< emacs-version "28")
+    ;; manually make some mode-line spaces smaller
+    ;; (version<= "28" emacs-version) can do an awesome job at this
+    ;; out of the box if `mode-line-compact' is set to t (see below)
+    (setq-default
+     mode-line-format
+     (mapcar
+      (lambda (x)
+        (if (and (stringp x)
+                 (or (string= x "   ")
+                     (string= x "  ")))
+            " "
+          x))
+      mode-line-format)
+     mode-line-buffer-identification
+     (propertized-buffer-identification "%10b"))))
 (add-hook 'after-init-hook #'b/post-init)
 
 ;; increase number of lines kept in *Messages* log
 (setq message-log-max 20000)
 
 (add-hook 'after-init-hook #'b/post-init)
 
 ;; increase number of lines kept in *Messages* log
 (setq message-log-max 20000)
 
-;; optionally, uncomment to supress some byte-compiler warnings
-;;   (see C-h v byte-compile-warnings RET for more info)
-;; (setq byte-compile-warnings
-;;       '(not free-vars unresolved noruntime lexical make-local))
-
 \f
 ;;; whoami
 
 \f
 ;;; whoami
 
@@ -147,7 +145,7 @@ This sets each user option VAR's value to the corresponding VALUE.
      '(;; GNU ELPA
        (debbugs "0.26")
        (delight "1.7")
      '(;; GNU ELPA
        (debbugs "0.26")
        (delight "1.7")
-       (ebdb "0.6.20")
+       (ebdb "0.6.21")
        (orgalist "1.13")
        (rt-liberation "1.31")
        (yasnippet "0.14.0")
        (orgalist "1.13")
        (rt-liberation "1.31")
        (yasnippet "0.14.0")
@@ -223,96 +221,71 @@ This sets each user option VAR's value to the corresponding VALUE.
 ;;;; C-level customizations
 
 (csetq
 ;;;; C-level customizations
 
 (csetq
+ ;; completion case sensitivity
+ completion-ignore-case t
  ;; minibuffer
  enable-recursive-minibuffers t
  resize-mini-windows t
  ;; minibuffer
  enable-recursive-minibuffers t
  resize-mini-windows t
- ;; more useful frame titles
- ;; frame-title-format '("" invocation-name " - "
- ;;                      (:eval
- ;;                       (if (buffer-file-name)
- ;;                           (abbreviate-file-name (buffer-file-name))
- ;;                         "%b")))
- ;; i don't feel like jumping out of my chair every now and again; so
- ;; don't BEEP! at me, emacs
+ ;; mode-line
+ mode-line-compact t
+ ;; i don't feel like jumping out of my chair every now and again;
+ ;; so...don't *BEEP* at me, emacs =)
  ring-bell-function 'ignore
  ;; better scrolling
  ring-bell-function 'ignore
  ;; better scrolling
- ;; scroll-margin 1
- ;; scroll-conservatively 10000
- scroll-step 1
- scroll-conservatively 101
- scroll-preserve-screen-position 1
+ ;; scroll-conservatively 101
+ scroll-conservatively 15
+ ;; scroll-preserve-screen-position 1
  ;; focus follows mouse
  ;; focus follows mouse
- mouse-autoselect-window t)
+ ;; mouse-autoselect-window t
+ )
 
 (setq-default
 
 (setq-default
- ;; always use space for indentation
- indent-tabs-mode nil
- tab-width 4
  ;; case-sensitive search (and `dabbrev-expand')
  ;; case-fold-search nil
  ;; case-sensitive search (and `dabbrev-expand')
  ;; case-fold-search nil
- ;; cursor shape
- cursor-type t)
+ ;; always use space for indentation
+ indent-tabs-mode nil
+ tab-width 4)
 
 (set-fontset-font t 'arabic "Vazir")
 
 
 (set-fontset-font t 'arabic "Vazir")
 
-;; unicode support
-;; (dolist (ft (fontset-list))
-;;   (set-fontset-font
-;;    ft
-;;    'unicode
-;;    (font-spec :name "Source Code Pro" :size 14))
-;;   (set-fontset-font
-;;    ft
-;;    'unicode
-;;    (font-spec :name "DejaVu Sans Mono")
-;;    nil
-;;    'append)
-;;   ;; (set-fontset-font
-;;   ;;  ft
-;;   ;;  'unicode
-;;   ;;  (font-spec
-;;   ;;   :name "Symbola monospacified for DejaVu Sans Mono")
-;;   ;;  nil
-;;   ;;  'append)
-;;   ;; (set-fontset-font
-;;   ;;  ft
-;;   ;;  #x2115  ; ℕ
-;;   ;;  (font-spec :name "DejaVu Sans Mono")
-;;   ;;  nil
-;;   ;;  'append)
-;;   (set-fontset-font
-;;    ft
-;;    (cons ?Α ?ω)
-;;    (font-spec :name "DejaVu Sans Mono" :size 14)
-;;    nil
-;;    'prepend))
-
 ;;;; Elisp-level customizations
 
 ;; (define-key minibuffer-local-completion-map
 ;;   "\t" #'minibuffer-force-complete)
 
 ;;;; Elisp-level customizations
 
 ;; (define-key minibuffer-local-completion-map
 ;;   "\t" #'minibuffer-force-complete)
 
-(with-eval-after-load 'icomplete
+;; (with-eval-after-load 'icomplete
 
 
-(setq icomplete-on-del-error-function #'abort-recursive-edit)
+;; (setq icomplete-on-del-error-function #'abort-recursive-edit)
 
 
-(defun b/icomplete-fido-backward-updir ()
-  "Delete char before or go up directory, like `ido-mode'."
-  (interactive)
-  (if (and (eq (char-before) ?/)
-           (eq (icomplete--category) 'file))
-      (save-excursion
-        (goto-char (1- (point)))
-        (when (search-backward "/" (point-min) t)
-          (delete-region (1+ (point)) (point-max))))
-    (condition-case nil
-        (call-interactively #'delete-backward-char)
-      (error
-       (when icomplete-on-del-error-function
-         (funcall icomplete-on-del-error-function))))))
-
-(define-key icomplete-fido-mode-map
-  (kbd "DEL") #'b/icomplete-fido-backward-updir))
+;; (defun b/icomplete-fido-backward-updir ()
+;;   "Delete char before or go up directory, like `ido-mode'."
+;;   (interactive)
+;;   (if (and (eq (char-before) ?/)
+;;            (eq (icomplete--category) 'file))
+;;       (save-excursion
+;;         (goto-char (1- (point)))
+;;         (when (search-backward "/" (point-min) t)
+;;           (delete-region (1+ (point)) (point-max))))
+;;     (condition-case nil
+;;         (call-interactively #'delete-backward-char)
+;;       (error
+;;        (when icomplete-on-del-error-function
+;;          (funcall icomplete-on-del-error-function))))))
+
+;; (define-key icomplete-fido-mode-map
+;;   (kbd "DEL") #'b/icomplete-fido-backward-updir))
+
+;; (with-eval-after-load 'subr
+;;   (keyboard-translate ?\( ?\[)
+;;   (keyboard-translate ?\) ?\])
+;;   (keyboard-translate ?\[ ?\()
+;;   (keyboard-translate ?\] ?\))
+
+;;   ;; (keyboard-translate ?\( ?\()
+;;   ;; (keyboard-translate ?\) ?\))
+;;   ;; (keyboard-translate ?\[ ?\[)
+;;   ;; (keyboard-translate ?\] ?\])
+;; )
 
 ;; startup
 ;; don't need to see the startup echo area message
 
 ;; startup
 ;; don't need to see the startup echo area message
@@ -340,7 +313,7 @@ This sets each user option VAR's value to the corresponding VALUE.
  ;; auto-save
  auto-save-file-name-transforms `((".*" ,(b/var "auto-save/") t))
  ;; insert newline at the end of files
  ;; auto-save
  auto-save-file-name-transforms `((".*" ,(b/var "auto-save/") t))
  ;; insert newline at the end of files
- require-final-newline t
;; require-final-newline t
  ;; open read-only file buffers in view-mode
  ;; (enables niceties like `q' for quit)
  view-read-only t)
  ;; open read-only file buffers in view-mode
  ;; (enables niceties like `q' for quit)
  view-read-only t)
@@ -359,27 +332,28 @@ This sets each user option VAR's value to the corresponding VALUE.
 (global-auto-revert-mode 1)
 
 ;; time and battery in mode-line
 (global-auto-revert-mode 1)
 
 ;; time and battery in mode-line
-(csetq
- display-time-default-load-average nil
- display-time-format " %a %b %-e %-l:%M%P"
- display-time-mail-icon '(image :type xpm
-                                :file "gnus/gnus-pointer.xpm"
-                                :ascent center)
- display-time-use-mail-icon t)
-(require 'time)
-(display-time-mode)
-
-(csetq battery-mode-line-format " %p%% %t")
-(require 'battery)
-(display-battery-mode)
-
-(require 'fringe)
-;; smaller fringe
-;; (fringe-mode '(3 . 1))
-(fringe-mode nil)
+(run-with-idle-timer 0.1 nil #'require 'time)
+(with-eval-after-load 'time
+  (csetq
+   display-time-default-load-average nil
+   display-time-format " %a %b %-e %-l:%M%P"
+   display-time-mail-icon '(image :type xpm
+                                  :file "gnus/gnus-pointer.xpm"
+                                  :ascent center)
+   display-time-use-mail-icon t)
+  (display-time-mode))
+
+(run-with-idle-timer 0.1 nil #'require 'battery)
+(with-eval-after-load 'battery
+  (csetq battery-mode-line-format " %p%% %t")
+  (display-battery-mode))
+
+;; (with-eval-after-load 'fringe
+;;   ;; smaller fringe
+;;   (fringe-mode '(3 . 1)))
 
 
-(require 'winner)
 ;; enable winner-mode (C-h f winner-mode RET)
 ;; enable winner-mode (C-h f winner-mode RET)
+(require 'winner)
 (winner-mode 1)
 
 (with-eval-after-load 'compile
 (winner-mode 1)
 
 (with-eval-after-load 'compile
@@ -408,6 +382,7 @@ This sets each user option VAR's value to the corresponding VALUE.
 (csetq
  ;; allow scrolling in Isearch
  isearch-allow-scroll t
 (csetq
  ;; allow scrolling in Isearch
  isearch-allow-scroll t
+ isearch-lazy-count t
  ;; search for non-ASCII characters: i’d like non-ASCII characters such
  ;; as ‘’“”«»‹›áⓐ𝒶 to be selected when i search for their ASCII
  ;; counterpart.  shoutout to
  ;; search for non-ASCII characters: i’d like non-ASCII characters such
  ;; as ‘’“”«»‹›áⓐ𝒶 to be selected when i search for their ASCII
  ;; counterpart.  shoutout to
@@ -461,6 +436,24 @@ This sets each user option VAR's value to the corresponding VALUE.
  auth-sources '("~/.authinfo.gpg")
  authinfo-hidden (regexp-opt '("password" "client-secret" "token")))
 
  auth-sources '("~/.authinfo.gpg")
  authinfo-hidden (regexp-opt '("password" "client-secret" "token")))
 
+;; info
+(with-eval-after-load 'info
+  (add-to-list
+   'Info-directory-list
+   (expand-file-name
+    (convert-standard-filename "info/") source-directory)))
+
+;; faces
+(with-eval-after-load 'faces
+  (let* ((grey "#e7e7e7")
+         (darker-grey "#d9d9d9")
+         (box ;; `(:line-width -1 :style released-button)
+          'unspecified))
+    (set-face-attribute 'mode-line nil
+                        :background grey :box box)
+    (set-face-attribute 'mode-line-inactive nil
+                        :background darker-grey :box box)))
+
 \f
 ;;; Useful utilities
 
 \f
 ;;; Useful utilities
 
@@ -550,7 +543,7 @@ Make N (default: 1) copies of the current line or region."
 ;; evaling and macro-expanding
 (global-set-key (kbd "C-c e b") #'eval-buffer)
 (global-set-key (kbd "C-c e e") #'eval-last-sexp)
 ;; evaling and macro-expanding
 (global-set-key (kbd "C-c e b") #'eval-buffer)
 (global-set-key (kbd "C-c e e") #'eval-last-sexp)
-(global-set-key (kbd "C-c e p") #'pp-macroexpand-last-sexp)
+(global-set-key (kbd "C-c e m") #'pp-macroexpand-last-sexp)
 (global-set-key (kbd "C-c e r") #'eval-region)
 
 ;; emacs things
 (global-set-key (kbd "C-c e r") #'eval-region)
 
 ;; emacs things
@@ -568,15 +561,12 @@ Make N (default: 1) copies of the current line or region."
 (global-set-key (kbd "C-c F d") #'delete-frame)
 
 ;; help/describe
 (global-set-key (kbd "C-c F d") #'delete-frame)
 
 ;; help/describe
-(global-set-key (kbd "C-S-h C") #'describe-char)
 (global-set-key (kbd "C-S-h F") #'describe-face)
 
 ;; (global-set-key (kbd "C-x k") #'b/kill-current-buffer)
 ;; (global-set-key (kbd "C-x K") #'kill-buffer)
 (global-set-key (kbd "C-S-h F") #'describe-face)
 
 ;; (global-set-key (kbd "C-x k") #'b/kill-current-buffer)
 ;; (global-set-key (kbd "C-x K") #'kill-buffer)
-;; (global-set-key (kbd "C-x s") #'save-buffer)
-;; (global-set-key (kbd "C-x S") #'save-some-buffers)
 
 
-(define-key emacs-lisp-mode-map (kbd "<C-return>") #'b/add-elisp-section)
+(define-key emacs-lisp-mode-map (kbd "C-<return>") #'b/add-elisp-section)
 
 (when (display-graphic-p)
   (global-unset-key (kbd "C-z")))
 
 (when (display-graphic-p)
   (global-unset-key (kbd "C-z")))
@@ -589,12 +579,11 @@ Make N (default: 1) copies of the current line or region."
  (expand-file-name
   (convert-standard-filename "lisp") user-emacs-directory))
 
  (expand-file-name
   (convert-standard-filename "lisp") user-emacs-directory))
 
-(when (featurep 'exwm)
-  (require 'bandali-exwm))
+;; (require 'bandali-exwm)
 
 (require 'bandali-org)
 
 
 (require 'bandali-org)
 
-(require 'bandali-theme)
+;; (require 'bandali-theme)
 
 ;; recently opened files
 (csetq recentf-max-saved-items 2000
 
 ;; recently opened files
 (csetq recentf-max-saved-items 2000
@@ -602,9 +591,25 @@ Make N (default: 1) copies of the current line or region."
 (run-with-idle-timer 0.2 nil #'require 'recentf)
 (with-eval-after-load 'recentf
   ;; (add-to-list 'recentf-keep #'file-remote-p)
 (run-with-idle-timer 0.2 nil #'require 'recentf)
 (with-eval-after-load 'recentf
   ;; (add-to-list 'recentf-keep #'file-remote-p)
-  (recentf-mode))
+  (recentf-mode)
+
+  (defun b/recentf-open ()
+  "Use `completing-read' to \\[find-file] a recent file."
+  (interactive)
+  (find-file
+   (completing-read "Find recent file: " recentf-list)))
+  (global-set-key (kbd "C-c f r") #'b/recentf-open))
 
 (fido-mode 1)
 
 (fido-mode 1)
+(defun b/icomplete--fido-mode-setup ()
+  "Customizations to `fido-mode''s minibuffer."
+  (when (and icomplete-mode (icomplete-simple-completing-p))
+    (setq-local
+     ;; icomplete-compute-delay 0.1
+     ;; icomplete-hide-common-prefix t
+     icomplete-separator " · "
+     completion-styles '(basic substring partial-completion flex))))
+(add-hook 'minibuffer-setup-hook #'b/icomplete--fido-mode-setup 1)
 
 (require 'bandali-eshell)
 
 
 (require 'bandali-eshell)
 
@@ -710,7 +715,8 @@ Make N (default: 1) copies of the current line or region."
  ;; yanking (pasting) what I'd originally intended to.
  save-interprogram-paste-before-kill t)
 (with-eval-after-load 'simple
  ;; yanking (pasting) what I'd originally intended to.
  save-interprogram-paste-before-kill t)
 (with-eval-after-load 'simple
-  (column-number-mode 1))
+  (column-number-mode 1)
+  (line-number-mode 1))
 
 ;; save minibuffer history
 (require 'savehist)
 
 ;; save minibuffer history
 (require 'savehist)
@@ -897,12 +903,6 @@ Make N (default: 1) copies of the current line or region."
   ;; highlight TODOs in buffers
   (global-hl-todo-mode))
 
   ;; highlight TODOs in buffers
   (global-hl-todo-mode))
 
-(add-to-list 'load-path (b/lisp "page-break-lines"))
-(run-with-idle-timer 0.5 nil #'require 'page-break-lines)
-(with-eval-after-load 'page-break-lines
-  (csetq page-break-lines-max-width fill-column)
-  (global-page-break-lines-mode))
-
 ;; expand-region
 (global-set-key (kbd "C-=") #'er/expand-region)
 
 ;; expand-region
 (global-set-key (kbd "C-=") #'er/expand-region)
 
@@ -946,18 +946,6 @@ Make N (default: 1) copies of the current line or region."
                   (setq debbugs-gnu-current-suppress t)
                   (debbugs-gnu debbugs-gnu-default-severities
                                '("gnuzilla"))))
                   (setq debbugs-gnu-current-suppress t)
                   (debbugs-gnu debbugs-gnu-default-severities
                                '("gnuzilla"))))
-(global-set-key (kbd "C-c D G b")       ; bug-guix
-                (lambda ()
-                  (interactive)
-                  (setq debbugs-gnu-current-suppress t)
-                  (debbugs-gnu debbugs-gnu-default-severities
-                               '("guix"))))
-(global-set-key (kbd "C-c D G p")       ; guix-patches
-                (lambda ()
-                  (interactive)
-                  (setq debbugs-gnu-current-suppress t)
-                  (debbugs-gnu debbugs-gnu-default-severities
-                               '("guix-patches"))))
 
 ;; url and url-cache
 (csetq
 
 ;; url and url-cache
 (csetq
@@ -1023,7 +1011,6 @@ Make N (default: 1) copies of the current line or region."
 (with-eval-after-load 'delight
   (delight 'auto-fill-function " f" "simple")
   (delight 'abbrev-mode "" "abbrev")
 (with-eval-after-load 'delight
   (delight 'auto-fill-function " f" "simple")
   (delight 'abbrev-mode "" "abbrev")
-  (delight 'page-break-lines-mode "" "page-break-lines")
   (delight 'mml-mode " mml" "mml")
   (delight 'yas-minor-mode "" "yasnippet"))
 
   (delight 'mml-mode " mml" "mml")
   (delight 'yas-minor-mode "" "yasnippet"))
 
index 4d21978..3d959c4 100644 (file)
@@ -35,6 +35,7 @@
 (with-eval-after-load 'ebdb
   (with-eval-after-load 'ebdb-complete
     ;; (csetq ebdb-complete-mail 'capf)
 (with-eval-after-load 'ebdb
   (with-eval-after-load 'ebdb-complete
     ;; (csetq ebdb-complete-mail 'capf)
+    (csetq ebdb-completion-display-record nil) ; <87pn2kk2ig.fsf@ericabrahamsen.net>
     (ebdb-complete-enable))
 
   (require 'ebdb-message)
     (ebdb-complete-enable))
 
   (require 'ebdb-message)
@@ -43,7 +44,7 @@
   (csetq ebdb-gnus-window-size 0.3)
 
   (require 'ebdb-mua)
   (csetq ebdb-gnus-window-size 0.3)
 
   (require 'ebdb-mua)
-  (csetq ebdb-mua-pop-up t))
+  (csetq ebdb-mua-pop-up nil))
 
 ;; (with-eval-after-load 'company-ebdb
 ;;   (defun company-ebdb--post-complete (_) nil))
 
 ;; (with-eval-after-load 'company-ebdb
 ;;   (defun company-ebdb--post-complete (_) nil))
index ed27df3..bc0657a 100644 (file)
@@ -40,6 +40,7 @@
    erc-nick "bandali"
    erc-prompt "erc>"
    erc-prompt-for-password nil
    erc-nick "bandali"
    erc-prompt "erc>"
    erc-prompt-for-password nil
+   erc-query-display 'buffer
    erc-rename-buffers t
    erc-server-reconnect-attempts 5
    erc-server-reconnect-timeout 3)
    erc-rename-buffers t
    erc-server-reconnect-attempts 5
    erc-server-reconnect-timeout 3)
   (declare-function erc-update-modules "erc")
   (erc-update-modules)
 
   (declare-function erc-update-modules "erc")
   (erc-update-modules)
 
-  (set-face-attribute
-   'erc-nick-default-face nil
-   ;; :weight 'semibold
-   ;; :background "#f2f2f2"
-   ;; :foreground "#222222"
-   :weight 'bold
-   :background "#f8f8f8"
-   :foreground "#6a6a6a")
+  ;; (set-face-attribute
+  ;;  'erc-nick-default-face nil
+  ;;  ;; :weight 'semibold
+  ;;  ;; :background "#f2f2f2"
+  ;;  ;; :foreground "#222222"
+  ;;  :weight 'bold
+  ;;  :background "#f8f8f8"
+  ;;  :foreground "#6a6a6a")
 
   ;; (set-face-attribute
   ;;  'erc-notice-face nil
 
   ;; (set-face-attribute
   ;;  'erc-notice-face nil
   (csetq
    erc-pal-highlight-type 'nick
    erc-pals
   (csetq
    erc-pal-highlight-type 'nick
    erc-pals
-   '("aindilis" "blackbeard" "bremner" "~brettgilio?@*" "civodul"
-     "dto" "ggoes" "iank" "jrasata" "mplsCorwin" "quidam" "rwp"
-     "sachac" "sudoman" "technomancy"))
+   '("bremner" "^gopar" "^iank" "quidam" "^rwp" "sudoman"
+     "technomancy" "thomzane"))
   (with-eval-after-load 'erc-match
     (set-face-attribute
      'erc-pal-face nil
      :foreground 'unspecified
      :weight 'unspecified
      :inherit 'erc-nick-default-face
   (with-eval-after-load 'erc-match
     (set-face-attribute
      'erc-pal-face nil
      :foreground 'unspecified
      :weight 'unspecified
      :inherit 'erc-nick-default-face
-     :background (face-attribute 'font-lock-string-face :background)))
+     ;; :background (face-attribute 'font-lock-string-face :background)
+     :background "#ffffdf"))
 
   ;; erc-pcomplete
   (csetq erc-pcomplete-nick-postfix ",")
 
   ;; erc-pcomplete
   (csetq erc-pcomplete-nick-postfix ",")
index f94757d..99a186b 100644 (file)
@@ -27,6 +27,8 @@
 (add-to-list 'load-path (b/lisp "xelb"))
 (add-to-list 'load-path (b/lisp "exwm"))
 (require 'exwm)
 (add-to-list 'load-path (b/lisp "xelb"))
 (add-to-list 'load-path (b/lisp "exwm"))
 (require 'exwm)
+(csetq ;; exwm-replace t
+       exwm-workspace-show-all-buffers t)
 ;; make class name the buffer name, truncating beyond 60 characters
 (defun b/exwm-rename-buffer ()
   (interactive)
 ;; make class name the buffer name, truncating beyond 60 characters
 (defun b/exwm-rename-buffer ()
   (interactive)
@@ -58,15 +60,43 @@ around if needed."
       0
     (1+ exwm-workspace-current-index)))
 
       0
     (1+ exwm-workspace-current-index)))
 
+(defun b/exwm-ws-prev ()
+  "Switch to previous EXWM workspace, wrapping around if needed."
+  (interactive)
+  (exwm-workspace-switch-create
+   (b/exwm-ws-prev-index)))
+
+(defun b/exwm-ws-next ()
+  "Switch to next EXWM workspace, wrapping around if needed."
+  (interactive)
+  (exwm-workspace-switch-create
+   (b/exwm-ws-next-index)))
+
 ;; shorten 'C-c C-q' to 'C-q'
 (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
 
 ;; shorten 'C-c C-q' to 'C-q'
 (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
 
+;; scroll up/down/left/right on the echo area
+(define-key minibuffer-inactive-mode-map [mouse-4] #'b/exwm-ws-prev)
+(define-key minibuffer-inactive-mode-map [mouse-5] #'b/exwm-ws-next)
+(define-key minibuffer-inactive-mode-map [mouse-6] #'b/exwm-ws-prev)
+(define-key minibuffer-inactive-mode-map [mouse-7] #'b/exwm-ws-next)
+
+(defvar b/shifted-ws-names
+  '(0 \) 1 \! 2 \@ 3 \# 4 \$
+      5 \% 6 \^ 7 \& 8 \* 9 \()
+  "Mapping of shifted numbers on my keyboard.")
+
 (csetq exwm-workspace-number 10
        exwm-input-global-keys
        `(([?\s-R] . exwm-reset)
 (csetq exwm-workspace-number 10
        exwm-input-global-keys
        `(([?\s-R] . exwm-reset)
+         ([?\s-b] . exwm-workspace-switch-to-buffer)
          ([?\s-\\] . exwm-workspace-switch)
          ([?\s-\s] . dmenu)
          ([?\s-\\] . exwm-workspace-switch)
          ([?\s-\s] . dmenu)
-         ([?\S-\s-\s] . (lambda (command)
+         ;; ([?\s-\s] . (lambda ()
+         ;;               (interactive)
+         ;;               (start-process-shell-command
+         ;;                "rofi" nil "rofi -show run")))
+         ([?\S-\s-\s] . (lambda (command)    ; doesn't work in X windows
                           (interactive
                            (list (read-shell-command "➜ ")))
                           (start-process-shell-command
                           (interactive
                            (list (read-shell-command "➜ ")))
                           (start-process-shell-command
@@ -74,6 +104,10 @@ around if needed."
          ([s-return] . (lambda ()
                          (interactive)
                          (start-process "" nil "urxvt")))
          ([s-return] . (lambda ()
                          (interactive)
                          (start-process "" nil "urxvt")))
+         ([S-s-return] . (lambda ()
+                           (interactive)
+                           (start-process "" nil "urxvt"
+                                          "-name" "floating")))
          ([?\C-\s-\s] . counsel-linux-app)
          ([?\M-\s-\s] . (lambda ()
                           (interactive)
          ([?\C-\s-\s] . counsel-linux-app)
          ([?\M-\s-\s] . (lambda ()
                           (interactive)
@@ -87,18 +121,32 @@ around if needed."
          ([?\s-J] . windmove-swap-states-down)
          ([?\s-K] . windmove-swap-states-up)
          ([?\s-L] . windmove-swap-states-right)
          ([?\s-J] . windmove-swap-states-down)
          ([?\s-K] . windmove-swap-states-up)
          ([?\s-L] . windmove-swap-states-right)
+         ([?\s-N ?d] . (lambda ()
+                         (interactive)
+                         (start-process
+                          "" nil "dunstctl" "close")))
+         ([?\s-N ?D] . (lambda ()
+                         (interactive)
+                         (start-process
+                          "" nil "dunstctl" "close-all")))
+         ([?\s-N ?h] . (lambda ()
+                         (interactive)
+                         (start-process
+                          "" nil "dunstctl" "history-pop")))
+         ([?\s-N return] . (lambda ()
+                             (interactive)
+                             (start-process
+                              "" nil "dunstctl" "context")))
          ([?\M-\s-h] . shrink-window-horizontally)
          ([?\M-\s-l] . enlarge-window-horizontally)
          ([?\M-\s-k] . shrink-window)
          ([?\M-\s-j] . enlarge-window)
          ([?\M-\s-h] . shrink-window-horizontally)
          ([?\M-\s-l] . enlarge-window-horizontally)
          ([?\M-\s-k] . shrink-window)
          ([?\M-\s-j] . enlarge-window)
-         ([?\s-\[] . (lambda ()
-                       (interactive)
-                       (exwm-workspace-switch-create
-                        (b/exwm-ws-prev-index))))
-         ([?\s-\]] . (lambda ()
-                       (interactive)
-                       (exwm-workspace-switch-create
-                        (b/exwm-ws-next-index))))
+         ([?\s-\[] . b/exwm-ws-prev)
+         ([?\s-\]] . b/exwm-ws-next)
+         ([mode-line mouse-4] . b/exwm-ws-prev) ; up
+         ([mode-line mouse-5] . b/exwm-ws-next) ; down
+         ([mode-line mouse-6] . b/exwm-ws-prev) ; left
+         ([mode-line mouse-7] . b/exwm-ws-next) ; right
          ([?\s-{] . (lambda ()
                       (interactive)
                       (exwm-workspace-move-window
          ([?\s-{] . (lambda ()
                       (interactive)
                       (exwm-workspace-move-window
@@ -113,7 +161,16 @@ around if needed."
                          (interactive)
                          (exwm-workspace-switch-create ,i))))
                    (number-sequence 0 (1- exwm-workspace-number)))
                          (interactive)
                          (exwm-workspace-switch-create ,i))))
                    (number-sequence 0 (1- exwm-workspace-number)))
-         ([?\s-t] . exwm-floating-toggle-floating)
+         ,@(mapcar
+            (lambda (i)
+              `(,(kbd (format "s-%s"
+                              (plist-get b/shifted-ws-names i)))
+                .
+                (lambda ()
+                  (interactive)
+                  (exwm-workspace-move-window ,i))))
+            (number-sequence 0 (1- exwm-workspace-number)))
+         ([?\s-F] . exwm-floating-toggle-floating)
          ([?\s-f] . exwm-layout-toggle-fullscreen)
          ([?\s-W] . (lambda ()
                       (interactive)
          ([?\s-f] . exwm-layout-toggle-fullscreen)
          ([?\s-W] . (lambda ()
                       (interactive)
@@ -160,6 +217,14 @@ around if needed."
           (lambda ()
             (interactive)
             (start-process "" nil "mpc" "next")))
           (lambda ()
             (interactive)
             (start-process "" nil "mpc" "next")))
+         ([XF86MonBrightnessDown] .
+          (lambda ()
+            (interactive)
+            (start-process "" nil "light" "-U" "5")))
+         ([XF86MonBrightnessUp] .
+          (lambda ()
+            (interactive)
+            (start-process "" nil "light" "-A" "5")))
          ([XF86ScreenSaver] .
           (lambda ()
                    (interactive)
          ([XF86ScreenSaver] .
           (lambda ()
                    (interactive)
@@ -199,15 +264,20 @@ around if needed."
          ([?\C-g] . [escape])))
 
 (require 'exwm-manage)
          ([?\C-g] . [escape])))
 
 (require 'exwm-manage)
+(csetq
+ exwm-manage-configurations
+ '(((equal exwm-instance-name "floating")
+    floating t
+    floating-mode-line nil)))
 (add-hook 'exwm-manage-finish-hook
           (lambda ()
             (when exwm-class-name
               (cond
 (add-hook 'exwm-manage-finish-hook
           (lambda ()
             (when exwm-class-name
               (cond
-               ((member exwm-class-name '("IceCat" "Iceweasel"))
+               ((member exwm-class-name '("Abrowser" "IceCat" "Iceweasel"))
                 (exwm-input-set-local-simulation-keys
                  `(,@exwm-input-simulation-keys
                    ([?\C-\S-d] . [?\C-d]))))
                 (exwm-input-set-local-simulation-keys
                  `(,@exwm-input-simulation-keys
                    ([?\C-\S-d] . [?\C-d]))))
-               ((string= exwm-class-name "URxvt")
+               ((member exwm-class-name '("URxvt" "Mate-terminal"))
                 (exwm-input-set-local-simulation-keys
                  '(([?\C-c ?\C-c] . [?\C-c])
                    ([?\C-c ?\C-u] . [?\C-u]))))
                 (exwm-input-set-local-simulation-keys
                  '(([?\C-c ?\C-c] . [?\C-c])
                    ([?\C-c ?\C-u] . [?\C-u]))))
@@ -217,8 +287,19 @@ around if needed."
                    ([?\C-n] . [C-down]))))))))
 
 (require 'exwm-randr)
                    ([?\C-n] . [C-down]))))))))
 
 (require 'exwm-randr)
+(csetq
+ exwm-randr-workspace-monitor-plist
+ '(0 "eDP-1"
+     1 "eDP-1" 2 "eDP-1" 3 "eDP-1"
+     4 "eDP-1" 5 "eDP-1" 6 "eDP-1"
+     7 "HDMI-1" 8 "HDMI-1" 9 "HDMI-1"))
+;; (add-hook
+;;  'exwm-randr-screen-change-hook
+;;  (lambda ()
+;;    (start-process-shell-command
+;;     "xrandr" nil
+;;     "xrandr --output HDMI-1 --mode 1280x720 --above eDP-1 --auto")))
 (exwm-randr-enable)
 (exwm-randr-enable)
-(csetq exwm-randr-workspace-monitor-plist '(1 "VGA-1"))
 
 (require 'exwm-systemtray)
 (exwm-systemtray-enable)
 
 (require 'exwm-systemtray)
 (exwm-systemtray-enable)
index 671a1cb..fdb1e7a 100644 (file)
@@ -75,8 +75,6 @@
                                 (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1")
                                 ;; iana (e.g. tz-announce)
                                 (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1")
                                 (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1")
                                 ;; iana (e.g. tz-announce)
                                 (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1")
-                                ;; orbitalfox (e.g. gemini)
-                                (list ".*<\\(.*\\)\\.lists\\.orbitalfox\\.eu>.*" "l.\\1")
                                 ;; haskell
                                 (list ".*<\\(.*\\)\\.haskell\\.org>.*" "l.\\1")
                                 ;; *.lists.sr.ht, omitting one dot if present
                                 ;; haskell
                                 (list ".*<\\(.*\\)\\.haskell\\.org>.*" "l.\\1")
                                 ;; *.lists.sr.ht, omitting one dot if present
@@ -85,6 +83,7 @@
                                 ;; webmasters
                                 (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
                                 ;; other
                                 ;; webmasters
                                 (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
                                 ;; other
+                                ("subject" "nagios-fsf:.*" "nagios-fsf")
                                 (list ".*atreus.freelists.org" "l.atreus")
                                 (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
                                 ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
                                 (list ".*atreus.freelists.org" "l.atreus")
                                 (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
                                 ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
            (nnimap-user "amin.bandali")))
  gnus-message-archive-group "nnimap+gnu:INBOX"
  gnus-parameters
            (nnimap-user "amin.bandali")))
  gnus-message-archive-group "nnimap+gnu:INBOX"
  gnus-parameters
- '(("l\\.atreus"
-    (to-address . "atreus@freelists.org")
-    (to-list    . "atreus@freelists.org"))
-   ("l\\.deepspec"
+ '(("l\\.deepspec"
     (to-address . "deepspec@lists.cs.princeton.edu")
     (to-list    . "deepspec@lists.cs.princeton.edu")
     (list-identifier . "\\[deepspec\\]"))
     (to-address . "deepspec@lists.cs.princeton.edu")
     (to-list    . "deepspec@lists.cs.princeton.edu")
     (list-identifier . "\\[deepspec\\]"))
-   ("l\\.emacs-devel"
-    (to-address . "emacs-devel@gnu.org")
-    (to-list    . "emacs-devel@gnu.org"))
-   ("l\\.help-gnu-emacs"
-    (to-address . "help-gnu-emacs@gnu.org")
-    (to-list    . "help-gnu-emacs@gnu.org"))
-   ("l\\.info-gnu-emacs"
-    (to-address . "info-gnu-emacs@gnu.org")
-    (to-list    . "info-gnu-emacs@gnu.org"))
-   ("l\\.emacs-orgmode"
-    (to-address . "emacs-orgmode@gnu.org")
-    (to-list    . "emacs-orgmode@gnu.org")
-    (list-identifier . "\\[O\\]"))
-   ("l\\.emacs-tangents"
-    (to-address . "emacs-tangents@gnu.org")
-    (to-list    . "emacs-tangents@gnu.org"))
-   ("l\\.emacsconf-committee"
-    (to-address . "emacsconf-committee@gnu.org")
-    (to-list    . "emacsconf-committee@gnu.org"))
-   ("l\\.emacsconf-discuss"
-    (to-address . "emacsconf-discuss@gnu.org")
-    (to-list    . "emacsconf-discuss@gnu.org"))
-   ("l\\.emacsconf-org"
-    (to-address . "emacsconf-org@gnu.org")
-    (to-list    . "emacsconf-org@gnu.org"))
-   ("l\\.emacsconf-org-private"
-    (to-address . "emacsconf-org-private@gnu.org")
-    (to-list    . "emacsconf-org-private@gnu.org"))
-   ("l\\.emacsconf-register"
-    (to-address . "emacsconf-register@gnu.org")
-    (to-list    . "emacsconf-register@gnu.org"))
-   ("l\\.emacsconf-submit"
-    (to-address . "emacsconf-submit@gnu.org")
-    (to-list    . "emacsconf-submit@gnu.org"))
    ("l\\.fencepost-users"
     (to-address . "fencepost-users@gnu.org")
     (to-list    . "fencepost-users@gnu.org")
     (list-identifier . "\\[Fencepost-users\\]"))
    ("l\\.fencepost-users"
     (to-address . "fencepost-users@gnu.org")
     (to-list    . "fencepost-users@gnu.org")
     (list-identifier . "\\[Fencepost-users\\]"))
-   ("l\\.gnewsense-art"
-    (to-address . "gnewsense-art@nongnu.org")
-    (to-list    . "gnewsense-art@nongnu.org")
-    (list-identifier . "\\[gNewSense-art\\]"))
-   ("l\\.gnewsense-dev"
-    (to-address . "gnewsense-dev@nongnu.org")
-    (to-list    . "gnewsense-dev@nongnu.org")
-    (list-identifier . "\\[Gnewsense-dev\\]"))
-   ("l\\.gnewsense-users"
-    (to-address . "gnewsense-users@nongnu.org")
-    (to-list    . "gnewsense-users@nongnu.org")
-    (list-identifier . "\\[gNewSense-users\\]"))
-   ("l\\.gnunet-developers"
-    (to-address . "gnunet-developers@gnu.org")
-    (to-list    . "gnunet-developers@gnu.org")
-    (list-identifier . "\\[GNUnet-developers\\]"))
-   ("l\\.help-gnunet"
-    (to-address . "help-gnunet@gnu.org")
-    (to-list    . "help-gnunet@gnu.org")
-    (list-identifier . "\\[Help-gnunet\\]"))
-   ("l\\.bug-gnuzilla"
-    (to-address . "bug-gnuzilla@gnu.org")
-    (to-list    . "bug-gnuzilla@gnu.org")
-    (list-identifier . "\\[Bug-gnuzilla\\]"))
-   ("l\\.gnuzilla-dev"
-    (to-address . "gnuzilla-dev@gnu.org")
-    (to-list    . "gnuzilla-dev@gnu.org")
-    (list-identifier . "\\[Gnuzilla-dev\\]"))
-   ("l\\.guile-devel"
-    (to-address . "guile-devel@gnu.org")
-    (to-list    . "guile-devel@gnu.org"))
-   ("l\\.guile-user"
-    (to-address . "guile-user@gnu.org")
-    (to-list    . "guile-user@gnu.org"))
-   ("l\\.guix-devel"
-    (to-address . "guix-devel@gnu.org")
-    (to-list    . "guix-devel@gnu.org"))
-   ("l\\.help-guix"
-    (to-address . "help-guix@gnu.org")
-    (to-list    . "help-guix@gnu.org"))
-   ("l\\.info-guix"
-    (to-address . "info-guix@gnu.org")
-    (to-list    . "info-guix@gnu.org"))
-   ("l\\.savannah-hackers-public"
-    (to-address . "savannah-hackers-public@gnu.org")
-    (to-list    . "savannah-hackers-public@gnu.org"))
-   ("l\\.savannah-users"
-    (to-address . "savannah-users@gnu.org")
-    (to-list    . "savannah-users@gnu.org"))
-   ("l\\.www-commits"
-    (to-address . "www-commits@gnu.org")
-    (to-list    . "www-commits@gnu.org"))
-   ("l\\.www-discuss"
-    (to-address . "www-discuss@gnu.org")
-    (to-list    . "www-discuss@gnu.org"))
-   ("l\\.haskell-art"
-    (to-address . "haskell-art@we.lurk.org")
-    (to-list    . "haskell-art@we.lurk.org")
-    (list-identifier . "\\[haskell-art\\]"))
    ("l\\.haskell-cafe"
     (to-address . "haskell-cafe@haskell.org")
     (to-list    . "haskell-cafe@haskell.org")
     (list-identifier . "\\[Haskell-cafe\\]"))
    ("l\\.haskell-cafe"
     (to-address . "haskell-cafe@haskell.org")
     (to-list    . "haskell-cafe@haskell.org")
     (list-identifier . "\\[Haskell-cafe\\]"))
-   ("l\\.notmuch"
-    (to-address . "notmuch@notmuchmail.org")
-    (to-list    . "notmuch@notmuchmail.org"))
-   ("l\\.parabola-dev"
-    (to-address . "dev@lists.parabola.nu")
-    (to-list    . "dev@lists.parabola.nu")
-    (list-identifier . "\\[Dev\\]"))
-   ("l\\.~bandali\\.public-inbox"
-    (to-address . "~bandali/public-inbox@lists.sr.ht")
-    (to-list    . "~bandali/public-inbox@lists.sr.ht"))
-   ("l\\.~sircmpwn\\.free-writers-club"
-    (to-address . "~sircmpwn/free-writers-club@lists.sr.ht")
-    (to-list    . "~sircmpwn/free-writers-club@lists.sr.ht"))
-   ("l\\.~sircmpwn\\.srht-admins"
-    (to-address . "~sircmpwn/sr.ht-admins@lists.sr.ht")
-    (to-list    . "~sircmpwn/sr.ht-admins@lists.sr.ht"))
-   ("l\\.~sircmpwn\\.srht-announce"
-    (to-address . "~sircmpwn/sr.ht-announce@lists.sr.ht")
-    (to-list    . "~sircmpwn/sr.ht-announce@lists.sr.ht"))
-   ("l\\.~sircmpwn\\.srht-dev"
-    (to-address . "~sircmpwn/sr.ht-dev@lists.sr.ht")
-    (to-list    . "~sircmpwn/sr.ht-dev@lists.sr.ht"))
-   ("l\\.~sircmpwn\\.srht-discuss"
-    (to-address . "~sircmpwn/sr.ht-discuss@lists.sr.ht")
-    (to-list    . "~sircmpwn/sr.ht-discuss@lists.sr.ht"))
-   ("webmasters"
-    (to-address . "webmasters@gnu.org")
-    (to-list    . "webmasters@gnu.org"))
    ("gnu.*"
     (gcc-self . t))
    ("gnu.*"
     (gcc-self . t))
-   ("l\\."
-    (subscribed . t))
+   ;; ("l\\."
+   ;;  (subscribed . t))
    ("nnimap\\+uwaterloo:.*"
     (gcc-self . t)))
  ;; nnimap-record-commands t
    ("nnimap\\+uwaterloo:.*"
     (gcc-self . t)))
  ;; nnimap-record-commands t
   (add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
   (add-hook 'gnus-group-mode-hook #'gnus-agent-mode))
 ;; global key bindings
   (add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
   (add-hook 'gnus-group-mode-hook #'gnus-agent-mode))
 ;; global key bindings
-(global-set-key (kbd "s-m") #'gnus-plugged)
-(global-set-key (kbd "s-M") #'gnus-unplugged)
 (global-set-key (kbd "C-c m") #'gnus-plugged)
 (global-set-key (kbd "C-c M") #'gnus-unplugged)
 
 (global-set-key (kbd "C-c m") #'gnus-plugged)
 (global-set-key (kbd "C-c M") #'gnus-unplugged)
 
   (defvar b/shemshak-signature "Amin Bandali
 https://shemshak.org/~bandali")
   (defvar b/uwaterloo-signature "Amin Bandali, MMath
   (defvar b/shemshak-signature "Amin Bandali
 https://shemshak.org/~bandali")
   (defvar b/uwaterloo-signature "Amin Bandali, MMath
-https://bndl.org")
-  (defvar b/csc-signature "Amin Bandali (https://bndl.org)
+https://shemshak.org/~bandali")
+  (defvar b/csc-signature "Amin Bandali (https://shemshak.org/~bandali)
 Systems Committee <syscom@csclub.uwaterloo.ca>
 Computer Science Club of the University of Waterloo")
   (defvar b/sfl-signature "Amin Bandali
 Free Software Consultant
 Savoir-faire Linux
 Systems Committee <syscom@csclub.uwaterloo.ca>
 Computer Science Club of the University of Waterloo")
   (defvar b/sfl-signature "Amin Bandali
 Free Software Consultant
 Savoir-faire Linux
-GNU Jami: bandali")
+jami:bandali")
   (csetq
    gnus-message-replysign t
    gnus-posting-styles
   (csetq
    gnus-message-replysign t
    gnus-posting-styles
@@ -403,8 +276,6 @@ GNU Jami: bandali")
       (address "bandali@gnu.org"))
      ("nnimap\\+gnu:l\\..*"
       (signature nil))
       (address "bandali@gnu.org"))
      ("nnimap\\+gnu:l\\..*"
       (signature nil))
-     ("nnimap\\+gnu:.*"
-      (organization "GNU"))
      ((header "subject" "ThankCRM")
       (to "webmasters-comment@gnu.org")
       (body "")
      ((header "subject" "ThankCRM")
       (to "webmasters-comment@gnu.org")
       (body "")
@@ -429,14 +300,15 @@ GNU Jami: bandali")
       (address "amin.bandali@savoirfairelinux.com")
       (signature b/sfl-signature)
       (gcc "nnimap+sfl:Sent")
       (address "amin.bandali@savoirfairelinux.com")
       (signature b/sfl-signature)
       (gcc "nnimap+sfl:Sent")
-      (eval (setq-local b/sfl-p t))))))
+      ;; (eval (setq-local b/sfl-p t))
+      ))))
 ;; hooks
 ;; hooks
-(with-eval-after-load 'gnus
-  (add-hook 'gnus-message-setup-hook
-            (lambda ()
-              (unless (or (mml-secure-is-encrypted-p)
-                          b/sfl-p)
-                (mml-secure-message-sign)))))
+;; (with-eval-after-load 'gnus
+;;   (add-hook 'gnus-message-setup-hook
+;;             (lambda ()
+;;               (unless (or (mml-secure-is-encrypted-p)
+;;                           b/sfl-p)
+;;                 (mml-secure-message-sign)))))
 
 (with-eval-after-load 'gnus-topic
   (csetq gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n"))
 
 (with-eval-after-load 'gnus-topic
   (csetq gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n"))
diff --git a/.emacs.d/lisp/page-break-lines b/.emacs.d/lisp/page-break-lines
deleted file mode 160000 (submodule)
index f8c4cd7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f8c4cd7fc67638ae4113551dcffdf87fcd252d9b
diff --git a/.emacs.d/lisp/refinery-theme b/.emacs.d/lisp/refinery-theme
deleted file mode 160000 (submodule)
index 761ecca..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 761ecca31d91cf55addab93d44aae1066ea77b02
index b8a9ee5..fb61c97 100644 (file)
@@ -7,15 +7,9 @@
 [submodule "hl-todo"]
        path = .emacs.d/lisp/hl-todo
        url = https://github.com/tarsius/hl-todo.git
 [submodule "hl-todo"]
        path = .emacs.d/lisp/hl-todo
        url = https://github.com/tarsius/hl-todo.git
-[submodule "page-break-lines"]
-       path = .emacs.d/lisp/page-break-lines
-       url = https://github.com/purcell/page-break-lines.git
 [submodule "scpaste"]
        path = .emacs.d/lisp/scpaste
        url = https://git.sr.ht/~technomancy/scpaste
 [submodule "scpaste"]
        path = .emacs.d/lisp/scpaste
        url = https://git.sr.ht/~technomancy/scpaste
-[submodule "refinery-theme"]
-       path = .emacs.d/lisp/refinery-theme
-       url = https://git.emacsconf.org/bandali/refinery-theme
 [submodule "xelb"]
        path = .emacs.d/lisp/xelb
        url = https://github.com/ch11ng/xelb
 [submodule "xelb"]
        path = .emacs.d/lisp/xelb
        url = https://github.com/ch11ng/xelb
index 5263551..ac7ad2c 100644 (file)
@@ -1,9 +1,10 @@
-default-cache-ttl 43200
-max-cache-ttl 86400
+default-cache-ttl 10000000
+max-cache-ttl 10000000
 
 default-cache-ttl-ssh 43200
 max-cache-ttl-ssh 86400
 
 # pinentry-program /home/bandali/.guix-profile/bin/pinentry-emacs
 
 default-cache-ttl-ssh 43200
 max-cache-ttl-ssh 86400
 
 # pinentry-program /home/bandali/.guix-profile/bin/pinentry-emacs
-# allow-emacs-pinentry
-# allow-loopback-pinentry
+# pinentry-program /usr/bin/pinentry-gtk-2
+allow-emacs-pinentry
+allow-loopback-pinentry
index 09aee9e..4568345 100644 (file)
@@ -1,6 +1,7 @@
-gtk-theme-name="Xfce"
+gtk-theme-name="Trisquel"
+gtk-icon-theme-name="trisquel"
 # gtk-icon-theme-name="elementary Xfce darker"
 # gtk-icon-theme-name="elementary Xfce darker"
-gtk-font-name="Roboto 10"
+gtk-font-name="Roboto 9"
 # gtk-font-name="Source Code Variable 10"
 gtk-menu-images=0
 # gtk-key-theme-name = "Emacs"
 # gtk-font-name="Source Code Variable 10"
 gtk-menu-images=0
 # gtk-key-theme-name = "Emacs"
index 5e70783..8ef91c9 100644 (file)
--- a/.profile
+++ b/.profile
@@ -42,6 +42,10 @@ if [ -x "$(command -v go)" ]; then
     export PATH="$GOPATH/bin:$PATH"
 fi
 
     export PATH="$GOPATH/bin:$PATH"
 fi
 
+export _JAVA_AWT_WM_NONREPARENTING=1
+export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'
+#export MOZ_USE_XINPUT2=1  # precise scrolling in firefox
+
 # if running bash
 if [ -n "$BASH_VERSION" ]; then
     # include .bashrc if it exists
 # if running bash
 if [ -n "$BASH_VERSION" ]; then
     # include .bashrc if it exists
index c349ea0..af31032 100644 (file)
@@ -1,3 +1,3 @@
-https://bndl.org
-Free Software activist | GNU maintainer & webmaster
+https://shemshak.org/~bandali
+Free Software activist | GNU maintainer and volunteer
 GPG: BE62 7373 8E61 6D6D 1B3A  08E8 A21A 0202 4881 6103
 GPG: BE62 7373 8E61 6D6D 1B3A  08E8 A21A 0202 4881 6103
index c7083e3..26dd0d0 100644 (file)
--- a/.xinitrc
+++ b/.xinitrc
@@ -1,12 +1,22 @@
 [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources
 
 [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources
 
+export VISUAL=emacsclient
+export EDITOR="$VISUAL"
+
 if [ -x "$(command -v xinput)" ]; then
 if [ -x "$(command -v xinput)" ]; then
-   xinput --set-prop "TPPS/2 IBM TrackPoint" 'libinput Accel Speed' -0.4
+    xinput set-prop 'TPPS/2 IBM TrackPoint' 'libinput Accel Speed' -0.4
+    xinput set-prop 'DLL07BE:01 06CB:7A13 Touchpad' 'libinput Natural Scrolling Enabled' 1
+    xinput set-prop 'DLL07BE:01 06CB:7A13 Touchpad' 'libinput Click Method Enabled' 0 1
 fi
 
 fi
 
+# setxkbmap \
+#     -layout us,ir \
+#     -option ctrl:nocaps \
+#     -option grp:shifts_toggle
+
 setxkbmap \
     -layout us,ir \
 setxkbmap \
     -layout us,ir \
-    -option ctrl:nocaps \
+    -option ctrl:swap_rwin_rctl \
     -option grp:shifts_toggle
 
 xmodmap -e "keysym Menu = Super_R"
     -option grp:shifts_toggle
 
 xmodmap -e "keysym Menu = Super_R"
@@ -19,4 +29,4 @@ xset b off
 [ -x "$(command -v nm-applet)" ] && nm-applet &
 [ -x "$(command -v picom)" ] && picom &
 [ -x "$(command -v dunst)" ] && dunst &
 [ -x "$(command -v nm-applet)" ] && nm-applet &
 [ -x "$(command -v picom)" ] && picom &
 [ -x "$(command -v dunst)" ] && dunst &
-EDITOR=nano exec emacs -ib 0
+exec dbus-launch --exit-with-session -- emacs -ib 0