summaryrefslogtreecommitdiffstats
path: root/emacs/.emacs.d/init-lui.org
blob: 220b075d689b5ad44c567b805d82ddb768fa1ca0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#+PROPERTY: tangle site-lisp/lui-init.el
#+STARTUP: content

Since starting to use Circe I've also tried using the lui library on
another project: emacs-slack. This has caused lui to be loaded without
circe being loaded, so my lui customizations need to be loaded
separately when lui is loaded, not when circe is loaded.

* Enable lexical binding

  #+BEGIN_SRC emacs-lisp :padline no
    ;; -*- lexical-binding: t -*-
  #+END_SRC

* Require the needed libraries

  In order to keep compiler warnings to a minimum, I require the
  libraries that are used in this configuration.

  #+BEGIN_SRC emacs-lisp
    (require 'lui)
  #+END_SRC

* Change the time-stamp

  I use only a small window to view the IRC channel I'm in usually,
  the default format put the time-stamp just a little too far to the
  right and would always cause either line truncation or filling to
  the next line. So I put the time-stamp in the right margin so it's
  always to the right of all messages and no messages can run under
  it, so essentially it has it's own column.

  #+BEGIN_SRC emacs-lisp
    (setq lui-time-stamp-position 'right-margin)
    (setq lui-time-stamp-format "%H:%M")
  #+END_SRC

  Give the right margin just enough room to show the time-stamps, no
  more, no less.

  #+BEGIN_SRC emacs-lisp
    (defun oni:set-circe-margin-width ()
      (setq right-margin-width 5))

    (add-hook 'lui-mode-hook #'oni:set-circe-margin-width)
  #+END_SRC

* Provide the right feature

  In order to be able to use =(require 'lui-init)= we must first
  =provide= it.

  #+BEGIN_SRC emacs-lisp
    (provide 'lui-init)
  #+END_SRC