summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-10-30 15:13:45 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-10-31 18:56:00 -0700
commit365a519192fcc4f60f7f63d47a9a4bf51c822af1 (patch)
treec78fb22963dc84f630cece9f4422708833419462
parent59e405c2ef0da027b6fc5088bc13f70809a601e4 (diff)
downloaddotfiles-365a519192fcc4f60f7f63d47a9a4bf51c822af1.tar.gz
irssi -> rcirc initial configuration
-rw-r--r--.config/i3/config8
-rw-r--r--.config/sway/config11
-rw-r--r--.emacs.d/init.el72
-rw-r--r--.gitignore1
-rw-r--r--archive/.irssi/clean.theme (renamed from .irssi/clean.theme)0
-rw-r--r--archive/.irssi/default.theme (renamed from .irssi/default.theme)0
-rwxr-xr-xarchive/.irssi/scripts/autorun/act.pl (renamed from .irssi/scripts/autorun/act.pl)0
-rwxr-xr-xarchive/.irssi/scripts/autorun/anotherway.pl (renamed from .irssi/scripts/autorun/anotherway.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/auto_bleh.pl (renamed from .irssi/scripts/autorun/auto_bleh.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/format_identify.pl (renamed from .irssi/scripts/autorun/format_identify.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/go.pl (renamed from .irssi/scripts/autorun/go.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/hilightwin.pl (renamed from .irssi/scripts/autorun/hilightwin.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/trackbar.pl (renamed from .irssi/scripts/autorun/trackbar.pl)0
-rw-r--r--archive/.irssi/scripts/autorun/winnum.pl (renamed from .irssi/scripts/autorun/winnum.pl)0
-rw-r--r--archive/.irssi/startup (renamed from .irssi/startup)0
-rwxr-xr-xarchive/bin/ii (renamed from bin/ii)0
-rwxr-xr-xarchive/bin/send-irssi-away-log (renamed from bin/send-irssi-away-log)0
17 files changed, 76 insertions, 16 deletions
diff --git a/.config/i3/config b/.config/i3/config
index c2f442b5..e4b6fae5 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -237,12 +237,8 @@ mode "C-i-" {
bindsym g mode "C-i g-"
- # chat
- bindsym Shift+n exec xfce4-terminal --title="irssi" -x \
- /bin/sh -c "mosh athena /home/spwhitton/src/dotfiles/bin/ii", \
- mode "default"
- bindsym n [class="^Xfce4-terminal$" title="^irssi$"] focus, \
- mode "default"
+ bindsym n exec i3-msg '[title="\[mosh\] tmux default on athena"]' focus \
+ || xfce4-terminal -x ssh-and-tmux athena.silentflame.com, mode "default"
bindsym space mode "default"
bindsym Ctrl+g mode "default"
diff --git a/.config/sway/config b/.config/sway/config
index 407c3100..9b8e7e21 100644
--- a/.config/sway/config
+++ b/.config/sway/config
@@ -227,15 +227,8 @@ mode "C-i-" {
# various reasons, so just having them as regular windows with
# shortcuts to get back to them is better.
- # chat
- # Foot in Debian bullseye doesn't have an option to set a persistent
- # title. See <https://codeberg.org/dnkl/foot/issues/386> regarding
- # using the app ID for this purpose. For bookworm, use new --override
- # locked-title=yes feature.
- bindsym Shift+n exec foot --app-id="foot-irssi" \
- /bin/sh -c "mosh athena /home/spwhitton/src/dotfiles/bin/ii", \
- mode "default"
- bindsym n [app_id="foot-irssi"] focus, mode "default"
+ bindsym n exec swaymsg '[title="\[mosh\] tmux default on athena"]' focus \
+ || foot ssh-and-tmux athena.silentflame.com, mode "default"
bindsym c [con_mark=caffeinated] inhibit_idle none; \
mark --toggle caffeinated; mode "default"
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index d0e065f5..f93c1b1d 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -363,6 +363,17 @@ windows side-by-side in the frame."
(spw/project-vc-print-root-log "VC-Log" "L")
(transient-cycles-cmd-spw/project-eshell "Eshell")))
'(project-switch-use-entire-map t)
+ '(rcirc-default-full-name "Sean Whitton [spwhitton@spwhitton.name]")
+ '(rcirc-default-nick "spwhitton")
+ '(rcirc-default-user-name "spwhitton")
+ '(rcirc-display-server-buffer nil)
+ '(rcirc-log-directory "~/local/irclogs")
+ '(rcirc-log-filename-function 'spw/rcirc-generate-log-filename)
+ '(rcirc-log-flag t)
+ '(rcirc-time-format "%b/%d %H:%M ")
+ '(rcirc-track-abbrevate-flag nil)
+ '(rcirc-track-ignore-server-buffer-flag t)
+ '(rcirc-track-minor-mode t)
'(read-mail-command 'gnus)
'(read-minibuffer-restore-windows nil)
'(remember-data-file "~/local/tmp/emacs-notes")
@@ -3469,6 +3480,67 @@ mutt's review view, after exiting EDITOR."
(advice-add #'gnus-summary-exit-no-update :around #'spw/gnus-with-expert)
+;;;; rcirc
+
+(defun spw/rcirc-generate-log-filename (process target)
+ (concat (file-name-concat (format-time-string "%Y/%m")
+ (process-name process) (or target "server"))
+ ".log"))
+
+(defun spw/irc-autoaway ()
+ (dolist (process (rcirc-process-list))
+ (rcirc-send-string process "AWAY :This Emacs is idle"))
+ (spw/add-once-hook 'post-command-hook
+ (lambda ()
+ (dolist (process (rcirc-process-list))
+ (rcirc-send-string process "AWAY :")))))
+
+(when (spw/on-host-p "athena.silentflame.com")
+ (defvar spw/irc-autoaway-timer
+ (progn (load (expand-file-name "irc-init" user-emacs-directory))
+ (irc nil)
+ (run-with-idle-timer 240 t #'spw/irc-autoaway))))
+
+(defun spw/rcirc-log-for-mail (process sender response target text)
+ (with-rcirc-process-buffer process
+ (when (and (string= "PRIVMSG" response)
+ (or (string= sender target)
+ (string-match-p
+ (format "\\`\\(?:spwhitton\\|seanw\\|%s\\).? " rcirc-nick)
+ text)))
+ (with-temp-buffer
+ (let ((time (format-time-string rcirc-time-format))
+ (name (rcirc-generate-new-buffer-name process target)))
+ (insert
+ (if (string= sender target)
+ (format "\n\n%s\t\t%s\n\n " time name)
+ (format "\n\n%s\t\t%s\n\n <%s> " time name sender))))
+ (insert text)
+ (fill-region (pos-bol) (point))
+ (write-region nil nil "~/local/irclogs/mail.log" t 'silent)))))
+(spw/feature-add-hook spw/rcirc-log-for-mail (rcirc rcirc-print-functions))
+
+(defun spw/rcirc-mail-hilights ()
+ (when (file-exists-p "~/local/irclogs/mail.log")
+ (ignore-errors
+ (rename-file "~/local/irclogs/mail.log" "~/local/irclogs/mail.log.tmp"))
+ (let (mail-signature
+ (mail-from-style 'parens)
+ (user-full-name "Cron Daemon")
+ (user-mail-address user-login-name))
+ (mail 'new user-login-name "IRC messages")
+ (mail-text) (insert-file "~/local/irclogs/mail.log.tmp")
+ (mail-text) (delete-blank-lines) (delete-blank-lines)
+ (let ((inhibit-quit t))
+ (mail-send)
+ (kill-buffer)
+ (delete-file "~/local/irclogs/mail.log.tmp")))))
+
+(when (spw/on-host-p "athena.silentflame.com")
+ (defvar spw/rcirc-mail-hilights-timer
+ (run-at-time t 21600 #'spw/rcirc-mail-hilights)))
+
+
;;;; VC
;;; Want Magit installed for `git-commit-mode', `git-rebase-mode' and these
diff --git a/.gitignore b/.gitignore
index 386b456b..c6db84c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,6 +22,5 @@
/.xmonad/xmonad.o
/.config/sonata/art_cache
/.config/gtk-3.0/bookmarks
-/.irssi/config
/.zsh/cache
*.elc
diff --git a/.irssi/clean.theme b/archive/.irssi/clean.theme
index 42566364..42566364 100644
--- a/.irssi/clean.theme
+++ b/archive/.irssi/clean.theme
diff --git a/.irssi/default.theme b/archive/.irssi/default.theme
index 29d48ba9..29d48ba9 100644
--- a/.irssi/default.theme
+++ b/archive/.irssi/default.theme
diff --git a/.irssi/scripts/autorun/act.pl b/archive/.irssi/scripts/autorun/act.pl
index 252a6d38..252a6d38 100755
--- a/.irssi/scripts/autorun/act.pl
+++ b/archive/.irssi/scripts/autorun/act.pl
diff --git a/.irssi/scripts/autorun/anotherway.pl b/archive/.irssi/scripts/autorun/anotherway.pl
index ba360f25..ba360f25 100755
--- a/.irssi/scripts/autorun/anotherway.pl
+++ b/archive/.irssi/scripts/autorun/anotherway.pl
diff --git a/.irssi/scripts/autorun/auto_bleh.pl b/archive/.irssi/scripts/autorun/auto_bleh.pl
index 9c00b2fa..9c00b2fa 100644
--- a/.irssi/scripts/autorun/auto_bleh.pl
+++ b/archive/.irssi/scripts/autorun/auto_bleh.pl
diff --git a/.irssi/scripts/autorun/format_identify.pl b/archive/.irssi/scripts/autorun/format_identify.pl
index 0b19c445..0b19c445 100644
--- a/.irssi/scripts/autorun/format_identify.pl
+++ b/archive/.irssi/scripts/autorun/format_identify.pl
diff --git a/.irssi/scripts/autorun/go.pl b/archive/.irssi/scripts/autorun/go.pl
index b656a0fc..b656a0fc 100644
--- a/.irssi/scripts/autorun/go.pl
+++ b/archive/.irssi/scripts/autorun/go.pl
diff --git a/.irssi/scripts/autorun/hilightwin.pl b/archive/.irssi/scripts/autorun/hilightwin.pl
index d735e1b7..d735e1b7 100644
--- a/.irssi/scripts/autorun/hilightwin.pl
+++ b/archive/.irssi/scripts/autorun/hilightwin.pl
diff --git a/.irssi/scripts/autorun/trackbar.pl b/archive/.irssi/scripts/autorun/trackbar.pl
index ee660910..ee660910 100644
--- a/.irssi/scripts/autorun/trackbar.pl
+++ b/archive/.irssi/scripts/autorun/trackbar.pl
diff --git a/.irssi/scripts/autorun/winnum.pl b/archive/.irssi/scripts/autorun/winnum.pl
index e9ed0bc3..e9ed0bc3 100644
--- a/.irssi/scripts/autorun/winnum.pl
+++ b/archive/.irssi/scripts/autorun/winnum.pl
diff --git a/.irssi/startup b/archive/.irssi/startup
index 67a2a3c4..67a2a3c4 100644
--- a/.irssi/startup
+++ b/archive/.irssi/startup
diff --git a/bin/ii b/archive/bin/ii
index d3176ad8..d3176ad8 100755
--- a/bin/ii
+++ b/archive/bin/ii
diff --git a/bin/send-irssi-away-log b/archive/bin/send-irssi-away-log
index b7df1dcc..b7df1dcc 100755
--- a/bin/send-irssi-away-log
+++ b/archive/bin/send-irssi-away-log