summary refs log tree commit diff stats
path: root/TODO.org
blob: bd146a868985a0fe8df8f16a31e20435f2859888 (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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
#+TITLE: TODO stuff for emacs config
#+SUBTITLE: Yes I have one of these…
#+AUTHOR: Case Duckworth

* Packages

** DONE insert-kaomoji

- [X] Add =(¬‿¬)═ɜ ɛ═(⌐‿⌐ )= to list
- [X] and =▬▬▬▬▬▬▬▋ Ò╭╮Ó=
- [X] Clean up code and package it properly

*** DONE FIX the damn thing Ò╭╮Ó

I just have to make sure it's loading correctly in my own config… bleh

- and add:
  - [X] =ヽ(°〇°)ノ=
  - [X] =୧((#Φ益Φ#))୨=
  - [X]  =(╥﹏╥)=
  - [X] =Σ ◕ ◡ ◕=
  - [X] =╭∩╮(︶_︶)╭∩╮=
  - [X] =(งツ)ว=
  - [X] =ʕ ᴖᴥᴖʔ= 

** TODO =append-scratch= mode or something

- save the scratch buffer at times (see [[https://github.com/Fanael/persistent-scratch][GitHub - Fanael/persistent-scratch]],
  [[https://umarahmad.xyz/blog/quick-scratch-buffers/][Quick persistent scratch buffers]]), but *IMPORTANTLY*
  + append-only to persistent file
  + have a keybinding to save buffer to file, then clear buffer
  + =persistent-scratch-save-to-file= ?

- *NO WAIT* just add a function to interface with the previous scratch buffers.

** TODO keep-acs (name?)

- keepassxc-cli
- interface with emacs
- plug into =auth-sources=

** TODO banish-mouse-x

allow more configuration of where the mouse goes:

- '(banish . corner)
- '(banish . (x . y))
- …

** TODO add functionality to =electric-cursor-mode=

- Enable idle cursor changing, dependent on mode
- see [[https://www.emacswiki.org/emacs/cursor-chg.el][cursor-chg.el]]

* Configuring

** DONE Install =el-patch=?

** DONE Look at [[https://gitlab.com/ideasman42/emacs-mode-line-idle][ideasman42 / emacs-mode-line-idle]]

** TODO Look into =which-key= [[https://github.com/justbur/emacs-which-key#2017-12-13-added-which-key-enable-extended-define-key][bind naming]]

** TODO Look at [[https://github.com/karthink/.emacs.d/blob/master/lisp/setup-icomplete.el#L768][embark-complete setup]]

from karthink (and prot)

** TODO [[https://github.com/ahungry/md4rd][md4rd]]

** DONE [[https://github.com/gRastello/ytel][ytel]]

** TODO [[https://passionsplay.com/blog/create-minimal-emacs-environments-with-a-shell-script/][Create Minimal Emacs Environments with a Shell Script]]

** DONE Twitch IRC

- [[https://gist.github.com/hunterbridges/ab095066d40f2e1a243e][How to connect to Twitch with an IRC client (As of Oct 2015) · GitHub]]
- irc.twitch.tv

** TODO Figuire out “boring”-aware =consult-buffer=

- call boring-aware with =C-x b=
- call normal with =C-u C-x b=
- look at =consult--source-buffer= and define one there

** TODO Fix =title-case= to work with “hard” spaces

e.g., “A gold watch” title-cases to “A gold Watch”

* Productivity

** TODO LOOK AT [[https://github.com/odeke-em/drive][DRIVE]]

- google drive go client
- can pull to txt/docx/whatev
- can =drive push -convert= to docs format
- :OOOOOO this would be HOUGHE

** TODO Set up Org Capture

*** Inspo: From wsinatra

#+begin_src emacs-lisp
  ;; Custom capture templates
  (setq org-capture-templates
        '(("t" "Todo" entry (file org-default-notes-file)
           "* TODO %?\n%u\n%a\n"
           :clock-in t :clock-resume t)
          ("e" "Event" entry (file org-default-notes-file)
           "* EVENT %? :EVENT:\n%t"
           :clock-in t :clock-resume t)
          ("i" "Idea" entry (file org-default-notes-file)
           "* %? :IDEA: \n%t"
           :clock-in t :clock-resume t)
          ("p" "Project"
           entry (file org-default-notes-file)
           "* PROJ %?\n%u\n%a\n"
           :clock-in t :clock-resume t)
          ("n" "Next Task"
           entry (file+headline org-default-notes-file "Tasks")
           "** NEXT %? \nDEADLINE: %t")))
 #+end_src

*** Also cf. [[https://blog.jethro.dev/posts/org_mode_workflow_preview/][Org-mode Workflow: A Preview · Jethro Kuan]]

* Buffer display stuff

#+begin_src emacs-lisp
  ;; from alphapapa
  (cl-defun ap/display-buffer-in-side-window (&optional (buffer (current-buffer)))
    "Display BUFFER in dedicated side window."
    (interactive)
    (let ((display-buffer-mark-dedicated t))
      (display-buffer-in-side-window buffer
                                     '((side . right)
                                       (window-parameters
                                        (no-delete-other-windows . t))))))
 #+end_src

- [[https://old.reddit.com/r/emacs/comments/pka1sm/my_first_package_aside_for_easier_configuration/][My first package: Aside, for easier configuration and use of side windows :
  emacs]]
- [[https://github.com/alphapapa/burly.el][GitHub - alphapapa/burly.el: Save and restore frames and windows with their
  buffers in Emacs]]
- [[https://depp.brause.cc/shackle/][shackle: Enforce rules for popup windows]]
  - [[https://github.com/kaushalmodi/.emacs.d/blob/master/setup-files/setup-shackle.el][.emacs.d/setup-shackle.el at master · kaushalmodi/.emacs.d · GitHub]]
  - [[https://www.reddit.com/r/emacs/comments/3icpv8/help_with_shackle_configuration/][help with shackle configuration : emacs]]
  - [[https://mullikine.github.io/posts/making-shackle-split-sensibly/][Sensible Splits: Extending shackle.el // Bodacious Blog]]
  - [[https://news.ycombinator.com/item?id=18598863][Oh man, your link led me to shackle[1] to make transient buffers behave and
    I ha... | Hacker News]]
  - [[https://emacsninja.com/posts/design-is-hard.html][Emacs Ninja - Design Is Hard]]
- Alternatively: [[https://web.archive.org/web/20160409014815/https://www.lunaryorn.com/2015/04/29/the-power-of-display-buffer-alist.html][Emacs Spotlight: Configure buffer display - Emacs.  What else?]]

* Random shit

** A way to map over buffers

#+begin_src emacs-lisp
  (dolist (buf (mapcan
                (lambda (buf)
                  (with-current-buffer buf
                    (circe-server-chat-buffers)))
                (circe-server-buffers)))
    (with-current-buffer buf ;; whatever u wanna do on each buffer goes here
      (lui-set-prompt (concat
                       (propertize
                        (acdw-irc/margin-format (buffer-name)
                                                ""
                                                ">")
                        'face 'circe-prompt-face
                        'read-only t
                        'intangible t
                        'cursor-intangible t)
                       " "))
      (setq-local fringes-outside-margins t
                  right-margin-width 5
                  scroll-margin 0
                  word-wrap t
                  wrap-prefix (repeat-string acdw-irc/left-margin " ")
                  line-number-mode nil)))
#+end_src

** ZNC Connecting (from #systemcrafters)

#+begin_quote
daviwil | minikN: I connect to the hostname/port of my ZNC server, but the
          trick is that the username is the nick you want to use on the
          server and the password is your znc username and password joined
          with a colon, like daviwil:b4dp4ssw0rd 
 minikN | so you don't specify the network in your password? like 
          user/network:password?
benoitj | daviwil: nice password you have there 
daviwil | minikN: nope, I only have one network anyway
-  acdw > daviwil: I just see *******
benoitj | I use two networks
#+end_quote

** Teach =link-hint= about =lui-buttons=

See =lui-next-button-or-complete=, etc.  Also possibly:
- [[https://github.com/abo-abo/avy/issues/255][Feature request: ability to select objects in overlays · Issue #255 · abo-abo/avy · GitHub]]
- [[https://github.com/noctuid/link-hint.el/issues/24][Enhancement: Detect links in overlays · Issue #24 · noctuid/link-hint.el ·
  GitHub]]


(I /think/ a button is an overlay….)

** Write =self-promote-shamelessly= function

Link to the line of a file on a git forge with a command, for linking.

https://tildegit.org/acdw/emacs/src/branch/main/init.el#L1166, e.g.

- *OR* install this: [[https://github.com/sshaw/git-link][GitHub - sshaw/git-link: Emacs package to get the GitHub/Bitbucket/GitLab/... URL for a buffer location]]

** DONE Fix =acdw-org/count-words-stupidly=

It adds one for blank lines.

** TODO [[https://stackoverflow.com/questions/25161792/emacs-org-mode-how-can-i-fold-everything-but-the-current-headline][Org mode hide all but current heading]]

** Work around =C-m=, =RET=, etc

#+begin_src emacs-lisp
  ;; from artefact

  (define-key key-translation-map (kbd "<return>") nil)
  (define-key key-translation-map (kbd "C-m") nil)
  (define-key key-translation-map (kbd "RET") nil)
  (global-set-key (kbd "<return>") 'newline)
  (define-key erc-mode-map (kbd "<return>") 'erc-send-current-line)
  (global-set-key (kbd "C-m") (lambda () (interactive) (message "hello from C-m")))
#+end_src