about summary refs log tree commit diff
path: root/users/tazjin/emacs/config/desktop.el
diff options
context:
space:
mode:
Diffstat (limited to 'users/tazjin/emacs/config/desktop.el')
-rw-r--r--users/tazjin/emacs/config/desktop.el14
1 files changed, 14 insertions, 0 deletions
diff --git a/users/tazjin/emacs/config/desktop.el b/users/tazjin/emacs/config/desktop.el
index f07e4fd45e..248da97eef 100644
--- a/users/tazjin/emacs/config/desktop.el
+++ b/users/tazjin/emacs/config/desktop.el
@@ -88,6 +88,20 @@
      ;; stripped since most of my terminals are fish shells anyways.
      (format "Term<%s>" (s-trim-left (s-chop-prefix "fish" title))))
 
+    ;; Quassel buffers
+    ;;
+    ;; These have a title format that looks like:
+    ;; "Quassel IRC - ##tvl (Freenode) — Quassel IRC"
+    (`("quassel" ,title)
+     (progn
+       (string-match
+        (rx "Quassel IRC - "
+            (group (one-or-more (any alnum "#"))) ;; <-- channel name
+            " (" (group (one-or-more (any ascii space))) ")" ;; <-- network name
+            " — Quassel IRC")
+        title)
+       (format "Quassel<%s>" (match-string 2 title))))
+
     ;; For any other application, a name is constructed from the
     ;; window's class and name.
     (`(,class ,title) (format "%s<%s>" class (s-truncate 12 title)))))