summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--attic/misc.org129
-rw-r--r--completion.org12
-rw-r--r--eww.org72
-rw-r--r--exwm.org23
-rw-r--r--init.org274
5 files changed, 245 insertions, 265 deletions
diff --git a/attic/misc.org b/attic/misc.org
index 397bfcb..94f300f 100644
--- a/attic/misc.org
+++ b/attic/misc.org
@@ -1,6 +1,6 @@
#+title: Miscellaneous config bits that i don't use anymore
-* enwc (network monitor)
+* enwc
#+BEGIN_SRC emacs-lisp
(use-package enwc
:ensure t
@@ -158,3 +158,130 @@
(global-company-mode 1)
#+end_src
+* rcirc
+ #+begin_src emacs-lisp :load no
+ (use-package rcirc
+ :init
+ (setq rcirc-server-alist `(("irc.libera.chat"
+ :encryption tls
+ :port 6697
+ :channels ,jao-irc-channels))
+ rcirc-default-user-full-name "http://jao.io/"
+ rcirc-buffer-maximum-lines 1000
+ rcirc-fill-column 82
+ rcirc-fill-prefix " "
+ rcirc-time-format "%H:%M "
+ rcirc-kill-channel-buffers t
+ rcirc-response-formats
+ '(("PRIVMSG" . "(%N) %m")
+ ("NOTICE" . "-%N- %m")
+ ("ACTION" . "(... %N %m)")
+ ("COMMAND" . "%m")
+ ("ERROR" . "%fw!!! %m")
+ (t . "%fp*** %fs%n %r %m"))
+ rcirc-prompt ": "
+ rcirc-nick-completion-format "%s, "
+ rcirc-reconnect-delay 120
+ rcirc-omit-responses
+ '("JOIN" "PART" "QUIT" "NICK" "AWAY" "MODE" "KEEPALIVE"))
+ :config
+ (let ((fn (jao--get-user/password "libera"))
+ (btl (jao--get-user/password "bitlbee")))
+ (setq rcirc-authinfo
+ `(("libera" nickserv ,(nth 0 fn) ,(nth 1 fn))
+ ("localhost" bitlbee ,(nth 0 btl) ,(nth 1 btl)))))
+ (jao-shorten-modes 'rcirc-mode)
+
+ (define-minor-mode ncm-mode "" nil
+ (:eval (format " [%S]"
+ (length (rcirc-channel-nicks (rcirc-buffer-process)
+ rcirc-target)))))
+
+ (defun jao-rcirc-track ()
+ (dolist (b rcirc-activity) (tracking-add-buffer b))
+ (jao-minibuffer-refresh))
+
+ (add-hook 'rcirc-update-activity-string-hook #'jao-rcirc-track)
+ (add-hook 'rcirc-mode-hook #'ncm-mode)
+ (add-hook 'rcirc-mode-hook #'rcirc-omit-mode)
+
+ :diminish ((rcirc-omit-mode . "")))
+ #+end_src
+* circe
+ #+begin_src emacs-lisp
+ (defvar jao-irc-channels '())
+ (use-package circe
+ :ensure t
+ :bind (:map circe-channel-mode-map
+ (("C-c C-a" . lui-track-jump-to-indicator)))
+ :init
+ (setq circe-default-realname "https://jao.io"
+ circe-default-part-message ""
+ circe-default-quit-message ""
+ circe-ignore-list nil
+ circe-server-coding-system '(undecided . undecided)
+ circe-server-killed-confirmation 'ask-and-kill-all
+ circe-server-auto-join-default-type :after-auth
+ circe-format-say "({nick}) {body}"
+ circe-format-self-say "(jao) {body}"
+ circe-new-buffer-behavior 'ignore
+ circe-new-buffer-behavior-ignore-auto-joins t
+ circe-nickserv-ghost-style 'after-auth
+ circe-prompt-string ": "
+ circe-completion-suffix ", "
+ circe-reduce-lurker-spam t
+
+ circe-nick-next-function
+ (lambda (old)
+ (replace-regexp-in-string "-" "`" (circe-nick-next old)))
+
+ circe-lagmon-mode-line-format-string "" ;; "%.0f "
+ circe-lagmon-mode-line-unknown-lag-string "" ;; "? "
+ circe-lagmon-timer-tick 120
+ circe-lagmon-reconnect-interval 180
+
+ lui-max-buffer-size 30000
+ lui-fill-column 80
+ lui-time-stamp-position 'right
+ lui-time-stamp-format "%H:%M"
+ lui-flyspell-p nil
+
+ lui-track-indicator 'fringe
+ lui-track-behavior 'before-tracking-next-buffer)
+ :config
+
+ (defun circe-command-RECOVER (&rest ignore)
+ "Recover nick"
+ (let* ((fn (jao--get-user/password "freenode"))
+ (u (car fn))
+ (p (cadr fn)))
+ (circe-command-MSG "nickserv" (format "IDENTIFY %s %s" u p))
+ (circe-command-MSG "nickserv" (format "GHOST %s" u))
+ (circe-command-MSG "nickserv" (format "RELEASE %s" u))
+ (circe-command-NICK u)))
+
+ (defvar jao-bitlbee-channels ())
+ (setq circe-network-options
+ (let ((up (jao--get-user/password "freenode"))
+ (bup (jao--get-user/password "bitlbee")))
+ `(("libera"
+ :host "irc.libera.chat" :port 6667
+ :nick ,(car up) :channels ,jao-irc-channels
+ :tls t :nickserv-password ,(cadr up))
+ ("Freenode" :nick ,(car up) :channels ,jao-irc-channels
+ :tls t :sasl-username ,(car up) :sasl-password ,(cadr up))
+ ("Bitlbee"
+ :host "127.0.0.1" :nick ,(car bup)
+ :channels ,jao-bitlbee-channels
+ :lagmon-disabled t
+ :nickserv-password ,(cadr bup) :user ,(car bup)))))
+
+ (jao-shorten-modes 'circe-channel-mode
+ 'circe-server-mode
+ 'circe-query-mode)
+
+ (circe-lagmon-mode)
+ (enable-circe-color-nicks)
+ (enable-circe-display-images)
+ (enable-lui-track))
+ #+end_src
diff --git a/completion.org b/completion.org
index 26d8b46..5c1a050 100644
--- a/completion.org
+++ b/completion.org
@@ -182,8 +182,7 @@
(eq this-command #'consult-buffer)
(string-equal "Web" (jao-afio-current-frame)))
(setq unread-command-events
- (append unread-command-events
- (list jao-consult-www-narrow 32)))))
+ (append unread-command-events `(,jao-consult-www-narrow 32)))))
(add-hook 'minibuffer-setup-hook #'jao-consult-initial-narrow)
#+end_src
*** narrowing eww buffers
@@ -195,7 +194,7 @@
:category 'eww-buffer
:hidden t
:narrow (cons ?e "eww")
- :annotate (lambda (b) (get-text-property 0 'url b))
+ :annotate (lambda (c) (get-text-property 0 'url c))
:history 'jao-eww-consult-history
:action (lambda (b)
(jao-afio--goto-www)
@@ -204,9 +203,10 @@
(lambda ()
(seq-map (lambda (b)
(with-current-buffer b
- (propertize (jao-eww-buffer-title)
- 'buffer b
- 'url (jao-eww--current-url))))
+ (let ((tl (or (jao-eww-buffer-title) ""))
+ (url (or (jao-eww--current-url) "<no url>")))
+ (propertize (if (string-blank-p tl) url tl)
+ 'buffer b 'url url))))
(jao-eww-session--list-buffers)))))
(add-to-list 'consult-buffer-sources 'jao-eww-buffer-source t)
diff --git a/eww.org b/eww.org
index 2aa5dcf..e2e9ae5 100644
--- a/eww.org
+++ b/eww.org
@@ -30,21 +30,6 @@
(mm-shr handle)))
(setq mm-text-html-renderer 'jao-eww-html-renderer)
#+end_src
-* Buffer names
- #+begin_src emacs-lisp
- (defun jao-eww--title ()
- (if (eq "" (plist-get eww-data :title))
- (plist-get eww-data :url)
- (plist-get eww-data :title)))
-
- (defun jao-eww--rename-buffer ()
- (let ((name (truncate-string-to-width (jao-eww--title) 90 nil nil t)))
- (rename-buffer (format "*%s # eww*" name) t)))
-
- (add-hook 'eww-after-render-hook #'jao-eww--rename-buffer)
- (advice-add 'eww-back-url :after #'jao-eww--rename-buffer)
- (advice-add 'eww-forward-url :after #'jao-eww--rename-buffer)
- #+end_src
* Opening URLs
#+begin_src emacs-lisp
(defun jao-eww-browse (arg)
@@ -99,63 +84,6 @@
(interactive)
(jao-eww-reopen t))
#+end_src
-* Visiting links in a page
- #+begin_src emacs-lisp
- (defun jao-eww-copy-link ()
- (interactive)
- (when-let (lnk (or (car (eww-links-at-point)) (eww-current-url)))
- (message "%s" lnk)
- (kill-new lnk)))
-
- (defun jao-eww--at-link ()
- (and (get-text-property (point) 'shr-url)
- (not (get-text-property (point) 'eww-form))))
-
- (defun jao-eww--previous-url ()
- (text-property-search-backward 'shr-url nil nil t))
-
- (defun jao-eww--pp-link ()
- (format "%s @ %s"
- (button-label (point))
- (propertize (get-text-property (point) 'shr-url) 'face 'link)))
-
- (defun jao-eww-visit-url-on-page (&optional arg)
- "Visit URL from list of links in the page using completion."
- (interactive "P")
- (when (derived-mode-p 'eww-mode)
- (let ((links))
- (save-excursion
- (goto-char (point-max))
- (while (jao-eww--previous-url)
- (when (jao-eww--at-link) (push (jao-eww--pp-link) links))))
- (let* ((selection (completing-read "Browse: " links nil t))
- (url (replace-regexp-in-string ".*@ " "" selection)))
- (eww url (if arg 4 nil))))))
-
- (defun jao-eww-jump-to-url-on-page ()
- "Jump to URL position in the page using completion."
- (interactive)
- (when (derived-mode-p 'eww-mode)
- (let ((links))
- (save-excursion
- (goto-char (point-max))
- (while (jao-eww--previous-url)
- (when (jao-eww--at-link)
- (push (format "%s ~ %d" (jao-eww--pp-link) (point)) links))))
- (let* ((selection (completing-read "Jump to URL in page: " links nil t))
- (position (replace-regexp-in-string ".*~ " "" selection))
- (point (string-to-number position)))
- (goto-char point)))))
-
- (defun jao-eww--append-html (oldfn &rest args)
- (let ((p (apply oldfn args)))
- (when (stringp p)
- (let ((r (if (string-match-p ".*\\.html$" p) p (concat p ".html"))))
- (kill-new (format "[[doc:%s]]" r))
- r))))
-
- (advice-add 'eww-make-unique-file-name :around #'jao-eww--append-html)
- #+end_src
* eww-lnum
#+begin_src emacs-lisp
(use-package eww-lnum :ensure t)
diff --git a/exwm.org b/exwm.org
index 0373e57..625760d 100644
--- a/exwm.org
+++ b/exwm.org
@@ -460,24 +460,22 @@
(("a" jao-vterm-aptitude "aptitude")
("l" jao-exwm-packages "packages")
("s-w" jao-hydra-exwm/body nil))
+ "Monitors"
+ (("p" jao-vterm-htop "htop")
+ ("x" jao-exwm-xmobar "restart xmobar")
+ ("X" jao-exwm-kill-xmobar "kill xmobar"))
"Network"
(("S" jao-ssh "ssh")
("T" telega "telegram rooster")
- ;; ("b" jao-exwm-bluetooth "bluetooth")
+ ("b" jao-exwm-bluetooth "bluetooth")
;; ("m" run-proton-bridge "proton bridge")
;; ("v" jao-exwm-proton-vpn "proton vpn")
- ("c" (jao-chats t) "connect chats"))
- "Monitors"
- (("p" jao-vterm-htop "htop")
- ;; ("P" jao-exwm-proced "proced")
- ("x" jao-exwm-xmobar "restart xmobar")
- ("X" jao-exwm-kill-xmobar "kill xmobar")
- ;; ("t" jao-time-echo-times "current time")
)
"Chats"
- (("t" (jao-buffer-same-mode 'telega-chat-mode) "telgram buffers")
- ("s" (jao-buffer-same-mode 'slack-message-buffer-mode) "slack buffers")
- ("i" (jao-buffer-same-mode 'rcirc-mode) "irc channels"))
+ (("c" (jao-chats t) "connect chats")
+ ("t" (jao-buffer-same-mode 'telega-chat-mode) "telegram")
+ ("s" (jao-buffer-same-mode 'slack-message-buffer-mode) "slack")
+ ("i" (jao-buffer-same-mode 'erc-mode) "irc"))
"Looks"
(;; ("T" jao-toggle-transparency "toggle transparency"
;; :toggle (jao-transparent-p) :color red)
@@ -485,8 +483,7 @@
("W" jao-set-random-wallpaper "set radom wallpaper"))
"Helpers"
(("r" org-reveal "org reveal")
- ("k" jao-kb-toggle "toggle keyboard"
- :toggle (jao-kb-toggled-p) :color red)
+ ("k" jao-kb-toggle "toggle keyboard" :toggle (jao-kb-toggled-p))
("M" jao-minibuffer-toggle "toggle minibuffer"
:toggle jao-minibuffer-enabled-p))))
#+end_src
diff --git a/init.org b/init.org
index 84d9126..ea8795d 100644
--- a/init.org
+++ b/init.org
@@ -659,10 +659,7 @@
(setq mode-line-position-column-format '(" %c")
mode-line-position-line-format '(" %l,%c"))
(setq mode-line-percent-position
- '(;; (circe-chat-target (:eval (format " [%d]"
- ;; (length (circe-channel-nicks)))))
- " %l"
- (:eval (format "/%d" (line-number-at-pos (point-max))))))
+ '(" %l" (:eval (format "/%d" (line-number-at-pos (point-max))))))
(line-number-mode -1)
(column-number-mode 1)
(jao-minibuffer-add-mode-line 90)
@@ -1609,8 +1606,7 @@
#+end_src
*** Web browsers
#+begin_src emacs-lisp
- ;; (jao-load-org "eww")
- (jao-load-org "w3m")
+ (jao-load-org "eww")
#+end_src
* Email
#+begin_src emacs-lisp
@@ -2687,83 +2683,36 @@
(jao-exec-in-vterm (format "ssh %s" h) (format "* %s *" h))))
#+end_src
* Chats
-*** rcirc
- #+begin_src emacs-lisp :load no
- (use-package rcirc
- :init
- (setq rcirc-server-alist `(("irc.libera.chat"
- :encryption tls
- :port 6697
- :channels ,jao-irc-channels))
- rcirc-default-user-full-name "http://jao.io/"
- rcirc-buffer-maximum-lines 1000
- rcirc-fill-column 82
- rcirc-fill-prefix " "
- rcirc-time-format "%H:%M "
- rcirc-kill-channel-buffers t
- rcirc-response-formats
- '(("PRIVMSG" . "(%N) %m")
- ("NOTICE" . "-%N- %m")
- ("ACTION" . "(... %N %m)")
- ("COMMAND" . "%m")
- ("ERROR" . "%fw!!! %m")
- (t . "%fp*** %fs%n %r %m"))
- rcirc-prompt ": "
- rcirc-nick-completion-format "%s, "
- rcirc-reconnect-delay 120
- rcirc-omit-responses
- '("JOIN" "PART" "QUIT" "NICK" "AWAY" "MODE" "KEEPALIVE"))
- :config
- (let ((fn (jao--get-user/password "libera"))
- (btl (jao--get-user/password "bitlbee")))
- (setq rcirc-authinfo
- `(("libera" nickserv ,(nth 0 fn) ,(nth 1 fn))
- ("localhost" bitlbee ,(nth 0 btl) ,(nth 1 btl)))))
- (jao-shorten-modes 'rcirc-mode)
-
- (define-minor-mode ncm-mode "" nil
- (:eval (format " [%S]"
- (length (rcirc-channel-nicks (rcirc-buffer-process)
- rcirc-target)))))
-
- (defun jao-rcirc-track ()
- (dolist (b rcirc-activity) (tracking-add-buffer b))
- (jao-minibuffer-refresh))
-
- (add-hook 'rcirc-update-activity-string-hook #'jao-rcirc-track)
- (add-hook 'rcirc-mode-hook #'ncm-mode)
- (add-hook 'rcirc-mode-hook #'rcirc-omit-mode)
-
- :diminish ((rcirc-omit-mode . "")))
- #+end_src
*** erc
***** Package
#+begin_src emacs-lisp
(use-package erc
:init
(setq erc-modules
- '(autojoin
- button
- dcc
- fill
- irccontrols
- match
- move-to-prompt
- netsplit
- networks
- noncommands
- notify
- pcomplete
- ring
- services
- stamp
- track
- truncate))
+ '(autojoin
+ button
+ dcc
+ fill
+ irccontrols
+ match
+ move-to-prompt
+ netsplit
+ networks
+ noncommands
+ notify
+ pcomplete
+ ring
+ services
+ stamp
+ track
+ truncate))
+
(setq erc-auto-query 'bury
erc-autojoin-channels-alist `(("libera.chat" ,@jao-irc-channels))
erc-away-nickname "jao"
erc-button-buttonize-nicks t
- erc-common-server-suffixes '(("freenode.net$" . "fn"))
+ erc-common-server-suffixes '(("freenode.net$" . "fn")
+ ("libera.chat$" . "lb"))
erc-current-nick-highlight-type 'nick-or-keyword
erc-email-userid (car jao-mails)
erc-fill-column 84
@@ -2813,95 +2762,87 @@
(require 'erc-services)
(add-to-list 'erc-nickserv-alist
- (cons 'libera (alist-get 'freenode erc-nickserv-alist)))
-
- ;; (let ((fn (nth 1 (jao--get-user/password "libera")))
- ;; (btl (nth 1 (jao--get-user/password "bitlbee"))))
- ;; (setq erc-nickserv-passwords
- ;; `((libera (("jao" . ,fn) ("jaowl" . ,fn)))
- ;; (BitlBee (("jao" . ,btl))))))
- )
-
- #+end_src
+ (cons 'libera (alist-get 'freenode erc-nickserv-alist))))
+ #+end_src
***** No angles
- #+begin_src emacs-lisp
- (defun jao-erc--no-angles (old-func &rest args)
- (let ((msg (apply old-func args)))
- (replace-regexp-in-string "^<\\([^>]+\\)>" "(\\1)" msg)))
-
- (with-eval-after-load "erc"
- (modify-syntax-entry ?\( "." erc-mode-syntax-table)
- (modify-syntax-entry ?\) "." erc-mode-syntax-table)
- (advice-add 'erc-format-privmessage :around #'jao-erc--no-angles)
- (advice-add 'erc-format-my-nick :around #'jao-erc--no-angles))
- #+end_src
+ #+begin_src emacs-lisp
+ (defun jao-erc--no-angles (old-func &rest args)
+ (let ((msg (apply old-func args)))
+ (replace-regexp-in-string "^<\\([^>]+\\)>" "(\\1)" msg)))
+
+ (with-eval-after-load "erc"
+ (modify-syntax-entry ?\( "." erc-mode-syntax-table)
+ (modify-syntax-entry ?\) "." erc-mode-syntax-table)
+ (advice-add 'erc-format-privmessage :around #'jao-erc--no-angles)
+ (advice-add 'erc-format-my-nick :around #'jao-erc--no-angles))
+ #+end_src
***** Tracking
- #+begin_src emacs-lisp
- (defun jao-erc-track-shorten (names)
- (let ((names (erc-track-shorten-names names)))
- (mapcar (lambda (n) (string-remove-prefix "#" n)) names)))
-
- (setq erc-track-exclude-server-buffer t
- erc-track-exclude-types '("NICK" "JOIN" "PART" "QUIT" "MODE" "KICK")
- erc-track-remove-disconnected-buffers t
- erc-track-shorten-aggressively t ;; 'max
- erc-track-shorten-function #'jao-erc-track-shorten
- erc-track-switch-direction 'importance
- erc-track-visibility nil ;; t all, nil only selected frame
- erc-track-position-in-mode-line nil
- erc-track-enable-keybindings nil ;; 'ask
- erc-track-faces-priority-list '(erc-error-face
- erc-current-nick-face
- erc-pal-face
- erc-direct-msg-face
- erc-nick-msg-face
- erc-default-face
- erc-action-face
- erc-notice-face))
- (defun jao-track-erc-buffers ()
- (dolist (e erc-modified-channels-alist)
- (tracking-add-buffer (car e) (list (cddr e)))))
-
- (with-eval-after-load "erc-track"
- (require 'tracking nil t)
- (add-hook 'exwm-workspace-switch-hook #'erc-modified-channels-update)
- (add-hook 'erc-track-list-changed-hook #'jao-track-erc-buffers))
-
- (jao-shorten-modes 'erc-mode)
- (jao-tracking-faces 'erc-error-face
- 'erc-pal-face
- 'erc-current-nick-face
- 'erc-direct-msg-face)
- #+end_src
+ #+begin_src emacs-lisp
+ (defun jao-erc-track-shorten (names)
+ (let ((names (erc-track-shorten-names names)))
+ (mapcar (lambda (n) (string-remove-prefix "#" n)) names)))
+
+ (setq erc-track-exclude-server-buffer t
+ erc-track-exclude-types '("NICK" "JOIN" "PART" "QUIT" "MODE" "KICK")
+ erc-track-remove-disconnected-buffers t
+ erc-track-shorten-aggressively t ;; 'max
+ erc-track-shorten-function #'jao-erc-track-shorten
+ erc-track-switch-direction 'importance
+ erc-track-visibility nil ;; t all, nil only selected frame
+ erc-track-position-in-mode-line nil
+ erc-track-enable-keybindings nil ;; 'ask
+ erc-track-faces-priority-list '(erc-error-face
+ erc-current-nick-face
+ erc-pal-face
+ erc-direct-msg-face
+ erc-nick-msg-face
+ erc-default-face
+ erc-action-face
+ erc-notice-face))
+ (defun jao-track-erc-buffers ()
+ (dolist (e erc-modified-channels-alist)
+ (tracking-add-buffer (car e) (list (cddr e)))))
+
+ (with-eval-after-load "erc-track"
+ (require 'tracking nil t)
+ (add-hook 'exwm-workspace-switch-hook #'erc-modified-channels-update)
+ (add-hook 'erc-track-list-changed-hook #'jao-track-erc-buffers))
+
+ (jao-shorten-modes 'erc-mode)
+ (jao-tracking-faces 'erc-error-face
+ 'erc-pal-face
+ 'erc-current-nick-face
+ 'erc-direct-msg-face)
+ #+end_src
***** Commands (/recover &co.)
- #+begin_src emacs-lisp
- (defun erc-cmd-RECOVER (&rest ignore)
- "Recover nick"
- (let ((fn (jao--get-user/password "freenode")))
- (erc-cmd-MSG (format "nickserv IDENTIFY %s %s" (car fn) (cadr fn)))
- (erc-cmd-MSG (format "nickserv GHOST %s" (car fn)))
- (erc-cmd-MSG (format "nickserv RELEASE %s" (car fn)))
- (erc-cmd-NICK (car fn))))
- #+end_src
+ #+begin_src emacs-lisp
+ (defun erc-cmd-RECOVER (&rest ignore)
+ "Recover nick"
+ (let ((fn (jao--get-user/password "freenode")))
+ (erc-cmd-MSG (format "nickserv IDENTIFY %s %s" (car fn) (cadr fn)))
+ (erc-cmd-MSG (format "nickserv GHOST %s" (car fn)))
+ (erc-cmd-MSG (format "nickserv RELEASE %s" (car fn)))
+ (erc-cmd-NICK (car fn))))
+ #+end_src
***** Images
- #+begin_src emacs-lisp :load no
- (use-package erc-image
- :ensure t
- :after erc
- :init (setq erc-image-inline-rescale 'window)
- :config
- (add-to-list 'erc-modules 'image)
- (erc-update-modules))
- #+end_src
+ #+begin_src emacs-lisp :load no
+ (use-package erc-image
+ :ensure t
+ :after erc
+ :init (setq erc-image-inline-rescale 'window)
+ :config
+ (add-to-list 'erc-modules 'image)
+ (erc-update-modules))
+ #+end_src
***** Startup
- #+begin_src emacs-lisp
- (defun jao-erc (&optional yes)
- (interactive "P")
- ;; (when (or yes (y-or-n-p "Connect to bitlbee using ERC? "))
- ;; (erc-select :server "localhost"))
- (when (or yes (y-or-n-p "Connect to libera using ERC? "))
- (erc-select :server "irc.libera.chat")))
- #+end_src
+ #+begin_src emacs-lisp
+ (defun jao-erc (&optional yes)
+ (interactive "P")
+ ;; (when (or yes (y-or-n-p "Connect to bitlbee using ERC? "))
+ ;; (erc-select :server "localhost"))
+ (when (or yes (y-or-n-p "Connect to libera using ERC? "))
+ (erc-select :server "irc.libera.chat")))
+ #+end_src
*** slack
[[https://github.com/jackellenberger/emojme#finding-a-slack-token][How to get a token]]: It's easyish! Open and sign into the slack
customization page, e.g. https://my.slack.com/customize, right
@@ -2914,7 +2855,6 @@
~slack-conversations-view~ by ~slack-conversations-history~
#+begin_src emacs-lisp
- (jao-load-path "emacs-slack")
(use-package slack
:commands (slack-start)
:init
@@ -2977,35 +2917,23 @@
#+end_src
*** startup
#+begin_src emacs-lisp
- (defun jao-circe (&optional p)
- (interactive "P")
- ;; (when (or p (y-or-n-p "Connect to bitlbee using circe? "))
- ;; (circe "Bitlbee"))
- (when (or p (y-or-n-p "Connect to freenode using circe? "))
- (circe "Freenode")))
-
(defun jao-chats (&optional p)
(interactive "P")
(when (or p (y-or-n-p "Connect to slack? "))
(slack-start))
(when (or p (y-or-n-p "Connect to telegram? "))
(telega))
- ;; (when (and (not (signel-signal-cli-process))
- ;; (or p (y-or-n-p "Start signel? ")))
- ;; (signel-start))
- ;; (jao-circe p)
- (rcirc))
+ (jao-erc p))
(pretty-hydra-define jao-hydra-chats (global-map "s-q" :color blue :quit-key "q")
("Connect"
(("A" (jao-chats t) "all chats -y")
("a" jao-chats "all chats")
("S" slack-start "slack")
- ;; ("C" (jao-circe t) "circe -y")
+ ("e" (jao-erc t) "erc -y")
("s-q" jao-hydra-chats/body nil))
"Go"
- (("c" (jao-buffer-same-mode 'circe-channel-mode) "circe buffer")
- ("i" (jao-buffer-same-mode 'rcirc) "rcirc buffer")
+ (("i" (jao-buffer-same-mode 'erc-mode) "irc")
("s" (jao-buffer-same-mode 'slack-message-buffer-mode) "slack buffer")
("t" (jao-buffer-same-mode 'telega-chat-mode) "telega buffer")
("T" telega "telega rooster"))))