summaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org492
1 files changed, 249 insertions, 243 deletions
diff --git a/todo.org b/todo.org
index 75b3de93..399bc1bd 100644
--- a/todo.org
+++ b/todo.org
@@ -1,32 +1,5 @@
* Emacs Config Open Work
** TODO [#A] Finish Testing New Org-webclipper
-** TODO [#B] investigate unassociated files
-- [ ] /home/cjennings/.emacs.d/assets/test/test-misspellings.org
-- [ ] /home/cjennings/.emacs.d/assets/test/test.org
-- [ ] /home/cjennings/.emacs.d/custom/c-boxes.el
-- [ ] /home/cjennings/.emacs.d/custom/edit-indirect.el
-- [ ] /home/cjennings/.emacs.d/custom/eplot.el
-- [ ] /home/cjennings/.emacs.d/custom/gptel-prompts.el
-- [ ] /home/cjennings/.emacs.d/custom/org-checklist.el
-- [ ] /home/cjennings/.emacs.d/custom/pdf-continuous-scroll-mode.el
-- [ ] /home/cjennings/.emacs.d/custom/pdf-continuous-scroll-mode-latest.el
-- [ ] /home/cjennings/.emacs.d/custom/profile-dotemacs.el
-- [ ] /home/cjennings/.emacs.d/custom/titlecase.el
-- [ ] /home/cjennings/.emacs.d/custom/utilities/vcf-conversion-helpers.el
-- [ ] /home/cjennings/.emacs.d/gptel-tools/update_text_file.el
-- [ ] /home/cjennings/.emacs.d/modules/ai-conversations.el
-- [ ] /home/cjennings/.emacs.d/modules/erc-config.el
-- [ ] /home/cjennings/.emacs.d/modules/jumper.el
-- [ ] /home/cjennings/.emacs.d/modules/ledger-config.el
-- [ ] /home/cjennings/.emacs.d/modules/lipsum-generator.el
-- [ ] /home/cjennings/.emacs.d/modules/lorem-generator.el
-- [ ] /home/cjennings/.emacs.d/modules/mu4e-org-contacts-integration.el
-- [ ] /home/cjennings/.emacs.d/modules/mu4e-org-contacts-setup.el
-- [ ] /home/cjennings/.emacs.d/modules/org-noter-config.el
-- [ ] /home/cjennings/.emacs.d/modules/prog-lsp.el
-- [ ] /home/cjennings/.emacs.d/modules/wip.el
-- [ ] /home/cjennings/.emacs.d/themes/dupre-theme.el
-- [ ] /home/cjennings/.emacs.d/todo.org
** TODO [#A] Document Goals, Specs, and Architecture Docs for this Config :maintenance:
*** Emacs Config V2MOM
Misc Requirements
@@ -107,6 +80,57 @@ https://github.com/hakimel/reveal.js
https://www.youtube.com/watch?v=psDpCpcIVYs&t=10s
**** Install Org Reveal
+** TODO [#B] Implement additional custom operations
+After analyzing all custom-* modules, the following line/paragraph operations are missing and would be useful additions to custom-line-paragraph.el:
+
+*** Most Useful Operations (High Priority)
+- [ ] Copy current line - Duplicate line to kill ring without cutting (like yy in Vim)
+- [ ] Sort lines - Sort lines alphabetically, numerically, or by custom key
+- [ ] Insert blank line above - Add empty line above current line without moving cursor
+- [ ] Insert blank line below - Add empty line below current line without moving cursor
+
+*** Additional Operations (Medium Priority)
+- [ ] Reverse lines - Reverse the order of lines in region or buffer
+- [ ] Shuffle lines - Randomly reorder lines in region or buffer
+- [ ] Uniquify lines - Remove duplicate lines while preserving order (different from existing remove-duplicates which uses regex)
+- [ ] Filter lines matching regex - Keep only lines matching a pattern (inverse of remove-lines-containing)
+- [ ] Number/enumerate lines - Add line numbers or enumeration to lines in region
+- [ ] Join with separator - Join lines with custom separator (e.g., comma, semicolon)
+
+*** Lower Priority Operations
+- [ ] Kill whole line - Delete entire line including newline (like dd in Vim)
+- [ ] Wrap/unwrap at column - Hard wrap at fill-column or unwrap wrapped lines
+- [ ] Indent/dedent region - Increase or decrease indentation for region
+
+Note: Some operations like fill-paragraph, transpose-lines, and basic indentation already exist in Emacs core. This list focuses on commonly-needed operations not yet implemented in custom modules.
+
+** TODO [#B] investigate unassociated files
+- [ ] /home/cjennings/.emacs.d/assets/test/test-misspellings.org
+- [ ] /home/cjennings/.emacs.d/assets/test/test.org
+- [ ] /home/cjennings/.emacs.d/custom/c-boxes.el
+- [ ] /home/cjennings/.emacs.d/custom/edit-indirect.el
+- [ ] /home/cjennings/.emacs.d/custom/eplot.el
+- [ ] /home/cjennings/.emacs.d/custom/gptel-prompts.el
+- [ ] /home/cjennings/.emacs.d/custom/org-checklist.el
+- [ ] /home/cjennings/.emacs.d/custom/pdf-continuous-scroll-mode.el
+- [ ] /home/cjennings/.emacs.d/custom/pdf-continuous-scroll-mode-latest.el
+- [ ] /home/cjennings/.emacs.d/custom/profile-dotemacs.el
+- [ ] /home/cjennings/.emacs.d/custom/titlecase.el
+- [ ] /home/cjennings/.emacs.d/custom/utilities/vcf-conversion-helpers.el
+- [ ] /home/cjennings/.emacs.d/gptel-tools/update_text_file.el
+- [ ] /home/cjennings/.emacs.d/modules/ai-conversations.el
+- [ ] /home/cjennings/.emacs.d/modules/erc-config.el
+- [ ] /home/cjennings/.emacs.d/modules/jumper.el
+- [ ] /home/cjennings/.emacs.d/modules/ledger-config.el
+- [ ] /home/cjennings/.emacs.d/modules/lipsum-generator.el
+- [ ] /home/cjennings/.emacs.d/modules/lorem-generator.el
+- [ ] /home/cjennings/.emacs.d/modules/mu4e-org-contacts-integration.el
+- [ ] /home/cjennings/.emacs.d/modules/mu4e-org-contacts-setup.el
+- [ ] /home/cjennings/.emacs.d/modules/org-noter-config.el
+- [ ] /home/cjennings/.emacs.d/modules/prog-lsp.el
+- [ ] /home/cjennings/.emacs.d/modules/wip.el
+- [ ] /home/cjennings/.emacs.d/themes/dupre-theme.el
+- [ ] /home/cjennings/.emacs.d/todo.org
** TODO [#B] Replace customization constructions in modules :bug:
Files using defcustom or other customization-related constructions:
- media-utils.el
@@ -769,6 +793,7 @@ use case:
- If I'm in a projectile/project.el project it overrides the destination to an resolved.org file
- if the resolved.org file doesn't exist, it creates it.
- If not in a projectile/project.el project, it falls back to the archive.org file.
+** TODO [#B] M-y and show-kill-ring don't load first launch
** WAITING [#C] Fix Org-msg Issue With Undo Outside :bug:
*** 2025-09-19 Fri @ 17:45:35 -0500 Submitted PR Waiting for Merge
https://github.com/jeremy-compostella/org-msg/pull/213
@@ -983,6 +1008,38 @@ Org-roam and its database sync run at startup. Load Org-roam only when Org is ac
** TODO [#C] Git Timemachine Litters Empty Buffers :bug:
Don't choose a revision and you'll see a blank buffer that needs to be killed
+** TODO [#C] capture windows should pop up from bottom and 1/3 at most
+** create unfill paragraph (paragraph to single line)
+#+BEGIN_QUOTE
+I like to have a keybind to do the opposite of fill-paragraph. It’s taken from Stefan Monnier.
+
+(defun unfill-paragraph (&optional region)
+ "Takes a multi-line paragraph and turns it into a single line"
+ (interactive (progn (barf-if-buffer-read-only) '(t)))
+ (let ((fill-column (point-max))
+ (emacs-lisp-docstring-fill-column t))
+ (fill-paragraph nil region)))
+(define-key global-map "\M-Q" 'unfill-paragraph)
+#+END_QUOTE
+[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
+Captured On: [2025-10-15 Wed 18:35]
+** install visible mark so you know where the mark is
+#+BEGIN_QUOTE
+Showing the location of the mark, probably helps with learning to use mark better.
+
+(use-package visible-mark
+ :init
+ (global-visible-mark-mode)
+ :custom
+ (visible-mark-faces '(visible-mark-face1 visible-mark-face2))
+ (visible-mark-forward-faces '(visible-mark-face1 visible-mark-face2))
+ (visible-mark-max 2))
+#+END_QUOTE
+[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
+Captured On: [2025-10-15 Wed 18:33]
+** BrainCurses Emacs Mastermind Game
+[[https://sourceforge.net/projects/braincurses/][BrainCurses download | SourceForge.net]]
+Captured On: [2025-09-24 Wed 00:38]
* Emacs Config Next Release: 0.9
** DOING [#A] Jumper Package :enhancement:
*** Specification
@@ -1086,6 +1143,134 @@ Depending on context, can I add the
- First few words of the line
Do we think the reordering behavior when deleting locations might confuse users? How to simplify?
What happens if a buffer is deleted that doesn't have a file associated with it? If we're using registers underneath, how do registers handle this?
+** Edit Indirect (Custom Code) Bugs and Improvements
+*** Bugs (by Severity)
+
+*** High Severity
+
+*Race Condition in =edit-indirect--commit=*
+The commit function modifies the parent buffer while iterating through hooks that may also modify the buffer. The use of markers helps, but there's still a potential race condition if hooks modify the region being replaced. The =save-match-data= approach with markers could fail if the hooks significantly alter the buffer structure between marker creation and replacement.
+
+*Potential Data Loss in =edit-indirect--clean-up=*
+The function calls =delete-overlay= before setting =edit-indirect--overlay= to nil. If =delete-overlay= signals an error (e.g., if the overlay was already deleted), the overlay reference won't be cleared, potentially causing infinite loops in =edit-indirect--abort-on-kill-buffer=.
+
+*** Medium Severity
+
+*Missing Buffer Validation in =edit-indirect--commit=*
+The function doesn't check if the parent buffer still exists before attempting to modify it. If the parent buffer was killed while the indirect buffer was being edited, this will cause an error.
+
+*Hook Execution Order Issue*
+The =edit-indirect--rebind-save-hooks= function is added to =after-change-major-mode-hook= globally but never removed. This means it will be called for every buffer that changes major mode, not just edit-indirect buffers, causing unnecessary overhead.
+
+*** Low Severity
+
+*Inefficient Overlay Search in =edit-indirect--search-for-edit-indirect=*
+The function uses =overlays-in= which returns all overlays, then filters them. For buffers with many overlays, this is inefficient.
+
+*Missing Error Handling in =edit-indirect--display-buffer=*
+The function doesn't handle cases where =display-buffer= returns nil (which can happen if all windows are dedicated or display is inhibited).
+
+*** Recommended Improvements
+
+*** Easy Implementation
+
+*Add Buffer Existence Check*
+Add a check in =edit-indirect--commit= to ensure the parent buffer still exists:
+#+begin_src emacs-lisp
+(unless (buffer-live-p (overlay-buffer edit-indirect--overlay))
+ (error "Parent buffer no longer exists"))
+#+end_src
+
+*Improve Hook Management*
+Remove the global hook when not needed:
+#+begin_src emacs-lisp
+(defun edit-indirect--rebind-save-hooks ()
+ (when (edit-indirect-buffer-indirect-p)
+ (setq buffer-offer-save t)
+ (add-hook 'write-contents-functions #'edit-indirect--commit-on-save nil t)
+ ;; Remove global hook after use
+ (remove-hook 'after-change-major-mode-hook #'edit-indirect--rebind-save-hooks)))
+#+end_src
+
+*Add Safety to Clean-up*
+Wrap cleanup operations in condition-case:
+#+begin_src emacs-lisp
+(defun edit-indirect--clean-up ()
+ (condition-case nil
+ (delete-overlay edit-indirect--overlay)
+ (error nil))
+ (setq edit-indirect--overlay nil)
+ ...)
+#+end_src
+
+*Add Display Buffer Error Handling*
+Check display-buffer return value:
+#+begin_src emacs-lisp
+(defun edit-indirect--display-buffer (buffer)
+ (with-current-buffer buffer
+ (setq-local edit-indirect--should-quit-window t))
+ (let ((window (display-buffer buffer)))
+ (if window
+ (select-window window)
+ (switch-to-buffer buffer)))
+ nil)
+#+end_src
+
+*** Medium Implementation
+
+*Optimize Overlay Search*
+Use a more efficient search strategy:
+#+begin_src emacs-lisp
+(defun edit-indirect--search-for-edit-indirect (beg end)
+ (cl-loop for overlay in (overlays-in beg end)
+ when (overlay-get overlay 'edit-indirect-buffer)
+ return overlay))
+#+end_src
+
+*Add Undo Boundary Management*
+Add undo boundaries to make commits atomic:
+#+begin_src emacs-lisp
+(defun edit-indirect--commit ()
+ (undo-boundary)
+ ;; ... rest of commit logic ...
+ (undo-boundary))
+#+end_src
+
+*Improve Buffer Naming*
+Make buffer names more informative:
+#+begin_src emacs-lisp
+(defun edit-indirect--create-indirect-buffer (beg end overlay)
+ (let* ((mode-name (symbol-name major-mode))
+ (buffer-name (format "*edit-indirect %s [%s]*"
+ (buffer-name)
+ (replace-regexp-in-string "-mode$" "" mode-name))))
+ ...))
+#+end_src
+
+*** Hard Implementation
+
+*Add Support for Nested Indirect Edits*
+Allow editing a region within an already indirect buffer by tracking parent chain.
+
+*Implement Diff Preview*
+Add a command to show differences between the indirect buffer and parent region before committing:
+#+begin_src emacs-lisp
+(defun edit-indirect-diff-preview ()
+ "Show differences between indirect buffer and parent region."
+ (interactive)
+ ;; Implementation using diff-mode
+ )
+#+end_src
+
+*Add Persistent Session Support*
+Save and restore indirect editing sessions across Emacs restarts using desktop.el integration.
+
+*Implement Conflict Resolution*
+Handle cases where the parent buffer was modified while editing in the indirect buffer, similar to version control merge conflicts.
+
+*Add Support for Multiple Regions*
+Allow editing multiple non-contiguous regions in a single indirect buffer, useful for refactoring similar code blocks simultaneously.
+
** TODO [#B] Get Tufte.css working and as a separate entry
Below is one way to get Org-mode’s HTML exporter to play nicely with Tufte-CSS. The basic recipe is:
1. Inject Tufte’s stylesheet into every HTML export
@@ -1397,136 +1582,7 @@ reverso.el is a package of mine that provides Emacs interface for https://revers
(setq reverso-languages '(russian english german spanish french portuguese))
(reverso-history-mode))
#+end_src
-* Emacs Config Ideas/References
-** Edit Indirect (Custom Code) Bugs and Improvements
-*** Bugs (by Severity)
-
-*** High Severity
-
-*Race Condition in =edit-indirect--commit=*
-The commit function modifies the parent buffer while iterating through hooks that may also modify the buffer. The use of markers helps, but there's still a potential race condition if hooks modify the region being replaced. The =save-match-data= approach with markers could fail if the hooks significantly alter the buffer structure between marker creation and replacement.
-
-*Potential Data Loss in =edit-indirect--clean-up=*
-The function calls =delete-overlay= before setting =edit-indirect--overlay= to nil. If =delete-overlay= signals an error (e.g., if the overlay was already deleted), the overlay reference won't be cleared, potentially causing infinite loops in =edit-indirect--abort-on-kill-buffer=.
-
-*** Medium Severity
-
-*Missing Buffer Validation in =edit-indirect--commit=*
-The function doesn't check if the parent buffer still exists before attempting to modify it. If the parent buffer was killed while the indirect buffer was being edited, this will cause an error.
-
-*Hook Execution Order Issue*
-The =edit-indirect--rebind-save-hooks= function is added to =after-change-major-mode-hook= globally but never removed. This means it will be called for every buffer that changes major mode, not just edit-indirect buffers, causing unnecessary overhead.
-
-*** Low Severity
-
-*Inefficient Overlay Search in =edit-indirect--search-for-edit-indirect=*
-The function uses =overlays-in= which returns all overlays, then filters them. For buffers with many overlays, this is inefficient.
-
-*Missing Error Handling in =edit-indirect--display-buffer=*
-The function doesn't handle cases where =display-buffer= returns nil (which can happen if all windows are dedicated or display is inhibited).
-
-*** Recommended Improvements
-
-*** Easy Implementation
-
-*Add Buffer Existence Check*
-Add a check in =edit-indirect--commit= to ensure the parent buffer still exists:
-#+begin_src emacs-lisp
-(unless (buffer-live-p (overlay-buffer edit-indirect--overlay))
- (error "Parent buffer no longer exists"))
-#+end_src
-
-*Improve Hook Management*
-Remove the global hook when not needed:
-#+begin_src emacs-lisp
-(defun edit-indirect--rebind-save-hooks ()
- (when (edit-indirect-buffer-indirect-p)
- (setq buffer-offer-save t)
- (add-hook 'write-contents-functions #'edit-indirect--commit-on-save nil t)
- ;; Remove global hook after use
- (remove-hook 'after-change-major-mode-hook #'edit-indirect--rebind-save-hooks)))
-#+end_src
-
-*Add Safety to Clean-up*
-Wrap cleanup operations in condition-case:
-#+begin_src emacs-lisp
-(defun edit-indirect--clean-up ()
- (condition-case nil
- (delete-overlay edit-indirect--overlay)
- (error nil))
- (setq edit-indirect--overlay nil)
- ...)
-#+end_src
-
-*Add Display Buffer Error Handling*
-Check display-buffer return value:
-#+begin_src emacs-lisp
-(defun edit-indirect--display-buffer (buffer)
- (with-current-buffer buffer
- (setq-local edit-indirect--should-quit-window t))
- (let ((window (display-buffer buffer)))
- (if window
- (select-window window)
- (switch-to-buffer buffer)))
- nil)
-#+end_src
-
-*** Medium Implementation
-
-*Optimize Overlay Search*
-Use a more efficient search strategy:
-#+begin_src emacs-lisp
-(defun edit-indirect--search-for-edit-indirect (beg end)
- (cl-loop for overlay in (overlays-in beg end)
- when (overlay-get overlay 'edit-indirect-buffer)
- return overlay))
-#+end_src
-
-*Add Undo Boundary Management*
-Add undo boundaries to make commits atomic:
-#+begin_src emacs-lisp
-(defun edit-indirect--commit ()
- (undo-boundary)
- ;; ... rest of commit logic ...
- (undo-boundary))
-#+end_src
-
-*Improve Buffer Naming*
-Make buffer names more informative:
-#+begin_src emacs-lisp
-(defun edit-indirect--create-indirect-buffer (beg end overlay)
- (let* ((mode-name (symbol-name major-mode))
- (buffer-name (format "*edit-indirect %s [%s]*"
- (buffer-name)
- (replace-regexp-in-string "-mode$" "" mode-name))))
- ...))
-#+end_src
-
-*** Hard Implementation
-
-*Add Support for Nested Indirect Edits*
-Allow editing a region within an already indirect buffer by tracking parent chain.
-
-*Implement Diff Preview*
-Add a command to show differences between the indirect buffer and parent region before committing:
-#+begin_src emacs-lisp
-(defun edit-indirect-diff-preview ()
- "Show differences between indirect buffer and parent region."
- (interactive)
- ;; Implementation using diff-mode
- )
-#+end_src
-
-*Add Persistent Session Support*
-Save and restore indirect editing sessions across Emacs restarts using desktop.el integration.
-
-*Implement Conflict Resolution*
-Handle cases where the parent buffer was modified while editing in the indirect buffer, similar to version control merge conflicts.
-
-*Add Support for Multiple Regions*
-Allow editing multiple non-contiguous regions in a single indirect buffer, useful for refactoring similar code blocks simultaneously.
-
-** config.org · master · jdm204 / dotfiles · GitLab
+** Install Magit TODOs
#+BEGIN_QUOTE
It’s nice for magit to display in-tree TODOs in the status buffer:
@@ -1538,7 +1594,7 @@ It’s nice for magit to display in-tree TODOs in the status buffer:
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
Captured On: [2025-10-15 Wed 18:40]
-** config.org · master · jdm204 / dotfiles · GitLab
+** Move from company to corfu
#+BEGIN_QUOTE
Completion
A completion framework—I used to use company but corfu seems to integrate with stock Emacs better.
@@ -1567,60 +1623,56 @@ Use more completion at point functions from cape. dabbrev completion means that
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
Captured On: [2025-10-15 Wed 18:37]
-** config.org · master · jdm204 / dotfiles · GitLab
+** Config recentf to exclude mail
#+BEGIN_QUOTE
-Sometimes you want dummy text, say if you’re testing layouts for a poster but you haven’t written the text yet. Look no further than lorem-ipsum.
+recentf provides a persistent list of recently-opened files.
+
+(use-package recentf
+ :ensure nil
+ :init (recentf-mode)
+ :config
+ (setq recentf-exclude '("Maildir")))
-(use-package lorem-ipsum
- :init
- (setq
- lorem-ipsum-sentence-separator " "
- lorem-ipsum-list-bullet "- ")
- ;; map from C-c l
- (lorem-ipsum-use-default-bindings))
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:37]
-** config.org · master · jdm204 / dotfiles · GitLab
+Captured On: [2025-10-15 Wed 18:36]
+** consider installing minimap
#+BEGIN_QUOTE
-Tree-sitter grammar autoinstallation:
+A mini-map (miniaturised window showing more of the buffer than the main window) is nice for longer documents:
-(use-package treesit-auto
+(use-package minimap
:custom
- (treesit-auto-install 'prompt)
- :config
- (treesit-auto-add-to-auto-mode-alist 'all)
- (global-treesit-auto-mode))
+ (minimap-major-modes '(org-mode prog-mode))
+ (minimap-window-location 'right)
+ :bind ("C-+" . minimap-mode))
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:37]
-** config.org · master · jdm204 / dotfiles · GitLab
+Captured On: [2025-10-15 Wed 18:31]
+** check into org-download for drag/drop images into org-buffers
#+BEGIN_QUOTE
-recentf provides a persistent list of recently-opened files.
-
-(use-package recentf
- :ensure nil
- :init (recentf-mode)
- :config
- (setq recentf-exclude '("Maildir")))
+Drag and drop images into Org buffers to insert links:
+(use-package org-download
+ :custom
+ (org-download-image-dir "./img"))
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:36]
+Captured On: [2025-10-15 Wed 18:30]
+* Emacs Config Ideas/References
** config.org · master · jdm204 / dotfiles · GitLab
#+BEGIN_QUOTE
-I like to have a keybind to do the opposite of fill-paragraph. It’s taken from Stefan Monnier.
+Sometimes you want dummy text, say if you’re testing layouts for a poster but you haven’t written the text yet. Look no further than lorem-ipsum.
-(defun unfill-paragraph (&optional region)
- "Takes a multi-line paragraph and turns it into a single line"
- (interactive (progn (barf-if-buffer-read-only) '(t)))
- (let ((fill-column (point-max))
- (emacs-lisp-docstring-fill-column t))
- (fill-paragraph nil region)))
-(define-key global-map "\M-Q" 'unfill-paragraph)
+(use-package lorem-ipsum
+ :init
+ (setq
+ lorem-ipsum-sentence-separator " "
+ lorem-ipsum-list-bullet "- ")
+ ;; map from C-c l
+ (lorem-ipsum-use-default-bindings))
#+END_QUOTE
[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:35]
+Captured On: [2025-10-15 Wed 18:37]
** config.org · master · jdm204 / dotfiles · GitLab
#+BEGIN_QUOTE
I think a vertical “chooser” interface is key, it get used a lot due to find-file, buffer switching etc. I’m happy with vertico, which I switched to from selectrum because it appeared to rely more on built-in Emacs functionality which I think is a good thing for ecosystem compatability and the sustainability of Emacs as a platform in the future.
@@ -1706,30 +1758,6 @@ marginalia takes advantage of vertical choosers by annotating candidates with ex
Captured On: [2025-10-15 Wed 18:34]
** config.org · master · jdm204 / dotfiles · GitLab
#+BEGIN_QUOTE
-Showing the location of the mark, probably helps with learning to use mark better.
-
-(use-package visible-mark
- :init
- (global-visible-mark-mode)
- :custom
- (visible-mark-faces '(visible-mark-face1 visible-mark-face2))
- (visible-mark-forward-faces '(visible-mark-face1 visible-mark-face2))
- (visible-mark-max 2))
-#+END_QUOTE
-[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:33]
-** config.org · master · jdm204 / dotfiles · GitLab
-#+BEGIN_QUOTE
-which-key got built into Emacs, it shows potential full keybinds when you enter a partial one, which is great for discoverability and learning.
-
-(use-package which-key
- :ensure nil
- :init (which-key-mode))
-#+END_QUOTE
-[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:32]
-** config.org · master · jdm204 / dotfiles · GitLab
-#+BEGIN_QUOTE
Also show icons in find-file, consult-buffer etc.
(use-package all-the-icons-completion
@@ -1742,28 +1770,6 @@ Also show icons in find-file, consult-buffer etc.
Captured On: [2025-10-15 Wed 18:32]
** config.org · master · jdm204 / dotfiles · GitLab
#+BEGIN_QUOTE
-A mini-map (miniaturised window showing more of the buffer than the main window) is nice for longer documents:
-
-(use-package minimap
- :custom
- (minimap-major-modes '(org-mode prog-mode))
- (minimap-window-location 'right)
- :bind ("C-+" . minimap-mode))
-#+END_QUOTE
-[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:31]
-** config.org · master · jdm204 / dotfiles · GitLab
-#+BEGIN_QUOTE
-Drag and drop images into Org buffers to insert links:
-
-(use-package org-download
- :custom
- (org-download-image-dir "./img"))
-#+END_QUOTE
-[[https://gitlab.com/jdm204/dotfiles/-/blob/master/config.org][config.org · master · jdm204 / dotfiles · GitLab]]
-Captured On: [2025-10-15 Wed 18:30]
-** config.org · master · jdm204 / dotfiles · GitLab
-#+BEGIN_QUOTE
I prefer a hybrid of plain text and WYSIWYG, so only show org emphasis markers if point is on the word.
(use-package org-appear
@@ -1997,9 +2003,6 @@ Captured On: [2025-09-24 Wed 23:53]
** Battleship Game in Emacs
[[http://www.catb.org/~esr/bs/][Resource page for bs 2.13]]
Captured On: [2025-09-24 Wed 00:38]
-** BrainCurses Emacs Mastermind Game
-[[https://sourceforge.net/projects/braincurses/][BrainCurses download | SourceForge.net]]
-Captured On: [2025-09-24 Wed 00:38]
** pinoaffe/org-vcard: Export and import vCards from within GNU Emacs' Org mode.
[[https://github.com/pinoaffe/org-vcard][pinoaffe/org-vcard: Export and import vCards from within GNU Emacs' Org mode.]]
Captured On: [2025-09-23 Tue 10:46]
@@ -5728,3 +5731,6 @@ Captured On: [2025-10-17 Fri 11:55]
** rougier/mu4e-dashboard: A dashboard for mu4e (mu for emacs)
[[https://github.com/rougier/mu4e-dashboard][rougier/mu4e-dashboard: A dashboard for mu4e (mu for emacs)]]
Captured On: [2025-10-17 Fri 11:48]
+** beacoder/stock-tracker: Track stock price in Emacs
+[[https://github.com/beacoder/stock-tracker][beacoder/stock-tracker: Track stock price in Emacs]]
+Captured On: [2025-10-24 Fri 23:36]