summaryrefslogtreecommitdiff
path: root/personal/itches.md
blob: a11ab4353d59a6137c4e01e105d46dcffd199172 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# Emacs

- center/top point when
    - moving to text/tag search hit
    - going to man page section
    - opening eww on an anchor
    - visiting a function from its Help buffer
- make font-lock stop background at fill-column or max(len(line) for
  line in paragraph) rather than window-width when text spans >1 lines
- shell-mode
    - add faces instead of reusing font-lock-{comment,string}
    - understand `autocd` and `cd !$`
    - use Bash completions (e.g. `ls TAB` in a folder with one file)
- [.dir-locals changed priorities][bug#30008] between subfolder and
  major mode from 25 to 26
- eshell: `ls --group-directories-first` does not color folders
- make " Narrow" lighter customizable (src/xdisp.c)
- Emoji(One) support
- eww, gnus-article: adapt filling to window width changes
- scroll-lock-mode
    - cursor stuck on lines wrapped by visual-line-mode
    - cursor stuck on lines with 😛
    - scroll when going down newline with forward-…
- prevent kills in password prompts from ending up in the clipboard
  (.authinfo.gpg, sudo…)
- matching-paren analysis fails: `;; (here is\n;; a comment)`
- some modes redefine C-M-h, which makes this binding hard to
  override; could mark-defun consult functions/values exposed by major
  modes instead?
- make ellipses for "invisible" text easily customizable (src/xdisp.c)
- Man-mode: make isearch skip end-of-line hyphens
- whitespace-mode: skip line/wrap-prefix variables and properties
- when opening `.gpg` files in a TTY, some characters (e.g. TAB) are
  swallowed by Emacs instead of being forwarded to the gpg prompt;
  these characters are then inserted in the decrypted file's buffer
  (see `epa-file-insert-file-contents`)
- let TRAMP fetch Google Drive credentials from .authinfo.gpg
- icomplete's C-j does not choose the first completion as advertised
  on empty input; it chooses ".", which AFAICT comes from the fact
  that icomplete-exhibit calls completion-pcm--filename-try-filter
  while icomplete-force-complete-and-exit simply calls
  minibuffer-force-complete-and-exit.

[bug#30008]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30008

## Better out-of-the-box display for FORM FEED

By default, FORM FEED is displayed as a dumb `^L` glyph.  This is
surprising considering it shows up in so many places: Emacs source
files, help buffers (e.g. `describe-mode`)…  You can even see it in
source files of other GNU projects, like GCC.

"Pages" are important enough to have their own navigation and
narrowing commands, yet their default delimiter is displayed as an
unassuming control character.

I like [`page-break-lines`]'s approach; having this kind of display by
default would make it more obvious that this character serves an
actual purpose.  As it stands, it looks no different from some stray
CARRIAGE RETURN.

This could be re-used by e.g.:

- `describe-symbol`, which uses the following ~~method~~ hack to
  visually break up multiple symbol definitions:

  ``` lisp
  (insert "\n\n"
          (eval-when-compile
            (propertize "\n" 'face '(:height 0.1 :inverse-video t)))
          "\n")
  ```

- Custom buffers, where sections are delimited visually with a
  999-character wide underlined space.

Full disclosure
:   This reflection started because moving over this underlined space
    with `truncate-lines` on causes the screen to jump horizontally.
    This specific problem should be fixable without dragging FORM FEED
    display into the discussion, but I feel like the latter is the
    more interesting issue ([who on Earth] enables `truncate-lines` by
    default anyway).

[`page-break-lines`]: https://github.com/purcell/page-break-lines
[who on Earth]: https://gitlab.com/peniblec/dotfiles/blob/master/.emacs-custom.el

## ERC

- move timestamp to a better position (see `stamp` module)
- play well with whitespace-mode

## Language support

- fix builtin/keyword distinction for Bash & Python3

## Third-party

### magit

- customize current-tag function so that one can add `--first-parent`
- prevent section highlight overlay from hiding tag face background
- fix copy-pasted docstring for magit-diff-context-highlight

### markdown-mode

- support [shortcut reference links]
- move point past header after C-c C-t !/@
- update sub-superscript regex to allow L~i+1~
- make justification work with indented blockquotes
- add "ini ↦ conf-mode" to markdown-code-lang-modes

[shortcut reference links]: http://spec.commonmark.org/0.27/#shortcut-reference-link

### rg-mode

- make -project DTRT in dired

### page-break-lines

- borked in magit-diff

# XFCE

- xfwm: hide/remove titlebar/decorations

# Spell checkers

- update dictionaries?

# Conky

Cannot use `${eval $${somefunc ${gw_iface}}}` more than once:

    conky.text = [[
    ${eval ${gw_iface}}
    ${eval ${gw_iface}}
    ]]
    ⇒
    wlp20
    (null)

See [GitHub issue](https://github.com/brndnmtthws/conky/issues/461).