Update 2023.12.20
This commit is contained in:
parent
da23c12e2e
commit
87ad70fd1d
12 changed files with 385 additions and 875 deletions
|
@ -1,8 +1,2 @@
|
|||
(use-package! org-transclusion
|
||||
:after org
|
||||
:init
|
||||
(map!
|
||||
:map global-map "<F12>" #'org-transclusion-add
|
||||
:leader
|
||||
:prefix "n"
|
||||
:desc "Org Transclusion Mode" "t" #'org-transclusion-mode))
|
||||
(after! flyspell
|
||||
(setq flyspell-lazy-idle-seconds 2))
|
||||
|
|
|
@ -20,8 +20,11 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT'
|
|||
#+end_src
|
||||
*** Global settings
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
;; must be set before `org` is loaded
|
||||
(setq org-directory "~/enc/org/")
|
||||
(setq org-agenda-files (directory-files-recursively "~/enc/org/" ".org$"))
|
||||
|
||||
(setq global-auto-revert-mode t)
|
||||
(org-edna-mode)
|
||||
(setq auth-sources '("~/.authinfo"))
|
||||
(setq-default backup-inhibited t)
|
||||
|
||||
|
@ -30,7 +33,12 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT'
|
|||
(set-keyboard-coding-system 'utf-8)
|
||||
(set-clipboard-coding-system 'utf-8)
|
||||
(prefer-coding-system 'utf-8)
|
||||
(setq-default indent-tabs-mode t)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: t
|
||||
|
||||
*** Langtool
|
||||
|
||||
Note that for this functionality you do need some resources, namely:
|
||||
|
@ -60,27 +68,17 @@ This command only sets up the path to your java runtime binary.
|
|||
#+begin_src emacs-lisp :tangle config.el
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
|
||||
(setq doom-font (font-spec :family "Iosevka")
|
||||
doom-unicode-font (font-spec :family "Iosevka"))
|
||||
(dolist (charset '(unicode))
|
||||
(set-fontset-font (frame-parameter nil 'font)
|
||||
charset (font-spec :family "Iosevka")))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: t
|
||||
**** Font Family List
|
||||
This is a simple command that outputs the fonts you have available in Emacs.
|
||||
#+begin_src emacs-lisp :results value format: pp
|
||||
(print (font-family-list))
|
||||
#+end_src
|
||||
|
||||
|
||||
|
||||
**** Ligature.el
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
|
||||
(ligature-set-ligatures 't '("www"))
|
||||
;; Enable traditional ligature support in eww-mode, if the
|
||||
;; `variable-pitch' face supports it
|
||||
|
@ -123,17 +121,6 @@ This is a simple command that outputs the fonts you have available in Emacs.
|
|||
(setq-default calendar-week-start-day 1)
|
||||
#+END_SRC
|
||||
|
||||
** Package settings
|
||||
*** Straight
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(setq straight-repository-branch "develop")
|
||||
#+end_src
|
||||
** emojify-mode
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(global-emojify-mode)
|
||||
(global-emojify-mode-line-mode)
|
||||
#+end_src
|
||||
|
||||
** Global Keybinds
|
||||
Setting this here because I experiment with these occasionally and want them reset properly eaach time.
|
||||
|
||||
|
@ -142,26 +129,53 @@ Setting this here because I experiment with these occasionally and want them res
|
|||
(global-set-key "\C-cu" 'browse-url-chrome)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: browse-url-chrome
|
||||
|
||||
** org-mode
|
||||
|
||||
If you use `org' and don't want your org files in the default location below, change `org-directory'. It must be set before org loads!
|
||||
|
||||
Make .org file automatically open in org-mode.
|
||||
*** org
|
||||
**** Basic settings
|
||||
** Package settings
|
||||
*** Straight
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
||||
(setq org-directory "~/enc/org/")
|
||||
(setq straight-repository-branch "develop")
|
||||
#+end_src
|
||||
*** pdf-tools
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(use-package! pdf-tools
|
||||
:defer t
|
||||
:commands (pdf-loader-install)
|
||||
:mode "\\.pdf\\'"
|
||||
:bind (:map pdf-view-mode-map
|
||||
("n" . pdf-view-next-line-or-next-page)
|
||||
("p" . pdf-view-previous-line-or-previous-page)
|
||||
("C-=" . pdf-view-enlarge)
|
||||
("C--" . pdf-view-shrink))
|
||||
:init (pdf-loader-install)
|
||||
:config (add-to-list 'revert-without-query ".pdf"))
|
||||
|
||||
(add-hook 'pdf-view-mode-hook #'(lambda () (interactive (display-line-numbers-mode))))
|
||||
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| doom--setq-evil-normal-state-cursor-for-pdf-view-mode-h | (lambda nil (interactive (display-line-numbers-mode))) | pdf-tools-enable-minor-modes |
|
||||
|
||||
*** emojify-mode
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(global-emojify-mode)
|
||||
(global-emojify-mode-line-mode)
|
||||
#+end_src
|
||||
|
||||
*** org-mode
|
||||
If you use `org' and don't want your org files in the default location below, change `org-directory'. It must be set before org loads!
|
||||
Make .org file automatically open in org-mode.
|
||||
**** org
|
||||
***** Basic settings
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(add-to-list 'auto-mode-alist
|
||||
'("\\.org\\'" . org-mode))
|
||||
|
||||
(setq org-image-actual-width nil)
|
||||
(setq org-enforce-todo-dependencies t)
|
||||
(setq org-insert-heading-respect-content nil)
|
||||
(setq org-reverse-note-order nil)
|
||||
(setq org-show-following-heading t)
|
||||
(setq org-show-hierarchy-above t)
|
||||
(setq org-show-siblings nil)
|
||||
(setq org-deadline-warning-days 7)
|
||||
(setq org-blank-before-new-entry (quote ((heading . t)
|
||||
(plain-list-item . nil))))
|
||||
|
@ -175,24 +189,16 @@ Make .org file automatically open in org-mode.
|
|||
(setq org-log-done (quote time))
|
||||
(setq org-log-into-drawer t)
|
||||
(setq org-catch-invisible-edits "smart")
|
||||
|
||||
(setq org-completion-use-ido t)
|
||||
(setq org-use-property-inheritance nil)
|
||||
(setq org-duration-format 'h:mm)
|
||||
(setq org-hierarchical-todo-statistics t)
|
||||
(org-align-tags t)
|
||||
#+end_src
|
||||
***** Automatically write =CREATED= properties in the =PROPERTIES= drawer:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(org-expiry-insinuate)
|
||||
;; not checked yet: (setq org-expiry-handler-function 'org-expiry-archive-subtree)
|
||||
#+END_SRC
|
||||
**** DISABLED Split lines?
|
||||
Ensure that hitting ~M-<return>~ splits the line it's on. This is useful when I'm typing something long, and then decide to turn a paragraph into a list
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
|
||||
#+end_src
|
||||
**** my-org-tree-to-indirect-buffer
|
||||
#+RESULTS:
|
||||
: t
|
||||
|
||||
***** my-org-tree-to-indirect-buffer
|
||||
#+begin_quote
|
||||
This beautiful piece of code was done by [[https://www.reddit.com/user/github-alphapapa][alphapapa]] and published on
|
||||
[[https://www.reddit.com/r/orgmode/comments/dbsngi/finally_solving_the_lack_of_a_treeview_navigation/f26qpzr/][reddit]]. Its purpose is to provide more than one indirect buffer when
|
||||
|
@ -203,7 +209,7 @@ Using an advice, the original function gets overwritten.
|
|||
#+end_quote
|
||||
--Karl Voit
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(defun my-org-tree-to-indirect-buffer (&optional arg)
|
||||
"Create indirect buffer and narrow it to current subtree.
|
||||
The buffer is named after the subtree heading, with the filename
|
||||
|
@ -234,7 +240,7 @@ selected instead of creating a new buffer."
|
|||
#+END_SRC
|
||||
|
||||
|
||||
**** my-org-retrieve-url-from-point → C-c o
|
||||
***** my-org-retrieve-url-from-point → C-c o
|
||||
#+begin_quote
|
||||
I wanted a function that does not open an web URL within Org mode (via
|
||||
=C-c C-o=) but rather copies its URL to the system clipboard for
|
||||
|
@ -262,16 +268,18 @@ Lucky me, I found the ready-to-use solution [[https://emacs.stackexchange.com/a/
|
|||
#+BEGIN_SRC emacs-lisp
|
||||
(global-set-key (kbd "C-c o") 'my-org-retrieve-url-from-point)
|
||||
#+END_SRC
|
||||
**** org-element cache verification
|
||||
***** org-element cache verification
|
||||
2022-01-16: This has a positive impact on the performance as long as
|
||||
you would not need it for consistency warnings. Re-enable it if
|
||||
something is fishy and you want the self-check functionality again.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-element--cache-self-verify nil)
|
||||
#+END_SRC
|
||||
|
||||
**** Theming
|
||||
#+RESULTS:
|
||||
|
||||
***** Theming
|
||||
:PROPERTIES:
|
||||
:ID: b663a9ef-f08e-436f-913d-98e4234cf2cd
|
||||
:END:
|
||||
|
@ -285,7 +293,7 @@ something is fishy and you want the self-check functionality again.
|
|||
#+end_src
|
||||
https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default truncate-lines t)
|
||||
;; (setq-default truncate-lines t)
|
||||
(setq org-src-fontify-natively t)
|
||||
(setq org-hide-leading-stars t)
|
||||
|
||||
|
@ -294,12 +302,12 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
|||
(setq org-agenda-dim-blocked-tasks nil);; show blocked tasks
|
||||
#+END_SRC
|
||||
|
||||
***** Set the width of inline images:
|
||||
****** Set the width of inline images:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq org-image-actual-width '(600))
|
||||
#+END_SRC
|
||||
|
||||
***** org-modern
|
||||
****** org-modern
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(modify-all-frames-parameters
|
||||
'((right-divider-width . 2)
|
||||
|
@ -337,13 +345,13 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
|||
|
||||
#+end_src
|
||||
|
||||
**** Dependencies
|
||||
***** Dependencies
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(setq-default org-enforce-todo-dependencies t)
|
||||
(setq org-enforce-todo-checkbox-dependencies t)
|
||||
#+END_SRC
|
||||
*** Hooks
|
||||
**** append and update time-stamps for =Time-stamp: <>= in headers:
|
||||
**** Hooks
|
||||
***** append and update time-stamps for =Time-stamp: <>= in headers:
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(add-hook 'write-file-hooks 'time-stamp)
|
||||
(add-hook 'org-mode-hook
|
||||
|
@ -357,7 +365,7 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
|||
;; auto-fill mode on
|
||||
(auto-fill-mode 1)))
|
||||
#+end_src
|
||||
*** Keybinds
|
||||
**** Keybinds
|
||||
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(global-set-key "\C-cl" 'org-store-link)
|
||||
|
@ -365,7 +373,7 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
|||
(global-set-key "\C-cne" 'elgantt-open)
|
||||
(global-set-key "\C-cnn" 'org-capture)
|
||||
#+end_src
|
||||
**** Timestamp keybinds
|
||||
***** Timestamp keybinds
|
||||
Inserts timestamps in the proper format. ~'(16)~ stands for two universal arguments, keeping the command from prompting for the time. Two keybinds here, which insert an active or inactive timestamp.
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(global-set-key "\C-cia" '(lambda ()(interactive)
|
||||
|
@ -374,10 +382,8 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
|
|||
(org-time-stamp-inactive '(16))))
|
||||
#+end_src
|
||||
|
||||
*** Todo keywords
|
||||
|
||||
**** Todo keywords
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(after! org
|
||||
(setq org-todo-keywords
|
||||
'((sequence
|
||||
"INBOX(i)"
|
||||
|
@ -404,7 +410,7 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
|
|||
("WAIT" :foreground "yellow" :weight bold)
|
||||
("HOLD" :foreground "orange" :weight bold)
|
||||
("DONE" :foreground "green" :weight bold)
|
||||
("KILL" :foreground "grey" :weight bold))))
|
||||
("KILL" :foreground "grey" :weight bold)))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
@ -430,7 +436,9 @@ Change font for DONE tasks
|
|||
(:foreground "LightSalmon" :strike-through t)))))
|
||||
#+END_SRC
|
||||
|
||||
*** Automated timestamps in headings
|
||||
|
||||
|
||||
**** Automated timestamps in headings
|
||||
I need this because hitting the above is tedious.
|
||||
|
||||
For the files whose paths match the strings in the function, it will advise the org-insert-heading function to insert an inactive timestamp into the new heading.
|
||||
|
@ -459,7 +467,7 @@ This turns making new entries from ~C-<return> C-i i~ into just ~C-<return>~. Mu
|
|||
| lambda | nil | (if (or (string-match journal buffer-file-name) (string-match money buffer-file-name) (string-match therapy buffer-file-name)) (progn (org-timestamp-inactive '(16)) (newline)) (progn (signal 'wrong-type-argument (list 'symbolp ''org-insert-heading-hook)))) |
|
||||
|
||||
|
||||
*** Capture templates
|
||||
**** Capture templates
|
||||
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(setq org-capture-templates '(("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?")
|
||||
|
@ -480,7 +488,7 @@ This turns making new entries from ~C-<return> C-i i~ into just ~C-<return>~. Mu
|
|||
:END:")))
|
||||
#+end_src
|
||||
|
||||
*** preserving all heading levels when archiving
|
||||
**** preserving all heading levels when archiving
|
||||
|
||||
Karl Voit:
|
||||
|
||||
|
@ -532,7 +540,7 @@ Preserve the hierarchy when archiving: [[https://fuco1.github.io/2017-04-20-Arch
|
|||
(org-end-of-subtree t t)
|
||||
(org-paste-subtree level tree-text))))))))
|
||||
#+END_SRC
|
||||
*** my-dired-insert-lfile-link-list-to-other-org-window()
|
||||
**** my-dired-insert-lfile-link-list-to-other-org-window()
|
||||
|
||||
#+begin_quote
|
||||
| 2022-06-20 | I had this idea and implemented it |
|
||||
|
@ -583,7 +591,7 @@ This results in a list that gets added to the Org-mode buffer similar to:
|
|||
#+end_src
|
||||
|
||||
|
||||
*** link colors
|
||||
**** link colors
|
||||
#+begin_quote
|
||||
| 2021-01-11 | moved commands to =my-set-linkcolors= and defined 3 categories of colors |
|
||||
|
||||
|
@ -744,9 +752,19 @@ When some code generates an image file, display it in the results:
|
|||
#+END_SRC
|
||||
|
||||
|
||||
** org-export
|
||||
*** LaTeX
|
||||
****
|
||||
** org-export*** LaTeX
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(with-eval-after-load 'ox-latex
|
||||
(add-to-list 'org-latex-classes
|
||||
'("memoir"
|
||||
"\\documentclass{memoir}"
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
** org-super-links
|
||||
|
||||
|
@ -783,7 +801,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
|
|||
: org-super-links-delete-link
|
||||
|
||||
** org-super-agenda
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(org-super-agenda-mode)
|
||||
(setq super-agenda-groups
|
||||
'(;; Each group has an implicit boolean OR operator between its selectors.
|
||||
|
@ -830,10 +848,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
|
|||
:order 110
|
||||
)
|
||||
(:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section
|
||||
|
||||
;; After the last group, the agenda will display items that didn't
|
||||
;; match any of these groups, with the default order position of 99
|
||||
))
|
||||
)
|
||||
|
||||
(defun my-super-agenda()
|
||||
"generates my super-agenda"
|
||||
|
@ -842,8 +857,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
|
|||
(let
|
||||
((org-super-agenda-groups super-agenda-groups))
|
||||
(org-agenda nil "a")
|
||||
)
|
||||
)
|
||||
))
|
||||
#+end_src
|
||||
|
||||
|
||||
|
@ -957,29 +971,6 @@ Straight from Karl Voit's config.
|
|||
:unnarrowed)))
|
||||
#+end_src
|
||||
|
||||
** org-elgantt
|
||||
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(add-to-list 'load-path "~/.emacs.d/.local/straight/repos/elgantt/")
|
||||
|
||||
(setq elgantt-header-type 'outline
|
||||
elgantt-draw-overarching-headers t
|
||||
elgantt-insert-header-even-if-no-timestamp nil
|
||||
elgantt-scroll-to-current-month-at-startup t)
|
||||
|
||||
(setq elgantt-user-set-color-priority-counter 0)
|
||||
|
||||
(setq elgantt-custom-header-line
|
||||
'((:left ((:prop date-at-point
|
||||
:padding 25)
|
||||
(:prop todo
|
||||
:padding 30)))
|
||||
(:center ((:prop headline)))
|
||||
(:right ((:prop hashtag
|
||||
:padding 40
|
||||
:text-props (face (:background "red")))))))
|
||||
#+end_src
|
||||
|
||||
** org-agenda
|
||||
*** Keybinds
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
|
@ -990,11 +981,8 @@ Straight from Karl Voit's config.
|
|||
(define-key org-agenda-map "a" 'org-agenda)
|
||||
#+end_src
|
||||
|
||||
|
||||
*** Settings
|
||||
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
|
||||
(setq org-agenda-start-day nil
|
||||
org-agenda-span '14
|
||||
org-agenda-dim-blocked-tasks 'invisible
|
||||
|
@ -1018,22 +1006,11 @@ Straight from Karl Voit's config.
|
|||
(quote (("x" "Phil's view" agenda ""
|
||||
((org-agenda-prefix-format " %i %-12:c %s %t "))))))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| x | Phil's view | agenda | | ((org-agenda-prefix-format %i %-12:c %s %t )) |
|
||||
|
||||
**** From Karl Voit
|
||||
Keep tasks with dates off the global todo lists:
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-todo-ignore-with-date nil)
|
||||
#+END_SRC
|
||||
|
||||
Allow deadlines which are due soon to appear on the global todo lists:
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-todo-ignore-deadlines (quote far))
|
||||
#+END_SRC
|
||||
|
||||
Keep tasks scheduled in the future off the global todo lists
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-todo-ignore-scheduled (quote future))
|
||||
#+END_SRC
|
||||
|
||||
Remove completed deadline tasks from the agenda view
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-skip-deadline-if-done t)
|
||||
|
@ -1059,22 +1036,11 @@ show state changes in log-mode of agenda
|
|||
(setq org-agenda-log-mode-items (quote (state)))
|
||||
#+END_SRC
|
||||
|
||||
http://orgmode.org/worg/org-faq.html
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
;(setq org-agenda-skip-additional-timestamps-same-entry t)
|
||||
(setq org-agenda-skip-additional-timestamps-same-entry nil)
|
||||
#+END_SRC
|
||||
|
||||
do not search for time in heading when displaying a date-stamp
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-search-headline-for-time nil)
|
||||
#+END_SRC
|
||||
|
||||
open agenda in same buffer, full size
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-window-setup 'current-window)
|
||||
#+END_SRC
|
||||
|
||||
add diary entries in agenda view
|
||||
http://orgmode.org/org.html#Weekly_002fdaily-agenda
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
|
@ -1110,11 +1076,6 @@ Non-nil means skip timestamp line if same entry shows because of deadline.
|
|||
(setq org-agenda-skip-timestamp-if-deadline-is-shown t)
|
||||
#+END_SRC
|
||||
|
||||
Agenda sorting functions
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-cmp-user-defined 'bh/agenda-sort)
|
||||
#+END_SRC
|
||||
|
||||
Enable display of the time grid so we can see the marker for the current time
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(setq org-agenda-time-grid
|
||||
|
@ -1124,24 +1085,6 @@ Enable display of the time grid so we can see the marker for the current time
|
|||
(800 1000 1200 1400 1600 1800 2000)))
|
||||
#+END_SRC
|
||||
|
||||
Display tags farther right
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
;;(setq org-agenda-tags-column -102)
|
||||
(setq org-tags-column -101); for powerplantwin 23" TFT turned 90
|
||||
; degrees; should *not* differ between
|
||||
; systems! Otherwise Org-files gets
|
||||
; re-formatted after switching
|
||||
; system
|
||||
;;(when (my-system-type-is-windows)
|
||||
;; ;;(setq org-agenda-tags-column -103);; for 23" TFT turned 90 degrees
|
||||
;; (setq org-agenda-tags-column -117);; for 24" TFT turned 90 degrees
|
||||
;; )
|
||||
;;(when (my-system-is-sting)
|
||||
;; (setq org-agenda-tags-column -117);; -117 for 23" TFT sting, rotated 90°
|
||||
;; )
|
||||
(setq org-agenda-tags-column (- (- (window-total-width) 3))) ;; total width minus 3
|
||||
#+END_SRC
|
||||
|
||||
Sticky agendas remain opened in the background so that you don't
|
||||
need to regenerate them each time you hit the corresponding
|
||||
keystroke. This is a big time saver.
|
||||
|
@ -1158,16 +1101,9 @@ time.
|
|||
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half)
|
||||
#+END_SRC
|
||||
|
||||
From [[https://www.reddit.com/r/orgmode/comments/cc5vz5/how_to_avoid_duplicates_in_orgsuperagenda/][reddit]] I got the settings that deadlines are not shown when
|
||||
SCHEDULED is set:
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-skip-scheduled-if-deadline-is-shown nil)
|
||||
;;(setq org-agenda-skip-deadline-prewarning-if-scheduled t)
|
||||
#+END_SRC
|
||||
|
||||
From [[https://www.reddit.com/r/orgmode/comments/e4stk2/adding_a_separator_line_between_days_in_emacs/][reddit]]: Adding a separator line between days.
|
||||
Disabled 2020-01-03 because I usually see one single day only.
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-agenda-format-date (lambda (date) (concat "\n"
|
||||
(make-string (window-width) 9472)
|
||||
"\n"
|
||||
|
@ -1175,79 +1111,14 @@ Disabled 2020-01-03 because I usually see one single day only.
|
|||
#+END_SRC
|
||||
|
||||
|
||||
**** habits
|
||||
|
||||
«Org has the ability to track the consistency of a special category of
|
||||
TODOs, called “habits”.»
|
||||
|
||||
- http://orgmode.org/manual/Tracking-your-habits.html
|
||||
- http://orgmode.org/worg/org-tutorials/tracking-habits.html
|
||||
|
||||
- global STYLE property values for completion
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-global-properties (quote (("STYLE_ALL" . "habit"))))
|
||||
#+END_SRC
|
||||
|
||||
- position the habit graph on the agenda to the right of the default
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-habit-graph-column 100)
|
||||
#+END_SRC
|
||||
|
||||
**** my-org-obfuscate-agenda-item
|
||||
:PROPERTIES:
|
||||
:CREATED: [2018-09-01 Sat 14:38]
|
||||
:END:
|
||||
|
||||
This was originally developed by [[https://github.com/alphapapa][alphapapa]] as =org-agenda-sharpie()=
|
||||
and published on [[https://github.com/alphapapa/org-super-agenda/issues/43#issuecomment-403268926][GitHub]].
|
||||
|
||||
When invoked on an agenda item, you can enter some text and the agenda
|
||||
item gets temporarily overwritten. You can use this to obfuscate or
|
||||
"overwrite" agenda entries before making a screenshot for public use.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(defun org-agenda-sharpie ()
|
||||
"Censor the text of items in the agenda."
|
||||
(interactive)
|
||||
(let (regexp old-heading new-heading properties)
|
||||
;; Save face properties of line in agenda to reapply to changed text
|
||||
(setq properties (text-properties-at (point)))
|
||||
|
||||
;; Go to source buffer
|
||||
(org-with-point-at (org-find-text-property-in-string 'org-marker
|
||||
(buffer-substring (line-beginning-position)
|
||||
(line-end-position)))
|
||||
;; Save old heading text and ask for new text
|
||||
(line-beginning-position)
|
||||
(unless (org-at-heading-p)
|
||||
;; Not sure if necessary
|
||||
(org-back-to-heading))
|
||||
(setq old-heading (when (looking-at org-complex-heading-regexp)
|
||||
(match-string 4))))
|
||||
(unless old-heading
|
||||
(error "Can't find heading. How can this be?"))
|
||||
;; Back to agenda buffer
|
||||
(setq new-heading (read-from-minibuffer "Overwrite visible heading with: "))
|
||||
(add-text-properties 0 (length new-heading) properties new-heading)
|
||||
;; Replace agenda text
|
||||
(save-excursion
|
||||
(let ((inhibit-read-only t))
|
||||
(goto-char (line-beginning-position))
|
||||
(when (search-forward old-heading (line-end-position))
|
||||
(replace-match new-heading 'fixedcase 'literal))))))
|
||||
#+END_SRC
|
||||
|
||||
*** Exports
|
||||
Export subtree (by default) instead of whole buffer:
|
||||
http://orgmode.org/manual/The-Export-Dispatcher.html
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(setq org-export-initial-scope 'subtree)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: subtree
|
||||
|
||||
With a densly interconnected Org knowledge-base (e.g., see
|
||||
=org-super-links=) and a "few but large Org mode files" in combination
|
||||
with "I'm using export methods on sub-heading levels mostly", you end
|
||||
|
@ -1262,173 +1133,7 @@ part of the export result get broken because of a typo or similar.
|
|||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(setq org-export-with-broken-links t)
|
||||
#+END_SRC
|
||||
**** LaTeX classes
|
||||
|
||||
http://orgmode.org/org.html#Header-and-sectioning
|
||||
|
||||
BEGIN of LaTeX class definitions
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(with-eval-after-load 'ox-latex
|
||||
;;(message (concat "################################################\norg-latex-classes = [" org-latex-classes "]"))
|
||||
#+END_SRC
|
||||
|
||||
Customized «scrartcl»
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("scrartcl"
|
||||
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
#+END_SRC
|
||||
|
||||
«scrartclsmall»
|
||||
- 2014-10-16: does NOT work yet. Most probably because savetrees does not work well with inputenc
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'org-latex-classes
|
||||
'("scrartclsmall"
|
||||
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}\\usepackage\{savetrees\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
#+END_SRC
|
||||
|
||||
«detego»
|
||||
- 2017-09-13:
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("detego"
|
||||
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
|
||||
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
|
||||
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
|
||||
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
|
||||
\\usepackage\{helvet\}
|
||||
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
|
||||
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
|
||||
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/Detego-Logo-209x41.png}}} \\pagestyle{scrheadings} %% Logo in header
|
||||
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
|
||||
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
|
||||
%% colorful headings:
|
||||
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
|
||||
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
|
||||
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
|
||||
|
||||
\\usepackage\{enumitem\}
|
||||
\\setlist\{noitemsep\} %% kills the space between items
|
||||
|
||||
"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
#+END_SRC
|
||||
|
||||
«rise»
|
||||
- 2019-12-16
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("rise"
|
||||
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
|
||||
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
|
||||
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
|
||||
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
|
||||
\\usepackage\{helvet\}
|
||||
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
|
||||
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
|
||||
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/RISE_logo_202x500.jpeg}}} \\pagestyle{scrheadings} %% Logo in header
|
||||
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
|
||||
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
|
||||
%% colorful headings:
|
||||
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
|
||||
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
|
||||
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
|
||||
|
||||
\\usepackage\{enumitem\}
|
||||
\\setlist\{noitemsep\} %% kills the space between items
|
||||
|
||||
"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
#+END_SRC
|
||||
|
||||
«lyrics»
|
||||
- 2017-03-23: 2-column layout sans-serif for lyrics
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("lyrics"
|
||||
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}
|
||||
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
#+END_SRC
|
||||
|
||||
«lyrics2» 2 column version of «lyrics»
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("lyrics2"
|
||||
"\\documentclass\[a4paper,parskip=half,twocolumn\]\{scrartcl\}
|
||||
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
#+END_SRC
|
||||
|
||||
Adding TUGRAZ letter export class format
|
||||
- compare: http://orgmode.org/worg/org-tutorials/org-latex-export.html
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(add-to-list 'org-export-latex-classes
|
||||
'("TUGRAZletter"
|
||||
"\\documentclass{scrlttr2}
|
||||
\\usepackage{tugrazletter}
|
||||
[NO-DEFAULT-PACKAGES]
|
||||
[EXTRA]"
|
||||
("\\section{%s}" . "\\section*{%s}")))
|
||||
#+END_SRC
|
||||
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
(add-to-list 'org-latex-classes
|
||||
'("memoirbook"
|
||||
"\\documentclass[a5paper,12pt]{memoir}"
|
||||
;; "\\semiisopage[8]"
|
||||
;; "\\hypersetup{colorlinks=true,linkcolor={Blue},urlcolor={Blue}}" ;; genera un problema al exportar
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
|
||||
|
||||
'(org-export-latex-default-class "memoir")
|
||||
|
||||
#+end_src
|
||||
|
||||
|
||||
END of LaTeX class definitions
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
);; with-eval-after-load
|
||||
#+END_SRC
|
||||
|
||||
**** ox-asciidoc - Export to AsciiDoc
|
||||
|
||||
https://github.com/yashi/org-asciidoc - «An Org Mode Exporter Backend For AsciiDoc»
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||
(use-package ox-asciidoc
|
||||
;;:ensure t ;; install package if not found OR: (setq use-package-always-ensure t)
|
||||
:defer 110
|
||||
)
|
||||
#+END_SRC
|
||||
|
||||
**** Org-Reveal - generate nice presentations out of Org-mode
|
||||
|
||||
https://github.com/yjwen/org-reveal
|
||||
#+BEGIN_QUOTE
|
||||
- =Reveal.js= is a tool for creating good-looking HTML presentations, authored by Hakim El Hattab.
|
||||
|
@ -1442,71 +1147,10 @@ https://github.com/yjwen/org-reveal
|
|||
:ensure t
|
||||
;;:if (my-system-type-is-windows)
|
||||
:defer 110
|
||||
:config
|
||||
|
||||
;;(setq org-reveal-root "file:///d:/reveal.js")
|
||||
(cond ((my-system-type-is-gnu)
|
||||
(setq org-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js")
|
||||
(setq org-reveal-extra-css "file:///home/vk/.emacs.d/bin/reveal_theme_night_local.css"))
|
||||
((string-equal system-name "GRZN17009")
|
||||
(setq org-reveal-root "file:///C:/Users/karl.voit/.emacs.d/bin/reveal.js/")
|
||||
(setq org-reveal-extra-css "file:///C:/Users/karl.voit/.emacs.d/bin/reveal_theme_night_local.css"))
|
||||
((string-equal system-name "cosmo")
|
||||
(setq org-reveal-root "file:///C:/Users/John/AppData/Roaming/.emacs.d/bin/reveal.js/")
|
||||
(setq org-reveal-extra-css "file:///C:/Users/John/AppData/Roaming/.emacs.d/bin/reveal_theme_night_local.css"))
|
||||
(t
|
||||
(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/"))
|
||||
)
|
||||
|
||||
;; my preferred defaults:
|
||||
(setq org-reveal-hlevel 2)
|
||||
(setq org-reveal-postamble "<p> Created by Karl. </p>")
|
||||
(setq org-reveal-center nil)
|
||||
(setq org-reveal-progress t)
|
||||
(setq org-reveal-history nil)
|
||||
(setq org-reveal-control t)
|
||||
(setq org-reveal-keyboard t)
|
||||
(setq org-reveal-overview nil)
|
||||
(setq org-reveal-transition "default")
|
||||
;; - transitions:
|
||||
;; - default
|
||||
;; - cube
|
||||
;; - page
|
||||
;; - concave
|
||||
;; - zoom
|
||||
;; - linear
|
||||
;; - fade
|
||||
;; - none
|
||||
(setq org-reveal-theme "night")
|
||||
;; - Styles:
|
||||
;; - black (default)
|
||||
;; - white
|
||||
;; - league
|
||||
;; - gray one
|
||||
;; - sky
|
||||
;; - nice bright one
|
||||
;; - beige
|
||||
;; - nice bright one
|
||||
;; - simple
|
||||
;; - bright
|
||||
;; - serif
|
||||
;; - old school
|
||||
;; - blood
|
||||
;; - cool!
|
||||
;; - *night*
|
||||
;; - very nice
|
||||
;; - moon
|
||||
;; - solarized
|
||||
)
|
||||
:config)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: t
|
||||
|
||||
|
||||
|
||||
**** my-org-copy-region-as-markdown
|
||||
|
||||
| 2022-05-03 | initial setup and disabled because of error |
|
||||
|
||||
I've found this nugget on http://mbork.pl/2021-05-02_Org-mode_to_Markdown_via_the_clipboard.
|
||||
|
@ -1600,9 +1244,6 @@ works *offline* (without cloud or network) and amazingly well for English.
|
|||
)
|
||||
#+END_SRC
|
||||
|
||||
|
||||
|
||||
|
||||
** hledger-mode
|
||||
#+begin_src emacs-lisp :tangle config.el
|
||||
;; To open files with .journal extension in hledger-mode
|
||||
|
@ -1719,17 +1360,17 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;collab ; buffers with friends
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
docker
|
||||
editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
|
@ -1755,7 +1396,7 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp) ; C > C++ == 1
|
||||
clojure ; java with a lisp
|
||||
(clojure +lsp) ; java with a lisp
|
||||
common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
|
@ -1781,8 +1422,8 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
;;idris ; a language you can depend on
|
||||
json ; At least it ain't XML
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
julia ; a better, faster MATLAB
|
||||
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||
(julia +lsp) ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
latex ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
|
@ -1792,11 +1433,11 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
;;nim ; python + lisp at the speed of c
|
||||
nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
org ; organize your plain life in plain text
|
||||
(org +dragndrop +pandoc +pretty +gnuplot +roam2) ; organize your plain life in plain text
|
||||
php ; perl's insecure younger brother
|
||||
plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
python ; beautiful is better than ugly
|
||||
(python +lsp) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
raku ; the artist formerly known as perl6
|
||||
|
@ -1806,14 +1447,14 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
(sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
web ; the tubes
|
||||
(web +lsp) ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
zig ; C, but simpler
|
||||
(zig +lsp) ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
|
@ -1830,10 +1471,12 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
|
|||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
(default +bindings))
|
||||
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
* packages.el
|
||||
** Info from the included (default) comments:
|
||||
To install a package with Doom you must declare them here and run 'doom sync' on the command line, then restart Emacs for the changes to take effect -- or use 'M-x doom/reload'.
|
||||
|
@ -1926,13 +1569,18 @@ release. You can ~unpin!~ them. Note ~(unpin! t)~ unpins all the packages and ca
|
|||
#+begin_src emacs-lisp :tangle packages.el
|
||||
;; (package! helm-xref)
|
||||
#+end_src
|
||||
*** pdf-tools
|
||||
#+begin_src emacs-lisp :tangle packages.el
|
||||
(package! pdf-tools)
|
||||
#+end_src
|
||||
|
||||
*** Org
|
||||
#+begin_src emacs-lisp :tangle packages.el
|
||||
;; Fix for org-roam link issue
|
||||
(package! org :pin "ca873f7")
|
||||
(package! org-auto-tangle)
|
||||
(package! ox-slack)
|
||||
(package! ox-tufte)
|
||||
(package! org-special-block-extras)
|
||||
(package! org-transclusion)
|
||||
(package! org-modern)
|
||||
(package! org-ql)
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
(setq user-full-name "Phil Bajsicki")
|
||||
|
||||
;; must be set before `org` is loaded
|
||||
(setq org-directory "~/enc/org/")
|
||||
(setq org-agenda-files (directory-files-recursively "~/enc/org/" ".org$"))
|
||||
|
||||
(setq global-auto-revert-mode t)
|
||||
(org-edna-mode)
|
||||
(setq auth-sources '("~/.authinfo"))
|
||||
(setq-default backup-inhibited t)
|
||||
|
||||
|
@ -10,6 +13,7 @@
|
|||
(set-keyboard-coding-system 'utf-8)
|
||||
(set-clipboard-coding-system 'utf-8)
|
||||
(prefer-coding-system 'utf-8)
|
||||
(setq-default indent-tabs-mode t)
|
||||
|
||||
(setq langtool-java-bin "/usr/bin/java")
|
||||
|
||||
|
@ -23,12 +27,6 @@
|
|||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
|
||||
(setq doom-font (font-spec :family "Iosevka")
|
||||
doom-unicode-font (font-spec :family "Iosevka"))
|
||||
(dolist (charset '(unicode))
|
||||
(set-fontset-font (frame-parameter nil 'font)
|
||||
charset (font-spec :family "Iosevka")))
|
||||
|
||||
(ligature-set-ligatures 't '("www"))
|
||||
;; Enable traditional ligature support in eww-mode, if the
|
||||
;; `variable-pitch' face supports it
|
||||
|
@ -60,20 +58,34 @@
|
|||
(setq x-stretch-cursor t)
|
||||
(setq column-number-mode t)
|
||||
|
||||
(setq straight-repository-branch "develop")
|
||||
|
||||
(global-set-key "\C-g" 'keyboard-quit)
|
||||
(global-set-key "\C-cu" 'browse-url-chrome)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
||||
(setq org-directory "~/enc/org/")
|
||||
(setq straight-repository-branch "develop")
|
||||
|
||||
(use-package! pdf-tools
|
||||
:defer t
|
||||
:commands (pdf-loader-install)
|
||||
:mode "\\.pdf\\'"
|
||||
:bind (:map pdf-view-mode-map
|
||||
("n" . pdf-view-next-line-or-next-page)
|
||||
("p" . pdf-view-previous-line-or-previous-page)
|
||||
("C-=" . pdf-view-enlarge)
|
||||
("C--" . pdf-view-shrink))
|
||||
:init (pdf-loader-install)
|
||||
:config (add-to-list 'revert-without-query ".pdf"))
|
||||
|
||||
(add-hook 'pdf-view-mode-hook #'(lambda () (interactive (display-line-numbers-mode))))
|
||||
|
||||
(add-to-list 'auto-mode-alist
|
||||
'("\\.org\\'" . org-mode))
|
||||
|
||||
(setq org-image-actual-width nil)
|
||||
(setq org-enforce-todo-dependencies t)
|
||||
(setq org-insert-heading-respect-content nil)
|
||||
(setq org-reverse-note-order nil)
|
||||
(setq org-show-following-heading t)
|
||||
(setq org-show-hierarchy-above t)
|
||||
(setq org-show-siblings nil)
|
||||
(setq org-deadline-warning-days 7)
|
||||
(setq org-blank-before-new-entry (quote ((heading . t)
|
||||
(plain-list-item . nil))))
|
||||
|
@ -87,12 +99,40 @@
|
|||
(setq org-log-done (quote time))
|
||||
(setq org-log-into-drawer t)
|
||||
(setq org-catch-invisible-edits "smart")
|
||||
|
||||
(setq org-completion-use-ido t)
|
||||
(setq org-use-property-inheritance nil)
|
||||
(setq org-duration-format 'h:mm)
|
||||
(setq org-hierarchical-todo-statistics t)
|
||||
(org-align-tags t)
|
||||
|
||||
(defun my-org-tree-to-indirect-buffer (&optional arg)
|
||||
"Create indirect buffer and narrow it to current subtree.
|
||||
The buffer is named after the subtree heading, with the filename
|
||||
appended. If a buffer by that name already exists, it is
|
||||
selected instead of creating a new buffer."
|
||||
(interactive "P")
|
||||
(let* ((new-buffer-p)
|
||||
(pos (point))
|
||||
(buffer-name (let* ((heading (org-get-heading t t))
|
||||
(level (org-outline-level))
|
||||
(face (intern (concat "outline-" (number-to-string level))))
|
||||
(heading-string (propertize (org-link-display-format heading)
|
||||
'face face)))
|
||||
(concat heading-string "::" (buffer-name))))
|
||||
(new-buffer (or (get-buffer buffer-name)
|
||||
(prog1 (condition-case nil
|
||||
(make-indirect-buffer (current-buffer) buffer-name 'clone)
|
||||
(error (make-indirect-buffer (current-buffer) buffer-name)))
|
||||
(setq new-buffer-p t)))))
|
||||
(switch-to-buffer new-buffer)
|
||||
(when new-buffer-p
|
||||
;; I don't understand why setting the point again is necessary, but it is.
|
||||
(goto-char pos)
|
||||
(rename-buffer buffer-name)
|
||||
(org-narrow-to-subtree))))
|
||||
|
||||
(advice-add 'org-tree-to-indirect-buffer :override 'my-org-tree-to-indirect-buffer)
|
||||
|
||||
(setq org-element--cache-self-verify nil)
|
||||
|
||||
(modify-all-frames-parameters
|
||||
'((right-divider-width . 2)
|
||||
|
@ -153,7 +193,6 @@
|
|||
(global-set-key "\C-cii" '(lambda () (interactive)
|
||||
(org-time-stamp-inactive '(16))))
|
||||
|
||||
(after! org
|
||||
(setq org-todo-keywords
|
||||
'((sequence
|
||||
"INBOX(i)"
|
||||
|
@ -180,7 +219,7 @@
|
|||
("WAIT" :foreground "yellow" :weight bold)
|
||||
("HOLD" :foreground "orange" :weight bold)
|
||||
("DONE" :foreground "green" :weight bold)
|
||||
("KILL" :foreground "grey" :weight bold))))
|
||||
("KILL" :foreground "grey" :weight bold)))
|
||||
|
||||
(add-hook 'org-insert-heading-hook
|
||||
(lambda ()
|
||||
|
@ -224,6 +263,15 @@
|
|||
|
||||
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images)
|
||||
|
||||
(with-eval-after-load 'ox-latex
|
||||
(add-to-list 'org-latex-classes
|
||||
'("memoir"
|
||||
"\\documentclass{memoir}"
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
|
||||
|
||||
(defun org-super-links-quick-related ()
|
||||
(interactive)
|
||||
(let ((org-super-links-link-prefix "\nrelated: "))
|
||||
|
@ -242,67 +290,6 @@
|
|||
(global-set-key (kbd "C-c l r") 'org-super-links-quick-related)
|
||||
(global-set-key (kbd "C-c l d") 'org-super-links-delete-link)
|
||||
|
||||
(org-super-agenda-mode)
|
||||
(setq super-agenda-groups
|
||||
'(;; Each group has an implicit boolean OR operator between its selectors.
|
||||
(:name "Today" ; Optionally specify section name
|
||||
:time-grid t ; Items that appear on the time grid
|
||||
)
|
||||
(:name "DEADLINES" :deadline t :order 1)
|
||||
(:name "Focus | [A]" :tag "Focus" :priority "A" :order 2 :face (:append t :weight bold))
|
||||
;; (:name "Important" :priority "A" :order 4)
|
||||
;; (:name "Habits" :habit t :order 3)
|
||||
;; (:name "Shopping" :tag "Besorgung" :order 8)
|
||||
;; Boolean AND group matches items that match all subgroups
|
||||
;; :and (:tag "shopping" :tag "@town")
|
||||
;; Multiple args given in list with implicit OR
|
||||
;; :tag ("food" "dinner"))
|
||||
;; :habit t
|
||||
;; :tag "personal")
|
||||
(:name "Started" :and (:todo "TASK" :not (:tag "someday") :not (:priority "C") :not (:priority "B") ) :order 10)
|
||||
;;(:name "Space-related (non-moon-or-planet-related)"
|
||||
;; ;; Regexps match case-insensitively on the entire entry
|
||||
;; :and (:regexp ("space" "NASA")
|
||||
;; ;; Boolean NOT also has implicit OR between selectors
|
||||
;; :not (:regexp "moon" :tag "planet")))
|
||||
;;(:name "BWG" :tag "@BWG" :order 16)
|
||||
;; (:name "read" :tag "2read" :order 22)
|
||||
;; Groups supply their own section names when none are given
|
||||
(:name "Someday" :and ( :todo ("WAIT" "HOLD" "INBOX") :tag "someday" :not (:priority "C") :not (:priority "B"))
|
||||
;; Show this group at the end of the agenda (since it has the
|
||||
;; highest number). If you specified this group last, items
|
||||
;; with these todo keywords that e.g. have priority A would be
|
||||
;; displayed in that group instead, because items are grouped
|
||||
;; out in the order the groups are listed.
|
||||
:order 25)
|
||||
|
||||
;; "other items": an auto-group with order 99 ----------------------------
|
||||
|
||||
(:name "Prio ≤ B" :priority<= "B"
|
||||
;; Show this section after "Today" and "Important", because
|
||||
;; their order is unspecified, defaulting to 0. Sections
|
||||
;; are displayed lowest-number-first.
|
||||
:order 105)
|
||||
(:name "reward"
|
||||
:tag ("reward" "lp")
|
||||
:order 110
|
||||
)
|
||||
(:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section
|
||||
|
||||
;; After the last group, the agenda will display items that didn't
|
||||
;; match any of these groups, with the default order position of 99
|
||||
))
|
||||
|
||||
(defun my-super-agenda()
|
||||
"generates my super-agenda"
|
||||
(interactive)
|
||||
(org-super-agenda-mode)
|
||||
(let
|
||||
((org-super-agenda-groups super-agenda-groups))
|
||||
(org-agenda nil "a")
|
||||
)
|
||||
)
|
||||
|
||||
(org-wild-notifier-mode)
|
||||
|
||||
(setq org-wild-notifier-alert-time '(10))
|
||||
|
@ -347,32 +334,12 @@
|
|||
:empty-lines 1
|
||||
:unnarrowed)))
|
||||
|
||||
(add-to-list 'load-path "~/.emacs.d/.local/straight/repos/elgantt/")
|
||||
|
||||
(setq elgantt-header-type 'outline
|
||||
elgantt-draw-overarching-headers t
|
||||
elgantt-insert-header-even-if-no-timestamp nil
|
||||
elgantt-scroll-to-current-month-at-startup t)
|
||||
|
||||
(setq elgantt-user-set-color-priority-counter 0)
|
||||
|
||||
(setq elgantt-custom-header-line
|
||||
'((:left ((:prop date-at-point
|
||||
:padding 25)
|
||||
(:prop todo
|
||||
:padding 30)))
|
||||
(:center ((:prop headline)))
|
||||
(:right ((:prop hashtag
|
||||
:padding 40
|
||||
:text-props (face (:background "red")))))))
|
||||
|
||||
(global-set-key "\C-ca" 'org-agenda)
|
||||
(define-prefix-command 'org-agenda-map)
|
||||
(global-set-key "\C-a" 'org-agenda-map)
|
||||
(define-key org-agenda-map "n" 'org-agenda-capture)
|
||||
(define-key org-agenda-map "a" 'org-agenda)
|
||||
|
||||
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
|
||||
(setq org-agenda-start-day nil
|
||||
org-agenda-span '14
|
||||
org-agenda-dim-blocked-tasks 'invisible
|
||||
|
@ -396,12 +363,6 @@
|
|||
(quote (("x" "Phil's view" agenda ""
|
||||
((org-agenda-prefix-format " %i %-12:c %s %t "))))))
|
||||
|
||||
(setq org-agenda-todo-ignore-with-date nil)
|
||||
|
||||
(setq org-agenda-todo-ignore-deadlines (quote far))
|
||||
|
||||
(setq org-agenda-todo-ignore-scheduled (quote future))
|
||||
|
||||
(setq org-agenda-skip-deadline-if-done t)
|
||||
|
||||
(setq org-agenda-skip-scheduled-if-done t)
|
||||
|
@ -410,13 +371,8 @@
|
|||
|
||||
(setq org-agenda-log-mode-items (quote (state)))
|
||||
|
||||
;(setq org-agenda-skip-additional-timestamps-same-entry t)
|
||||
(setq org-agenda-skip-additional-timestamps-same-entry nil)
|
||||
|
||||
(setq org-agenda-search-headline-for-time nil)
|
||||
|
||||
(setq org-agenda-window-setup 'current-window)
|
||||
|
||||
(setq org-agenda-include-diary t)
|
||||
|
||||
(setq org-agenda-repeating-timestamp-show-all t)
|
||||
|
@ -433,170 +389,16 @@
|
|||
|
||||
(setq org-agenda-skip-timestamp-if-deadline-is-shown t)
|
||||
|
||||
(setq org-agenda-cmp-user-defined 'bh/agenda-sort)
|
||||
|
||||
;;(setq org-agenda-tags-column -102)
|
||||
(setq org-tags-column -101); for powerplantwin 23" TFT turned 90
|
||||
; degrees; should *not* differ between
|
||||
; systems! Otherwise Org-files gets
|
||||
; re-formatted after switching
|
||||
; system
|
||||
;;(when (my-system-type-is-windows)
|
||||
;; ;;(setq org-agenda-tags-column -103);; for 23" TFT turned 90 degrees
|
||||
;; (setq org-agenda-tags-column -117);; for 24" TFT turned 90 degrees
|
||||
;; )
|
||||
;;(when (my-system-is-sting)
|
||||
;; (setq org-agenda-tags-column -117);; -117 for 23" TFT sting, rotated 90°
|
||||
;; )
|
||||
(setq org-agenda-tags-column (- (- (window-total-width) 3))) ;; total width minus 3
|
||||
|
||||
(define-key org-agenda-mode-map (kbd "C-p") 'my-scroll-down-half)
|
||||
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half)
|
||||
|
||||
(setq org-agenda-skip-scheduled-if-deadline-is-shown nil)
|
||||
;;(setq org-agenda-skip-deadline-prewarning-if-scheduled t)
|
||||
|
||||
(setq org-global-properties (quote (("STYLE_ALL" . "habit"))))
|
||||
|
||||
(setq org-habit-graph-column 100)
|
||||
|
||||
(defun org-agenda-sharpie ()
|
||||
"Censor the text of items in the agenda."
|
||||
(interactive)
|
||||
(let (regexp old-heading new-heading properties)
|
||||
;; Save face properties of line in agenda to reapply to changed text
|
||||
(setq properties (text-properties-at (point)))
|
||||
|
||||
;; Go to source buffer
|
||||
(org-with-point-at (org-find-text-property-in-string 'org-marker
|
||||
(buffer-substring (line-beginning-position)
|
||||
(line-end-position)))
|
||||
;; Save old heading text and ask for new text
|
||||
(line-beginning-position)
|
||||
(unless (org-at-heading-p)
|
||||
;; Not sure if necessary
|
||||
(org-back-to-heading))
|
||||
(setq old-heading (when (looking-at org-complex-heading-regexp)
|
||||
(match-string 4))))
|
||||
(unless old-heading
|
||||
(error "Can't find heading. How can this be?"))
|
||||
;; Back to agenda buffer
|
||||
(setq new-heading (read-from-minibuffer "Overwrite visible heading with: "))
|
||||
(add-text-properties 0 (length new-heading) properties new-heading)
|
||||
;; Replace agenda text
|
||||
(save-excursion
|
||||
(let ((inhibit-read-only t))
|
||||
(goto-char (line-beginning-position))
|
||||
(when (search-forward old-heading (line-end-position))
|
||||
(replace-match new-heading 'fixedcase 'literal))))))
|
||||
|
||||
(setq org-export-initial-scope 'subtree)
|
||||
(setq org-agenda-format-date (lambda (date) (concat "\n"
|
||||
(make-string (window-width) 9472)
|
||||
"\n"
|
||||
(org-agenda-format-date-aligned date))))
|
||||
|
||||
(setq org-export-with-broken-links t)
|
||||
|
||||
(with-eval-after-load 'ox-latex
|
||||
;;(message (concat "################################################\norg-latex-classes = [" org-latex-classes "]"))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("scrartcl"
|
||||
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("detego"
|
||||
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
|
||||
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
|
||||
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
|
||||
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
|
||||
\\usepackage\{helvet\}
|
||||
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
|
||||
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
|
||||
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/Detego-Logo-209x41.png}}} \\pagestyle{scrheadings} %% Logo in header
|
||||
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
|
||||
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
|
||||
%% colorful headings:
|
||||
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
|
||||
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
|
||||
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
|
||||
|
||||
\\usepackage\{enumitem\}
|
||||
\\setlist\{noitemsep\} %% kills the space between items
|
||||
|
||||
"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("rise"
|
||||
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
|
||||
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
|
||||
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
|
||||
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
|
||||
\\usepackage\{helvet\}
|
||||
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
|
||||
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
|
||||
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/RISE_logo_202x500.jpeg}}} \\pagestyle{scrheadings} %% Logo in header
|
||||
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
|
||||
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
|
||||
%% colorful headings:
|
||||
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
|
||||
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
|
||||
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
|
||||
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
|
||||
|
||||
\\usepackage\{enumitem\}
|
||||
\\setlist\{noitemsep\} %% kills the space between items
|
||||
|
||||
"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("lyrics"
|
||||
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}
|
||||
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("lyrics2"
|
||||
"\\documentclass\[a4paper,parskip=half,twocolumn\]\{scrartcl\}
|
||||
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
|
||||
("\\section\{%s\}" . "\\section*\{%s\}")
|
||||
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
|
||||
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("memoirbook"
|
||||
"\\documentclass[a5paper,12pt]{memoir}"
|
||||
;; "\\semiisopage[8]"
|
||||
;; "\\hypersetup{colorlinks=true,linkcolor={Blue},urlcolor={Blue}}" ;; genera un problema al exportar
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
|
||||
|
||||
'(org-export-latex-default-class "memoir")
|
||||
|
||||
);; with-eval-after-load
|
||||
|
||||
(use-package ox-asciidoc
|
||||
;;:ensure t ;; install package if not found OR: (setq use-package-always-ensure t)
|
||||
:defer 110
|
||||
)
|
||||
|
||||
(defun my-org-copy-region-as-markdown ()
|
||||
"Copy the region (in Org) to the system clipboard as Markdown."
|
||||
(interactive)
|
||||
|
|
|
@ -13,3 +13,4 @@
|
|||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
(put 'narrow-to-region 'disabled nil)
|
||||
|
|
|
@ -81,17 +81,17 @@
|
|||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;collab ; buffers with friends
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
docker
|
||||
editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
|
@ -117,7 +117,7 @@
|
|||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
(cc +lsp) ; C > C++ == 1
|
||||
clojure ; java with a lisp
|
||||
(clojure +lsp) ; java with a lisp
|
||||
common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
|
@ -143,8 +143,8 @@
|
|||
;;idris ; a language you can depend on
|
||||
json ; At least it ain't XML
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
julia ; a better, faster MATLAB
|
||||
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||
(julia +lsp) ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
latex ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
|
@ -154,11 +154,11 @@
|
|||
;;nim ; python + lisp at the speed of c
|
||||
nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
org ; organize your plain life in plain text
|
||||
(org +dragndrop +pandoc +pretty +gnuplot +roam2) ; organize your plain life in plain text
|
||||
php ; perl's insecure younger brother
|
||||
plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
python ; beautiful is better than ugly
|
||||
(python +lsp) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
raku ; the artist formerly known as perl6
|
||||
|
@ -168,14 +168,14 @@
|
|||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
(sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
web ; the tubes
|
||||
(web +lsp) ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
zig ; C, but simpler
|
||||
(zig +lsp) ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
|
@ -192,4 +192,4 @@
|
|||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
(default +bindings))
|
||||
|
|
|
@ -22,10 +22,13 @@
|
|||
|
||||
;; (package! helm-xref)
|
||||
|
||||
(package! pdf-tools)
|
||||
|
||||
;; Fix for org-roam link issue
|
||||
(package! org :pin "ca873f7")
|
||||
(package! org-auto-tangle)
|
||||
(package! ox-slack)
|
||||
(package! ox-tufte)
|
||||
(package! org-special-block-extras)
|
||||
(package! org-transclusion)
|
||||
(package! org-modern)
|
||||
(package! org-ql)
|
||||
|
|
|
@ -10,6 +10,12 @@ First line removes the path; second line sets it. Without the first line, your
|
|||
#+begin_src fish
|
||||
set -e fish_user_paths
|
||||
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths
|
||||
|
||||
|
||||
set -e SSH_AGENT_PID
|
||||
if not set -q gnupg_SSH_AUTH_SOCK_by or test $gnupg_SSH_AUTH_SOCK_by -ne $fish_pid
|
||||
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
* Exports
|
||||
|
@ -416,6 +422,14 @@ Occasionally my keyboard layout changes. I have not figured out why yet, but thi
|
|||
function polish
|
||||
setxkbmap -model pc104 -layout pl -option compose:rctrl
|
||||
end
|
||||
#+end_src
|
||||
** greek
|
||||
Occasionally I type in greek. This function sets my keyboard layout for it.
|
||||
#+begin_src fish
|
||||
function greek
|
||||
setxkbmap -model pc104 -layout gr -option compose:rctrl
|
||||
end
|
||||
|
||||
#+end_src
|
||||
** vps
|
||||
Logs me into my VPS with an ssh key. I use it extensively, so being able to log in without having to type a password is really nice.
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
set -e fish_user_paths
|
||||
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths
|
||||
|
||||
|
||||
set -e SSH_AGENT_PID
|
||||
if not set -q gnupg_SSH_AUTH_SOCK_by or test $gnupg_SSH_AUTH_SOCK_by -ne $fish_pid
|
||||
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
|
||||
end
|
||||
|
||||
set fish_greeting
|
||||
set TERM "xterm-256color"
|
||||
set EDITOR "emacsclient -t -a ''"
|
||||
|
@ -235,8 +241,6 @@ alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'"
|
|||
alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
|
||||
alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'"
|
||||
|
||||
alias config="/usr/bin/git --git-dir=$HOME/git/dot --work-tree=$HOME"
|
||||
|
||||
alias tb="nc termbin.com 9999"
|
||||
|
||||
alias tips="lbrynet txo spend --type=support --is_not_my_input --blocking"
|
||||
|
@ -255,6 +259,10 @@ function polish
|
|||
setxkbmap -model pc104 -layout pl -option compose:rctrl
|
||||
end
|
||||
|
||||
function greek
|
||||
setxkbmap -model pc104 -layout gr -option compose:rctrl
|
||||
end
|
||||
|
||||
function vps
|
||||
ssh -p 2222 phil@46.38.232.163 -i ~/.ssh/id_ed25519_nopass
|
||||
end
|
||||
|
|
|
@ -133,6 +133,19 @@ bind = , Print, exec, hyprshot -m region
|
|||
|
||||
bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
|
||||
#+end_src
|
||||
*** Timestamps
|
||||
#+begin_src config
|
||||
bind = $mainMod, W, submap, timestamp
|
||||
submap = timestamp
|
||||
bind = , l, exec, wtype $(date +"%Y.%m.%d %H:%M:%S %Z")
|
||||
bind = , l, submap, reset
|
||||
bind = , e, exec, wtype $(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')
|
||||
bind = , e, submap, reset
|
||||
bind = , p, exec, wtype $(TZ=America/Denver date +'%Y.%m.%d %H:%M:%S %Z')
|
||||
bind = , p, submap, reset
|
||||
bind= , escape, submap, reset
|
||||
submap = reset
|
||||
#+end_src
|
||||
*** Workspaces
|
||||
**** Show
|
||||
#+begin_src config
|
||||
|
@ -336,4 +349,5 @@ bindm = $mainMod, mouse:273, resizewindow
|
|||
** Autostart
|
||||
#+begin_src config
|
||||
exec-once=waybar
|
||||
exec-once=ydotoold
|
||||
#+end_src
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
monitor=HDMI-A-1, 1920x1080@60, 0x0, 1
|
||||
monitor=eDP-1, 1920x1080@165, 1920x0, 1
|
||||
monitor=DP-2, 1920x1080@60, 3840x0, 1
|
||||
monitor=eDP-2, 1920x1080@165, 1920x0, 1
|
||||
monitor=DP-2, 1920x1080@60, 1920x1080, 1
|
||||
monitor=DP-1, 1920x1080@60, 3840x0, 1
|
||||
|
||||
input {
|
||||
kb_layout = pl
|
||||
|
@ -24,15 +26,12 @@ general {
|
|||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 0
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
|
@ -60,7 +59,7 @@ master {
|
|||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true
|
||||
inherit_fullscreen = true
|
||||
mfact = 0.6
|
||||
mfact = 0.65
|
||||
}
|
||||
|
||||
gestures {
|
||||
|
@ -96,6 +95,17 @@ bind = , Print, exec, hyprshot -m region
|
|||
|
||||
bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
|
||||
|
||||
bind = $mainMod, W, submap, timestamp
|
||||
submap = timestamp
|
||||
bind = , l, exec, wtype $(date +"%Y.%m.%d %H:%M:%S %Z")
|
||||
bind = , l, submap, reset
|
||||
bind = , e, exec, wtype $(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')
|
||||
bind = , e, submap, reset
|
||||
bind = , p, exec, wtype $(TZ=America/Denver date +'%Y.%m.%d %H:%M:%S %Z')
|
||||
bind = , p, submap, reset
|
||||
bind= , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
bind = $mainMod, S, submap, show
|
||||
submap = show
|
||||
bind = , 1, moveworkspacetomonitor, name:1 current
|
||||
|
@ -276,7 +286,7 @@ bind = , q, movetoworkspacesilent, name:q
|
|||
bind = , q, submap, reset
|
||||
bind = , z, movetoworkspacesilent, name:z
|
||||
bind = , z, submap, reset
|
||||
bind = , p, movetoworkspacesilent, name:tp
|
||||
bind = , p, movetoworkspacesilent, name:p
|
||||
bind = , p, submap, reset
|
||||
bind=,escape,submap,reset
|
||||
submap = reset
|
||||
|
@ -290,3 +300,4 @@ bindm = $mainMod, mouse:272, movewindow
|
|||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
exec-once=waybar
|
||||
exec-once=ydotoold
|
||||
|
|
|
@ -280,6 +280,10 @@ Dunst for notifications.
|
|||
#+begin_src haskell
|
||||
spawnOnce "dunst"
|
||||
#+end_src
|
||||
***** Compositing - picom
|
||||
#+begin_src haskell
|
||||
spawnOnce "picom -b"
|
||||
#+end_src
|
||||
***** Activity Watch
|
||||
I like looking back on the way I spend my time every once in a while. Local time tracking is really helpful, so I run AW in the background.
|
||||
#+begin_src haskell
|
||||
|
@ -563,6 +567,12 @@ Notes: I use a ZSA Moonlander so a lot of the 4-5 key sequences are actually jus
|
|||
, ("M-<Print>", spawn "dm-maim")
|
||||
, ("<Print>", spawn "flameshot gui")
|
||||
|
||||
#+end_src
|
||||
*** Keybindings for keyboard layout changes
|
||||
#+begin_src haskell
|
||||
, ("M-j p", spawn "setxkbmap -model pc104 -layout pl -option compose:rctrl")
|
||||
, ("M-j g", spawn "setxkbmap -model pc104 -layout gr -option compose:rctrl")
|
||||
|
||||
#+end_src
|
||||
*** XMonad.Prompt.OrgMode
|
||||
#+begin_src haskell
|
||||
|
|
|
@ -146,6 +146,8 @@ myStartupHook = do
|
|||
|
||||
spawnOnce "dunst"
|
||||
|
||||
spawnOnce "picom -b"
|
||||
|
||||
spawnOnce "aw-server"
|
||||
spawnOnce "aw-watcher-afk"
|
||||
spawnOnce "aw-watcher-window"
|
||||
|
@ -342,6 +344,9 @@ main = do
|
|||
, ("M-<Print>", spawn "dm-maim")
|
||||
, ("<Print>", spawn "flameshot gui")
|
||||
|
||||
, ("M-j p", spawn "setxkbmap -model pc104 -layout pl -option compose:rctrl")
|
||||
, ("M-j g", spawn "setxkbmap -model pc104 -layout gr -option compose:rctrl")
|
||||
|
||||
, ("M-c i", orgPrompt def "TODO" "~/enc/org/inbox.org")
|
||||
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org")
|
||||
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org")
|
||||
|
|
Loading…
Reference in a new issue