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! flyspell
|
||||||
:after org
|
(setq flyspell-lazy-idle-seconds 2))
|
||||||
:init
|
|
||||||
(map!
|
|
||||||
:map global-map "<F12>" #'org-transclusion-add
|
|
||||||
:leader
|
|
||||||
:prefix "n"
|
|
||||||
:desc "Org Transclusion Mode" "t" #'org-transclusion-mode))
|
|
||||||
|
|
|
@ -20,8 +20,11 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT'
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Global settings
|
*** Global settings
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+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)
|
(setq global-auto-revert-mode t)
|
||||||
(org-edna-mode)
|
|
||||||
(setq auth-sources '("~/.authinfo"))
|
(setq auth-sources '("~/.authinfo"))
|
||||||
(setq-default backup-inhibited t)
|
(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-keyboard-coding-system 'utf-8)
|
||||||
(set-clipboard-coding-system 'utf-8)
|
(set-clipboard-coding-system 'utf-8)
|
||||||
(prefer-coding-system 'utf-8)
|
(prefer-coding-system 'utf-8)
|
||||||
|
(setq-default indent-tabs-mode t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: t
|
||||||
|
|
||||||
*** Langtool
|
*** Langtool
|
||||||
|
|
||||||
Note that for this functionality you do need some resources, namely:
|
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
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(setq doom-themes-enable-bold t
|
(setq doom-themes-enable-bold t
|
||||||
doom-themes-enable-italic 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
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: t
|
|
||||||
**** Font Family List
|
**** Font Family List
|
||||||
This is a simple command that outputs the fonts you have available in Emacs.
|
This is a simple command that outputs the fonts you have available in Emacs.
|
||||||
#+begin_src emacs-lisp :results value format: pp
|
#+begin_src emacs-lisp :results value format: pp
|
||||||
(print (font-family-list))
|
(print (font-family-list))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**** Ligature.el
|
**** Ligature.el
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
|
||||||
(ligature-set-ligatures 't '("www"))
|
(ligature-set-ligatures 't '("www"))
|
||||||
;; Enable traditional ligature support in eww-mode, if the
|
;; Enable traditional ligature support in eww-mode, if the
|
||||||
;; `variable-pitch' face supports it
|
;; `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)
|
(setq-default calendar-week-start-day 1)
|
||||||
#+END_SRC
|
#+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
|
** Global Keybinds
|
||||||
Setting this here because I experiment with these occasionally and want them reset properly eaach time.
|
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)
|
(global-set-key "\C-cu" 'browse-url-chrome)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
** Package settings
|
||||||
: browse-url-chrome
|
*** Straight
|
||||||
|
|
||||||
** 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
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
(setq straight-repository-branch "develop")
|
||||||
(setq org-directory "~/enc/org/")
|
#+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-enforce-todo-dependencies t)
|
||||||
(setq org-insert-heading-respect-content nil)
|
(setq org-insert-heading-respect-content nil)
|
||||||
(setq org-reverse-note-order nil)
|
(setq org-reverse-note-order nil)
|
||||||
(setq org-show-following-heading t)
|
(setq org-show-following-heading t)
|
||||||
(setq org-show-hierarchy-above t)
|
(setq org-show-hierarchy-above t)
|
||||||
(setq org-show-siblings nil)
|
|
||||||
(setq org-deadline-warning-days 7)
|
(setq org-deadline-warning-days 7)
|
||||||
(setq org-blank-before-new-entry (quote ((heading . t)
|
(setq org-blank-before-new-entry (quote ((heading . t)
|
||||||
(plain-list-item . nil))))
|
(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-done (quote time))
|
||||||
(setq org-log-into-drawer t)
|
(setq org-log-into-drawer t)
|
||||||
(setq org-catch-invisible-edits "smart")
|
(setq org-catch-invisible-edits "smart")
|
||||||
|
|
||||||
(setq org-completion-use-ido t)
|
(setq org-completion-use-ido t)
|
||||||
(setq org-use-property-inheritance nil)
|
(setq org-use-property-inheritance nil)
|
||||||
(setq org-duration-format 'h:mm)
|
(setq org-duration-format 'h:mm)
|
||||||
(setq org-hierarchical-todo-statistics t)
|
(setq org-hierarchical-todo-statistics t)
|
||||||
(org-align-tags t)
|
|
||||||
#+end_src
|
#+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
|
#+RESULTS:
|
||||||
**** my-org-tree-to-indirect-buffer
|
: t
|
||||||
|
|
||||||
|
***** my-org-tree-to-indirect-buffer
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
This beautiful piece of code was done by [[https://www.reddit.com/user/github-alphapapa][alphapapa]] and published on
|
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
|
[[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
|
#+end_quote
|
||||||
--Karl Voit
|
--Karl Voit
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||||
(defun my-org-tree-to-indirect-buffer (&optional arg)
|
(defun my-org-tree-to-indirect-buffer (&optional arg)
|
||||||
"Create indirect buffer and narrow it to current subtree.
|
"Create indirect buffer and narrow it to current subtree.
|
||||||
The buffer is named after the subtree heading, with the filename
|
The buffer is named after the subtree heading, with the filename
|
||||||
|
@ -234,7 +240,7 @@ selected instead of creating a new buffer."
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
**** my-org-retrieve-url-from-point → C-c o
|
***** my-org-retrieve-url-from-point → C-c o
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
I wanted a function that does not open an web URL within Org mode (via
|
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
|
=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
|
#+BEGIN_SRC emacs-lisp
|
||||||
(global-set-key (kbd "C-c o") 'my-org-retrieve-url-from-point)
|
(global-set-key (kbd "C-c o") 'my-org-retrieve-url-from-point)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
**** org-element cache verification
|
***** org-element cache verification
|
||||||
2022-01-16: This has a positive impact on the performance as long as
|
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
|
you would not need it for consistency warnings. Re-enable it if
|
||||||
something is fishy and you want the self-check functionality again.
|
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)
|
(setq org-element--cache-self-verify nil)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
**** Theming
|
#+RESULTS:
|
||||||
|
|
||||||
|
***** Theming
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:ID: b663a9ef-f08e-436f-913d-98e4234cf2cd
|
:ID: b663a9ef-f08e-436f-913d-98e4234cf2cd
|
||||||
:END:
|
:END:
|
||||||
|
@ -285,7 +293,7 @@ something is fishy and you want the self-check functionality again.
|
||||||
#+end_src
|
#+end_src
|
||||||
https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq-default truncate-lines t)
|
;; (setq-default truncate-lines t)
|
||||||
(setq org-src-fontify-natively t)
|
(setq org-src-fontify-natively t)
|
||||||
(setq org-hide-leading-stars 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
|
(setq org-agenda-dim-blocked-tasks nil);; show blocked tasks
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** Set the width of inline images:
|
****** Set the width of inline images:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq org-image-actual-width '(600))
|
(setq org-image-actual-width '(600))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
***** org-modern
|
****** org-modern
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(modify-all-frames-parameters
|
(modify-all-frames-parameters
|
||||||
'((right-divider-width . 2)
|
'((right-divider-width . 2)
|
||||||
|
@ -337,13 +345,13 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Dependencies
|
***** Dependencies
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(setq-default org-enforce-todo-dependencies t)
|
(setq-default org-enforce-todo-dependencies t)
|
||||||
(setq org-enforce-todo-checkbox-dependencies t)
|
(setq org-enforce-todo-checkbox-dependencies t)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** Hooks
|
**** Hooks
|
||||||
**** append and update time-stamps for =Time-stamp: <>= in headers:
|
***** append and update time-stamps for =Time-stamp: <>= in headers:
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(add-hook 'write-file-hooks 'time-stamp)
|
(add-hook 'write-file-hooks 'time-stamp)
|
||||||
(add-hook 'org-mode-hook
|
(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 on
|
||||||
(auto-fill-mode 1)))
|
(auto-fill-mode 1)))
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Keybinds
|
**** Keybinds
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(global-set-key "\C-cl" 'org-store-link)
|
(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-cne" 'elgantt-open)
|
||||||
(global-set-key "\C-cnn" 'org-capture)
|
(global-set-key "\C-cnn" 'org-capture)
|
||||||
#+end_src
|
#+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.
|
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
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(global-set-key "\C-cia" '(lambda ()(interactive)
|
(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))))
|
(org-time-stamp-inactive '(16))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Todo keywords
|
**** Todo keywords
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(after! org
|
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence
|
'((sequence
|
||||||
"INBOX(i)"
|
"INBOX(i)"
|
||||||
|
@ -404,7 +410,7 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
|
||||||
("WAIT" :foreground "yellow" :weight bold)
|
("WAIT" :foreground "yellow" :weight bold)
|
||||||
("HOLD" :foreground "orange" :weight bold)
|
("HOLD" :foreground "orange" :weight bold)
|
||||||
("DONE" :foreground "green" :weight bold)
|
("DONE" :foreground "green" :weight bold)
|
||||||
("KILL" :foreground "grey" :weight bold))))
|
("KILL" :foreground "grey" :weight bold)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
|
@ -430,7 +436,9 @@ Change font for DONE tasks
|
||||||
(:foreground "LightSalmon" :strike-through t)))))
|
(:foreground "LightSalmon" :strike-through t)))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Automated timestamps in headings
|
|
||||||
|
|
||||||
|
**** Automated timestamps in headings
|
||||||
I need this because hitting the above is tedious.
|
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.
|
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)))) |
|
| 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
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(setq org-capture-templates '(("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?")
|
(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:")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** preserving all heading levels when archiving
|
**** preserving all heading levels when archiving
|
||||||
|
|
||||||
Karl Voit:
|
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-end-of-subtree t t)
|
||||||
(org-paste-subtree level tree-text))))))))
|
(org-paste-subtree level tree-text))))))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** my-dired-insert-lfile-link-list-to-other-org-window()
|
**** my-dired-insert-lfile-link-list-to-other-org-window()
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
| 2022-06-20 | I had this idea and implemented it |
|
| 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
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
*** link colors
|
**** link colors
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
| 2021-01-11 | moved commands to =my-set-linkcolors= and defined 3 categories of colors |
|
| 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
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
** org-export
|
** org-export*** LaTeX
|
||||||
*** 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
|
** 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-links-delete-link
|
||||||
|
|
||||||
** org-super-agenda
|
** org-super-agenda
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle no
|
||||||
(org-super-agenda-mode)
|
(org-super-agenda-mode)
|
||||||
(setq super-agenda-groups
|
(setq super-agenda-groups
|
||||||
'(;; Each group has an implicit boolean OR operator between its selectors.
|
'(;; 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
|
:order 110
|
||||||
)
|
)
|
||||||
(:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section
|
(: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()
|
(defun my-super-agenda()
|
||||||
"generates 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
|
(let
|
||||||
((org-super-agenda-groups super-agenda-groups))
|
((org-super-agenda-groups super-agenda-groups))
|
||||||
(org-agenda nil "a")
|
(org-agenda nil "a")
|
||||||
)
|
))
|
||||||
)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
@ -957,29 +971,6 @@ Straight from Karl Voit's config.
|
||||||
:unnarrowed)))
|
:unnarrowed)))
|
||||||
#+end_src
|
#+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
|
** org-agenda
|
||||||
*** Keybinds
|
*** Keybinds
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+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)
|
(define-key org-agenda-map "a" 'org-agenda)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
*** Settings
|
*** Settings
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
|
|
||||||
(setq org-agenda-start-day nil
|
(setq org-agenda-start-day nil
|
||||||
org-agenda-span '14
|
org-agenda-span '14
|
||||||
org-agenda-dim-blocked-tasks 'invisible
|
org-agenda-dim-blocked-tasks 'invisible
|
||||||
|
@ -1018,22 +1006,11 @@ Straight from Karl Voit's config.
|
||||||
(quote (("x" "Phil's view" agenda ""
|
(quote (("x" "Phil's view" agenda ""
|
||||||
((org-agenda-prefix-format " %i %-12:c %s %t "))))))
|
((org-agenda-prefix-format " %i %-12:c %s %t "))))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
| x | Phil's view | agenda | | ((org-agenda-prefix-format %i %-12:c %s %t )) |
|
||||||
|
|
||||||
**** From Karl Voit
|
**** 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
|
Remove completed deadline tasks from the agenda view
|
||||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||||
(setq org-agenda-skip-deadline-if-done t)
|
(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)))
|
(setq org-agenda-log-mode-items (quote (state)))
|
||||||
#+END_SRC
|
#+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
|
do not search for time in heading when displaying a date-stamp
|
||||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||||
(setq org-agenda-search-headline-for-time nil)
|
(setq org-agenda-search-headline-for-time nil)
|
||||||
#+END_SRC
|
#+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
|
add diary entries in agenda view
|
||||||
http://orgmode.org/org.html#Weekly_002fdaily-agenda
|
http://orgmode.org/org.html#Weekly_002fdaily-agenda
|
||||||
#+BEGIN_SRC emacs-lisp :tangle config.el
|
#+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)
|
(setq org-agenda-skip-timestamp-if-deadline-is-shown t)
|
||||||
#+END_SRC
|
#+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
|
Enable display of the time grid so we can see the marker for the current time
|
||||||
#+BEGIN_SRC emacs-lisp :tangle no
|
#+BEGIN_SRC emacs-lisp :tangle no
|
||||||
(setq org-agenda-time-grid
|
(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)))
|
(800 1000 1200 1400 1600 1800 2000)))
|
||||||
#+END_SRC
|
#+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
|
Sticky agendas remain opened in the background so that you don't
|
||||||
need to regenerate them each time you hit the corresponding
|
need to regenerate them each time you hit the corresponding
|
||||||
keystroke. This is a big time saver.
|
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)
|
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half)
|
||||||
#+END_SRC
|
#+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.
|
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.
|
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"
|
(setq org-agenda-format-date (lambda (date) (concat "\n"
|
||||||
(make-string (window-width) 9472)
|
(make-string (window-width) 9472)
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -1175,79 +1111,14 @@ Disabled 2020-01-03 because I usually see one single day only.
|
||||||
#+END_SRC
|
#+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
|
*** Exports
|
||||||
Export subtree (by default) instead of whole buffer:
|
Export subtree (by default) instead of whole buffer:
|
||||||
http://orgmode.org/manual/The-Export-Dispatcher.html
|
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)
|
(setq org-export-initial-scope 'subtree)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
|
||||||
: subtree
|
|
||||||
|
|
||||||
With a densly interconnected Org knowledge-base (e.g., see
|
With a densly interconnected Org knowledge-base (e.g., see
|
||||||
=org-super-links=) and a "few but large Org mode files" in combination
|
=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
|
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
|
#+BEGIN_SRC emacs-lisp :tangle config.el
|
||||||
(setq org-export-with-broken-links t)
|
(setq org-export-with-broken-links t)
|
||||||
#+END_SRC
|
#+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
|
**** Org-Reveal - generate nice presentations out of Org-mode
|
||||||
|
|
||||||
https://github.com/yjwen/org-reveal
|
https://github.com/yjwen/org-reveal
|
||||||
#+BEGIN_QUOTE
|
#+BEGIN_QUOTE
|
||||||
- =Reveal.js= is a tool for creating good-looking HTML presentations, authored by Hakim El Hattab.
|
- =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
|
:ensure t
|
||||||
;;:if (my-system-type-is-windows)
|
;;:if (my-system-type-is-windows)
|
||||||
:defer 110
|
:defer 110
|
||||||
:config
|
: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
|
|
||||||
)
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
|
||||||
: t
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**** my-org-copy-region-as-markdown
|
**** my-org-copy-region-as-markdown
|
||||||
|
|
||||||
| 2022-05-03 | initial setup and disabled because of error |
|
| 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.
|
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
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
** hledger-mode
|
** hledger-mode
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
;; To open files with .journal extension in hledger-mode
|
;; 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
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
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
|
grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
;;ansible
|
ansible
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
;;collab ; buffers with friends
|
;;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
|
;;direnv
|
||||||
;;docker
|
docker
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
editorconfig ; let someone else argue about tabs vs spaces
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
;;ein ; tame Jupyter notebooks with emacs
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
;;gist ; interacting with github gists
|
;;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...
|
;;agda ; types of types of types of types...
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
(cc +lsp) ; C > C++ == 1
|
(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
|
common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
;;coq ; proofs-as-programs
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;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
|
;;idris ; a language you can depend on
|
||||||
json ; At least it ain't XML
|
json ; At least it ain't XML
|
||||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
julia ; a better, faster MATLAB
|
(julia +lsp) ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
latex ; writing papers in Emacs has never been so fun
|
latex ; writing papers in Emacs has never been so fun
|
||||||
;;lean ; for folks with too much to prove
|
;;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
|
;;nim ; python + lisp at the speed of c
|
||||||
nix ; I hereby declare "nix geht mehr!"
|
nix ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;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
|
php ; perl's insecure younger brother
|
||||||
plantuml ; diagrams for confusing people more
|
plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
python ; beautiful is better than ugly
|
(python +lsp) ; beautiful is better than ugly
|
||||||
;;qt ; the 'cutest' gui framework ever
|
;;qt ; the 'cutest' gui framework ever
|
||||||
;;racket ; a DSL for DSLs
|
;;racket ; a DSL for DSLs
|
||||||
raku ; the artist formerly known as perl6
|
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()
|
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;;scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
;;(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
|
;;sml
|
||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
;;swift ; who asked for emoji variables?
|
;;swift ; who asked for emoji variables?
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
web ; the tubes
|
(web +lsp) ; the tubes
|
||||||
yaml ; JSON, but readable
|
yaml ; JSON, but readable
|
||||||
zig ; C, but simpler
|
(zig +lsp) ; C, but simpler
|
||||||
|
|
||||||
:email
|
:email
|
||||||
;;(mu4e +org +gmail)
|
;;(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
|
:config
|
||||||
;;literate
|
;;literate
|
||||||
(default +bindings +smartparens))
|
(default +bindings))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
|
||||||
* packages.el
|
* packages.el
|
||||||
** Info from the included (default) comments:
|
** 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'.
|
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
|
#+begin_src emacs-lisp :tangle packages.el
|
||||||
;; (package! helm-xref)
|
;; (package! helm-xref)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
*** pdf-tools
|
||||||
|
#+begin_src emacs-lisp :tangle packages.el
|
||||||
|
(package! pdf-tools)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
*** Org
|
*** Org
|
||||||
#+begin_src emacs-lisp :tangle packages.el
|
#+begin_src emacs-lisp :tangle packages.el
|
||||||
;; Fix for org-roam link issue
|
;; Fix for org-roam link issue
|
||||||
(package! org :pin "ca873f7")
|
|
||||||
(package! org-auto-tangle)
|
(package! org-auto-tangle)
|
||||||
(package! ox-slack)
|
(package! ox-slack)
|
||||||
|
(package! ox-tufte)
|
||||||
|
(package! org-special-block-extras)
|
||||||
(package! org-transclusion)
|
(package! org-transclusion)
|
||||||
(package! org-modern)
|
(package! org-modern)
|
||||||
(package! org-ql)
|
(package! org-ql)
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
(setq user-full-name "Phil Bajsicki")
|
(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)
|
(setq global-auto-revert-mode t)
|
||||||
(org-edna-mode)
|
|
||||||
(setq auth-sources '("~/.authinfo"))
|
(setq auth-sources '("~/.authinfo"))
|
||||||
(setq-default backup-inhibited t)
|
(setq-default backup-inhibited t)
|
||||||
|
|
||||||
|
@ -10,6 +13,7 @@
|
||||||
(set-keyboard-coding-system 'utf-8)
|
(set-keyboard-coding-system 'utf-8)
|
||||||
(set-clipboard-coding-system 'utf-8)
|
(set-clipboard-coding-system 'utf-8)
|
||||||
(prefer-coding-system 'utf-8)
|
(prefer-coding-system 'utf-8)
|
||||||
|
(setq-default indent-tabs-mode t)
|
||||||
|
|
||||||
(setq langtool-java-bin "/usr/bin/java")
|
(setq langtool-java-bin "/usr/bin/java")
|
||||||
|
|
||||||
|
@ -23,12 +27,6 @@
|
||||||
(setq doom-themes-enable-bold t
|
(setq doom-themes-enable-bold t
|
||||||
doom-themes-enable-italic 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"))
|
(ligature-set-ligatures 't '("www"))
|
||||||
;; Enable traditional ligature support in eww-mode, if the
|
;; Enable traditional ligature support in eww-mode, if the
|
||||||
;; `variable-pitch' face supports it
|
;; `variable-pitch' face supports it
|
||||||
|
@ -60,20 +58,34 @@
|
||||||
(setq x-stretch-cursor t)
|
(setq x-stretch-cursor t)
|
||||||
(setq column-number-mode t)
|
(setq column-number-mode t)
|
||||||
|
|
||||||
(setq straight-repository-branch "develop")
|
|
||||||
|
|
||||||
(global-set-key "\C-g" 'keyboard-quit)
|
(global-set-key "\C-g" 'keyboard-quit)
|
||||||
(global-set-key "\C-cu" 'browse-url-chrome)
|
(global-set-key "\C-cu" 'browse-url-chrome)
|
||||||
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
|
(setq straight-repository-branch "develop")
|
||||||
(setq org-directory "~/enc/org/")
|
|
||||||
|
|
||||||
|
(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-enforce-todo-dependencies t)
|
||||||
(setq org-insert-heading-respect-content nil)
|
(setq org-insert-heading-respect-content nil)
|
||||||
(setq org-reverse-note-order nil)
|
(setq org-reverse-note-order nil)
|
||||||
(setq org-show-following-heading t)
|
(setq org-show-following-heading t)
|
||||||
(setq org-show-hierarchy-above t)
|
(setq org-show-hierarchy-above t)
|
||||||
(setq org-show-siblings nil)
|
|
||||||
(setq org-deadline-warning-days 7)
|
(setq org-deadline-warning-days 7)
|
||||||
(setq org-blank-before-new-entry (quote ((heading . t)
|
(setq org-blank-before-new-entry (quote ((heading . t)
|
||||||
(plain-list-item . nil))))
|
(plain-list-item . nil))))
|
||||||
|
@ -87,12 +99,40 @@
|
||||||
(setq org-log-done (quote time))
|
(setq org-log-done (quote time))
|
||||||
(setq org-log-into-drawer t)
|
(setq org-log-into-drawer t)
|
||||||
(setq org-catch-invisible-edits "smart")
|
(setq org-catch-invisible-edits "smart")
|
||||||
|
|
||||||
(setq org-completion-use-ido t)
|
(setq org-completion-use-ido t)
|
||||||
(setq org-use-property-inheritance nil)
|
(setq org-use-property-inheritance nil)
|
||||||
(setq org-duration-format 'h:mm)
|
(setq org-duration-format 'h:mm)
|
||||||
(setq org-hierarchical-todo-statistics t)
|
(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
|
(modify-all-frames-parameters
|
||||||
'((right-divider-width . 2)
|
'((right-divider-width . 2)
|
||||||
|
@ -153,7 +193,6 @@
|
||||||
(global-set-key "\C-cii" '(lambda () (interactive)
|
(global-set-key "\C-cii" '(lambda () (interactive)
|
||||||
(org-time-stamp-inactive '(16))))
|
(org-time-stamp-inactive '(16))))
|
||||||
|
|
||||||
(after! org
|
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence
|
'((sequence
|
||||||
"INBOX(i)"
|
"INBOX(i)"
|
||||||
|
@ -180,7 +219,7 @@
|
||||||
("WAIT" :foreground "yellow" :weight bold)
|
("WAIT" :foreground "yellow" :weight bold)
|
||||||
("HOLD" :foreground "orange" :weight bold)
|
("HOLD" :foreground "orange" :weight bold)
|
||||||
("DONE" :foreground "green" :weight bold)
|
("DONE" :foreground "green" :weight bold)
|
||||||
("KILL" :foreground "grey" :weight bold))))
|
("KILL" :foreground "grey" :weight bold)))
|
||||||
|
|
||||||
(add-hook 'org-insert-heading-hook
|
(add-hook 'org-insert-heading-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
@ -224,6 +263,15 @@
|
||||||
|
|
||||||
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images)
|
(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 ()
|
(defun org-super-links-quick-related ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((org-super-links-link-prefix "\nrelated: "))
|
(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 r") 'org-super-links-quick-related)
|
||||||
(global-set-key (kbd "C-c l d") 'org-super-links-delete-link)
|
(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)
|
(org-wild-notifier-mode)
|
||||||
|
|
||||||
(setq org-wild-notifier-alert-time '(10))
|
(setq org-wild-notifier-alert-time '(10))
|
||||||
|
@ -347,32 +334,12 @@
|
||||||
:empty-lines 1
|
:empty-lines 1
|
||||||
:unnarrowed)))
|
: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)
|
(global-set-key "\C-ca" 'org-agenda)
|
||||||
(define-prefix-command 'org-agenda-map)
|
(define-prefix-command 'org-agenda-map)
|
||||||
(global-set-key "\C-a" '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 "n" 'org-agenda-capture)
|
||||||
(define-key org-agenda-map "a" 'org-agenda)
|
(define-key org-agenda-map "a" 'org-agenda)
|
||||||
|
|
||||||
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
|
|
||||||
(setq org-agenda-start-day nil
|
(setq org-agenda-start-day nil
|
||||||
org-agenda-span '14
|
org-agenda-span '14
|
||||||
org-agenda-dim-blocked-tasks 'invisible
|
org-agenda-dim-blocked-tasks 'invisible
|
||||||
|
@ -396,12 +363,6 @@
|
||||||
(quote (("x" "Phil's view" agenda ""
|
(quote (("x" "Phil's view" agenda ""
|
||||||
((org-agenda-prefix-format " %i %-12:c %s %t "))))))
|
((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-deadline-if-done t)
|
||||||
|
|
||||||
(setq org-agenda-skip-scheduled-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-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-search-headline-for-time nil)
|
||||||
|
|
||||||
(setq org-agenda-window-setup 'current-window)
|
|
||||||
|
|
||||||
(setq org-agenda-include-diary t)
|
(setq org-agenda-include-diary t)
|
||||||
|
|
||||||
(setq org-agenda-repeating-timestamp-show-all 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-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-p") 'my-scroll-down-half)
|
||||||
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-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-format-date (lambda (date) (concat "\n"
|
||||||
;;(setq org-agenda-skip-deadline-prewarning-if-scheduled t)
|
(make-string (window-width) 9472)
|
||||||
|
"\n"
|
||||||
(setq org-global-properties (quote (("STYLE_ALL" . "habit"))))
|
(org-agenda-format-date-aligned date))))
|
||||||
|
|
||||||
(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-export-with-broken-links t)
|
(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 ()
|
(defun my-org-copy-region-as-markdown ()
|
||||||
"Copy the region (in Org) to the system clipboard as Markdown."
|
"Copy the region (in Org) to the system clipboard as Markdown."
|
||||||
(interactive)
|
(interactive)
|
||||||
|
|
|
@ -13,3 +13,4 @@
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
)
|
)
|
||||||
|
(put 'narrow-to-region 'disabled nil)
|
||||||
|
|
|
@ -81,17 +81,17 @@
|
||||||
|
|
||||||
:checkers
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
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
|
grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
;;ansible
|
ansible
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
;;biblio ; Writes a PhD for you (citation needed)
|
||||||
;;collab ; buffers with friends
|
;;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
|
;;direnv
|
||||||
;;docker
|
docker
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
editorconfig ; let someone else argue about tabs vs spaces
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
;;ein ; tame Jupyter notebooks with emacs
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
;;gist ; interacting with github gists
|
;;gist ; interacting with github gists
|
||||||
|
@ -117,7 +117,7 @@
|
||||||
;;agda ; types of types of types of types...
|
;;agda ; types of types of types of types...
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
(cc +lsp) ; C > C++ == 1
|
(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
|
common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
;;coq ; proofs-as-programs
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;crystal ; ruby at the speed of c
|
||||||
|
@ -143,8 +143,8 @@
|
||||||
;;idris ; a language you can depend on
|
;;idris ; a language you can depend on
|
||||||
json ; At least it ain't XML
|
json ; At least it ain't XML
|
||||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
julia ; a better, faster MATLAB
|
(julia +lsp) ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
latex ; writing papers in Emacs has never been so fun
|
latex ; writing papers in Emacs has never been so fun
|
||||||
;;lean ; for folks with too much to prove
|
;;lean ; for folks with too much to prove
|
||||||
|
@ -154,11 +154,11 @@
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
nix ; I hereby declare "nix geht mehr!"
|
nix ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;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
|
php ; perl's insecure younger brother
|
||||||
plantuml ; diagrams for confusing people more
|
plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
python ; beautiful is better than ugly
|
(python +lsp) ; beautiful is better than ugly
|
||||||
;;qt ; the 'cutest' gui framework ever
|
;;qt ; the 'cutest' gui framework ever
|
||||||
;;racket ; a DSL for DSLs
|
;;racket ; a DSL for DSLs
|
||||||
raku ; the artist formerly known as perl6
|
raku ; the artist formerly known as perl6
|
||||||
|
@ -168,14 +168,14 @@
|
||||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;;scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
;;(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
|
;;sml
|
||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
;;swift ; who asked for emoji variables?
|
;;swift ; who asked for emoji variables?
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
;;terra ; Earth and Moon in alignment for performance.
|
||||||
web ; the tubes
|
(web +lsp) ; the tubes
|
||||||
yaml ; JSON, but readable
|
yaml ; JSON, but readable
|
||||||
zig ; C, but simpler
|
(zig +lsp) ; C, but simpler
|
||||||
|
|
||||||
:email
|
:email
|
||||||
;;(mu4e +org +gmail)
|
;;(mu4e +org +gmail)
|
||||||
|
@ -192,4 +192,4 @@
|
||||||
|
|
||||||
:config
|
:config
|
||||||
;;literate
|
;;literate
|
||||||
(default +bindings +smartparens))
|
(default +bindings))
|
||||||
|
|
|
@ -22,10 +22,13 @@
|
||||||
|
|
||||||
;; (package! helm-xref)
|
;; (package! helm-xref)
|
||||||
|
|
||||||
|
(package! pdf-tools)
|
||||||
|
|
||||||
;; Fix for org-roam link issue
|
;; Fix for org-roam link issue
|
||||||
(package! org :pin "ca873f7")
|
|
||||||
(package! org-auto-tangle)
|
(package! org-auto-tangle)
|
||||||
(package! ox-slack)
|
(package! ox-slack)
|
||||||
|
(package! ox-tufte)
|
||||||
|
(package! org-special-block-extras)
|
||||||
(package! org-transclusion)
|
(package! org-transclusion)
|
||||||
(package! org-modern)
|
(package! org-modern)
|
||||||
(package! org-ql)
|
(package! org-ql)
|
||||||
|
|
|
@ -10,6 +10,12 @@ First line removes the path; second line sets it. Without the first line, your
|
||||||
#+begin_src fish
|
#+begin_src fish
|
||||||
set -e fish_user_paths
|
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 -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
|
#+end_src
|
||||||
|
|
||||||
* Exports
|
* Exports
|
||||||
|
@ -416,6 +422,14 @@ Occasionally my keyboard layout changes. I have not figured out why yet, but thi
|
||||||
function polish
|
function polish
|
||||||
setxkbmap -model pc104 -layout pl -option compose:rctrl
|
setxkbmap -model pc104 -layout pl -option compose:rctrl
|
||||||
end
|
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
|
#+end_src
|
||||||
** vps
|
** 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.
|
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 -e fish_user_paths
|
||||||
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $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 fish_greeting
|
||||||
set TERM "xterm-256color"
|
set TERM "xterm-256color"
|
||||||
set EDITOR "emacsclient -t -a ''"
|
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 tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
|
||||||
alias tofish="sudo chsh $USER -s /bin/fish && 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 tb="nc termbin.com 9999"
|
||||||
|
|
||||||
alias tips="lbrynet txo spend --type=support --is_not_my_input --blocking"
|
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
|
setxkbmap -model pc104 -layout pl -option compose:rctrl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function greek
|
||||||
|
setxkbmap -model pc104 -layout gr -option compose:rctrl
|
||||||
|
end
|
||||||
|
|
||||||
function vps
|
function vps
|
||||||
ssh -p 2222 phil@46.38.232.163 -i ~/.ssh/id_ed25519_nopass
|
ssh -p 2222 phil@46.38.232.163 -i ~/.ssh/id_ed25519_nopass
|
||||||
end
|
end
|
||||||
|
|
|
@ -133,6 +133,19 @@ bind = , Print, exec, hyprshot -m region
|
||||||
|
|
||||||
bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
|
bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
|
||||||
#+end_src
|
#+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
|
*** Workspaces
|
||||||
**** Show
|
**** Show
|
||||||
#+begin_src config
|
#+begin_src config
|
||||||
|
@ -336,4 +349,5 @@ bindm = $mainMod, mouse:273, resizewindow
|
||||||
** Autostart
|
** Autostart
|
||||||
#+begin_src config
|
#+begin_src config
|
||||||
exec-once=waybar
|
exec-once=waybar
|
||||||
|
exec-once=ydotoold
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
monitor=HDMI-A-1, 1920x1080@60, 0x0, 1
|
monitor=HDMI-A-1, 1920x1080@60, 0x0, 1
|
||||||
monitor=eDP-1, 1920x1080@165, 1920x0, 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 {
|
input {
|
||||||
kb_layout = pl
|
kb_layout = pl
|
||||||
|
@ -24,15 +26,12 @@ general {
|
||||||
|
|
||||||
decoration {
|
decoration {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
rounding = 0
|
rounding = 0
|
||||||
|
|
||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
size = 3
|
size = 3
|
||||||
passes = 1
|
passes = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
drop_shadow = yes
|
drop_shadow = yes
|
||||||
shadow_range = 4
|
shadow_range = 4
|
||||||
shadow_render_power = 3
|
shadow_render_power = 3
|
||||||
|
@ -60,7 +59,7 @@ master {
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
new_is_master = true
|
new_is_master = true
|
||||||
inherit_fullscreen = true
|
inherit_fullscreen = true
|
||||||
mfact = 0.6
|
mfact = 0.65
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
gestures {
|
||||||
|
@ -96,6 +95,17 @@ bind = , Print, exec, hyprshot -m region
|
||||||
|
|
||||||
bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
|
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
|
bind = $mainMod, S, submap, show
|
||||||
submap = show
|
submap = show
|
||||||
bind = , 1, moveworkspacetomonitor, name:1 current
|
bind = , 1, moveworkspacetomonitor, name:1 current
|
||||||
|
@ -276,7 +286,7 @@ bind = , q, movetoworkspacesilent, name:q
|
||||||
bind = , q, submap, reset
|
bind = , q, submap, reset
|
||||||
bind = , z, movetoworkspacesilent, name:z
|
bind = , z, movetoworkspacesilent, name:z
|
||||||
bind = , z, submap, reset
|
bind = , z, submap, reset
|
||||||
bind = , p, movetoworkspacesilent, name:tp
|
bind = , p, movetoworkspacesilent, name:p
|
||||||
bind = , p, submap, reset
|
bind = , p, submap, reset
|
||||||
bind=,escape,submap,reset
|
bind=,escape,submap,reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
@ -290,3 +300,4 @@ bindm = $mainMod, mouse:272, movewindow
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
exec-once=waybar
|
exec-once=waybar
|
||||||
|
exec-once=ydotoold
|
||||||
|
|
|
@ -280,6 +280,10 @@ Dunst for notifications.
|
||||||
#+begin_src haskell
|
#+begin_src haskell
|
||||||
spawnOnce "dunst"
|
spawnOnce "dunst"
|
||||||
#+end_src
|
#+end_src
|
||||||
|
***** Compositing - picom
|
||||||
|
#+begin_src haskell
|
||||||
|
spawnOnce "picom -b"
|
||||||
|
#+end_src
|
||||||
***** Activity Watch
|
***** 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.
|
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
|
#+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")
|
, ("M-<Print>", spawn "dm-maim")
|
||||||
, ("<Print>", spawn "flameshot gui")
|
, ("<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
|
#+end_src
|
||||||
*** XMonad.Prompt.OrgMode
|
*** XMonad.Prompt.OrgMode
|
||||||
#+begin_src haskell
|
#+begin_src haskell
|
||||||
|
|
|
@ -146,6 +146,8 @@ myStartupHook = do
|
||||||
|
|
||||||
spawnOnce "dunst"
|
spawnOnce "dunst"
|
||||||
|
|
||||||
|
spawnOnce "picom -b"
|
||||||
|
|
||||||
spawnOnce "aw-server"
|
spawnOnce "aw-server"
|
||||||
spawnOnce "aw-watcher-afk"
|
spawnOnce "aw-watcher-afk"
|
||||||
spawnOnce "aw-watcher-window"
|
spawnOnce "aw-watcher-window"
|
||||||
|
@ -342,6 +344,9 @@ main = do
|
||||||
, ("M-<Print>", spawn "dm-maim")
|
, ("M-<Print>", spawn "dm-maim")
|
||||||
, ("<Print>", spawn "flameshot gui")
|
, ("<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 i", orgPrompt def "TODO" "~/enc/org/inbox.org")
|
||||||
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org")
|
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org")
|
||||||
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org")
|
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org")
|
||||||
|
|
Loading…
Reference in a new issue