From 4a0a463ae98dc2e2d3783e0023af5e201507c9e7 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Sun, 22 Sep 2024 11:48:16 +0200 Subject: [PATCH 01/28] Update feeds --- init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.el b/init.el index a20fbbf3..7083e89f 100755 --- a/init.el +++ b/init.el @@ -1323,6 +1323,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("https://ourworldindata.org/atom.xml" data world) ("https://www.amazon.science/index.rss" science blog amazon data) ("https://feed.theregister.com/atom?a=Liam%20Proven" register foss) + ("https://benswift.me/feed.xml" blog creative technology emacs computing) )) (setq elfeed-search-filter "@7-day-ago +unread") (let ((feeds (expand-file-name "~/feeds.el"))) From 75ad2ea91b07e2ac80cc11a11ab9f9361863d7ec Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Sun, 22 Sep 2024 14:38:38 +0200 Subject: [PATCH 02/28] Add function to resize frame --- bundle/bundle--mk.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index f362cbd7..d49ee26c 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -520,5 +520,12 @@ an ALIAS and SERVICE as arguments and call (global-set-key (kbd "") 'mk/toggle-frame-decorations) +(defun mk/set-frame-size-85x50 () + "Set the current frame's size to 85 columns by 50 rows." + (interactive) + (set-frame-size (selected-frame) 85 50)) + +(global-set-key (kbd "C-") #'mk/set-frame-size-85x50) + (provide 'bundle-mk) ;;; bundle-mk.el ends here From c861e4ffe6544fc39b21b2cabe7856ac065d4f5f Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Sun, 22 Sep 2024 14:38:53 +0200 Subject: [PATCH 03/28] Update custom gnu file --- bundle/custom_gnu.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bundle/custom_gnu.el b/bundle/custom_gnu.el index 3b10230b..b486ec3b 100644 --- a/bundle/custom_gnu.el +++ b/bundle/custom_gnu.el @@ -34,6 +34,10 @@ ("FIXME" . "#dc752f") ("XXX+" . "#dc752f") ("\\?\\?\\?+" . "#dc752f"))) + '(ignored-local-variable-values + '((Base . 10) + (Package . HUNCHENTOOT) + (Syntax . COMMON-LISP))) '(inferior-lisp-program "/usr/bin/sbcl --noinform" t) '(initial-buffer-choice "~/Documents/org/agenda/tasks.org") '(initial-frame-alist '((fullscreen . maximized) (undecorated . t))) From 14ac803fcfa2c418f9de9f9f77b19f1b13f0665e Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 23 Sep 2024 17:38:18 +0200 Subject: [PATCH 04/28] Some changes to init file to increase loading speed --- init.el | 197 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 102 insertions(+), 95 deletions(-) diff --git a/init.el b/init.el index 57bf7cb8..66784000 100755 --- a/init.el +++ b/init.el @@ -1,4 +1,5 @@ -(setq package-quickstart t) +(setq gc-cons-threshold 100000000) +(add-hook 'after-init-hook (lambda () (setq gc-cons-threshold 800000))) ;; (add-hook 'emacs-startup-hook ;; (lambda () @@ -462,6 +463,7 @@ (require 'shrface)) (use-package nov + :defer t :hook ((nov-mode . visual-line-mode) (nov-mode . mk/nov-font-settings)) :mode ("\\.epub\\'" . nov-mode) @@ -487,6 +489,7 @@ (use-package sql + :defer t :config (setq sql-connection-alist '((finance-db @@ -616,6 +619,7 @@ :render (gt-buffer-render)))) (use-package magit + :defer t :bind ("C-x g" . magit-status) :init (when (eq system-type 'windows-nt) @@ -1244,100 +1248,101 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (use-package elfeed :bind ("C-x w" . elfeed) - :init - (setq elfeed-feeds - '(("https://netzpolitik.org/feed/" netz politik news) - ("https://www.marcuskammer.dev/weblog/index.xml" personal) - ("https://www.guyrutenberg.com/feed/" linux blog) - ("https://blog.mozilla.org/en/feed/" browser web) - ("https://blog.chromium.org/feeds/posts/default" browser web) - ("https://hacks.mozilla.org/feed/" browser web) - ("https://mailbox.org/share/feed-de-mailbox.xml" email mailbox web) - ("https://feeds.feedburner.com/GoogleWebFonts" fonts blog google) - ("https://twobithistory.org/feed.xml" history blog coding) - ("https://blog.getbootstrap.com/feed.xml" web bootstrap blog) - ("https://blog.mozilla.org/en/feed/" web firefox blog) - ("https://fsfe.org/news/news.de.rss" fsfe news free-software) - ("https://planet.lisp.org/rss20.xml" planet lisp) - ("https://emacsconf.org/index.atom" emacs lisp conference) - ("https://jameshunt.us/feeds/main" lisp blog) - ("https://xenodium.com/rss.xml" emacs blog) - ("https://stevelosh.com/rss.xml" lisp blog personal) - ("https://planet.lisp.org/rss20.xml" lisp blogs) - ("https://m-x-erlangen.gitlab.io/atom.xml" lisp meetup) - ("https://takeonrules.com/index.atom" lisp emacs blog) - ("https://emacsredux.com/atom.xml" emacs blog) - ("https://planet.emacslife.com/atom.xml" emacs) - ("https://yiming.dev/rss.xml" coding emacs lisp blog) - ("https://endlessparentheses.com/atom.xml" emacs elisp blog) - ("https://www.philnewton.net/blog/feed/" emacs blog) - ("https://emacsredux.com/atom.xml" emacs blog) - ("https://marcus3santos.github.io/index.xml" emacs blog) - ("https://olddeuteronomy.github.io/index.xml" emacs blog) - ("https://www.colinmclear.net/posts/index.xml" research emacs blog) - ("https://howardism.org/index.xml" emacs blog) - ("https://www.timmons.dev/rss.xml" lisp blog) - ("https://batsov.com/atom.xml" lisp emacs blog) - ("https://notes.eatonphil.com/rss.xml" lisp emacs blog) - ("https://stackoverflow.com/feeds/tag?tagnames=hunchentoot&sort=newest" lisp stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=common-lisp&sort=newest" lisp stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=elisp&sort=newest" lisp emacs stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=org-mode&sort=newest" emacs orgmode stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=xmpp&sort=newest" xmpp stackoverflow) - ;;("https://stackoverflow.com/feeds/tag?tagnames=postgresql&sort=newest" sql stackoverflow) - ;;("https://stackoverflow.com/feeds/tag?tagnames=mariadb&sort=newest" sql stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=guile&sort=newest" guile scheme lisp stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=sbcl&sort=newest" sbcl lisp stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=sbcl+emacs&sort=newest" sbcl emacs lisp stackoverflow) - ("https://stackoverflow.com/feeds/tag?tagnames=sbcl+common-lisp+linux&sort=newest" sbcl lisp linux stackoverflow) - ("https://sourceforge.net/p/sbcl/activity/feed" lisp sbcl) - ("https://fukamachi.hashnode.dev/rss.xml" lisp blog) - ("https://sourceforge.net/projects/sbcl/rss?path=/sbcl" lisp sbcl sourceforge) - ("https://threatpost.com/feed/" security) - ("https://krebsonsecurity.com/feed/" security blog) - ("https://www.schneier.com/feed/atom/" security blog) - ("https://www.nngroup.com/feed/rss/" ux design) - ("https://feedpress.me/UXmatters" ux design) - ("https://uxmovement.com/feed" ux design) - ("https://www.uxbeginner.com/feed/" ux design) - ("https://jeffgothelf.com/feed/" lean ux design blog) - ("https://uxwritinghub.com/feed/" ux writing blog) - ("https://www.w3.org/WAI/feed.xml" ux wai aria w3c) - ("https://measuringu.com/feed/" ux blog) - ("https://ux.stackexchange.com/feeds" ux stackexchange) - ("https://emacs.stackexchange.com/feeds" emacs stackexchange) - ("https://www.mdr.de/nachrichten/podcast/general/russland-angriff-krieg-ukraine100-podcast.xml" krieg ukraine podcast) - ("https://www.deutschlandfunk.de/umwelt-und-verbraucher-100.rss" umwelt verbraucher klima podcast) - ("https://jung-naiv.podigee.io/feed/mp3" politik podcast) - ("https://www.ndr.de/nachrichten/info/podcast4696.xml" podcast umwelt klima) - ("https://ct-uplink.podigee.io/feed/mp3" podcast technik computer) - ("https://feeds.soundcloud.com/users/soundcloud:users:261098918/sounds.rss" podcast osint) - ("https://hacks.mozilla.org/feed/" blog firefox web) - ("https://karthinks.com/index.xml" blog emacs) - ("https://www.destatis.de/SiteGlobals/Functions/RSSFeed/DE/RSSNewsfeed/Aktuell.xml" destatis aktuelles presse) - ("http://www.umweltbundesamt.de/rss/presse" uba aktuelles presse) - ("https://www.test.de/rss/geldanlage-banken/" test geld finanzen) - ("https://www.test.de/rss/steuern-recht/" test steuern recht) - ("https://thefetishistas.com/feed/" latex fetish news) - ("https://tonsky.me/atom.xml" blog computer) - ("https://www.copernicus.eu/news/rss" klima) - ("https://gegenblende.dgb.de/@@rss?count=10&feed=b3b8f76e-53f1-11e6-a380-525400e5a74a" arbeit gewerkschaft news) - ("https://drewdevault.com/blog/index.xml" blog programming computer) - ("https://inkppl.com/en/rss.xml" tattoo magazin people culture) - ("https://novaramedia.com/feed/" politics capitalism climate left media) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UCN29LJGZ8FY30ysxdTnDsaw" youtube video) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC5Ghe5TBQGYIOANuiNW4hDQ" youtube video) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC0p5jTq6Xx_DosDFxVXnWaQ" youtube video) - ("https://www.youtube.com/feeds/videos.xml?channel_id=UC0p5jTq6Xx_DosDFxVXnWaQ" youtube video) - ("https://www.vag.de/rss/meldungen" ubahn opnv vag) - ("https://feeds.feedblitz.com/sethsblog" management author blog) - ("https://ourworldindata.org/atom-data-insights.xml" data world) - ("https://ourworldindata.org/atom.xml" data world) - ("https://www.amazon.science/index.rss" science blog amazon data) - ("https://feed.theregister.com/atom?a=Liam%20Proven" register foss) - ("https://benswift.me/feed.xml" blog creative technology emacs computing) - )) - (setq elfeed-search-filter "@7-day-ago +unread") + :init (setq elfeed-feeds + '(("https://netzpolitik.org/feed/" netz politik news) + ("https://www.marcuskammer.dev/weblog/index.xml" personal) + ("https://www.guyrutenberg.com/feed/" linux blog) + ("https://blog.mozilla.org/en/feed/" browser web) + ("https://blog.chromium.org/feeds/posts/default" browser web) + ("https://hacks.mozilla.org/feed/" browser web) + ("https://mailbox.org/share/feed-de-mailbox.xml" email mailbox web) + ("https://feeds.feedburner.com/GoogleWebFonts" fonts blog google) + ("https://twobithistory.org/feed.xml" history blog coding) + ("https://blog.getbootstrap.com/feed.xml" web bootstrap blog) + ("https://blog.mozilla.org/en/feed/" web firefox blog) + ("https://fsfe.org/news/news.de.rss" fsfe news free-software) + ("https://planet.lisp.org/rss20.xml" planet lisp) + ("https://emacsconf.org/index.atom" emacs lisp conference) + ("https://jameshunt.us/feeds/main" lisp blog) + ("https://xenodium.com/rss.xml" emacs blog) + ("https://stevelosh.com/rss.xml" lisp blog personal) + ("https://planet.lisp.org/rss20.xml" lisp blogs) + ("https://m-x-erlangen.gitlab.io/atom.xml" lisp meetup) + ("https://takeonrules.com/index.atom" lisp emacs blog) + ("https://emacsredux.com/atom.xml" emacs blog) + ("https://planet.emacslife.com/atom.xml" emacs) + ("https://yiming.dev/rss.xml" coding emacs lisp blog) + ("https://endlessparentheses.com/atom.xml" emacs elisp blog) + ("https://www.philnewton.net/blog/feed/" emacs blog) + ("https://emacsredux.com/atom.xml" emacs blog) + ("https://marcus3santos.github.io/index.xml" emacs blog) + ("https://olddeuteronomy.github.io/index.xml" emacs blog) + ("https://www.colinmclear.net/posts/index.xml" research emacs blog) + ("https://howardism.org/index.xml" emacs blog) + ("https://www.timmons.dev/rss.xml" lisp blog) + ("https://batsov.com/atom.xml" lisp emacs blog) + ("https://notes.eatonphil.com/rss.xml" lisp emacs blog) + ("https://stackoverflow.com/feeds/tag?tagnames=hunchentoot&sort=newest" lisp stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=common-lisp&sort=newest" lisp stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=elisp&sort=newest" lisp emacs stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=org-mode&sort=newest" emacs orgmode stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=xmpp&sort=newest" xmpp stackoverflow) + ;;("https://stackoverflow.com/feeds/tag?tagnames=postgresql&sort=newest" sql stackoverflow) + ;;("https://stackoverflow.com/feeds/tag?tagnames=mariadb&sort=newest" sql stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=guile&sort=newest" guile scheme lisp stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=sbcl&sort=newest" sbcl lisp stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=sbcl+emacs&sort=newest" sbcl emacs lisp stackoverflow) + ("https://stackoverflow.com/feeds/tag?tagnames=sbcl+common-lisp+linux&sort=newest" sbcl lisp linux stackoverflow) + ("https://sourceforge.net/p/sbcl/activity/feed" lisp sbcl) + ("https://fukamachi.hashnode.dev/rss.xml" lisp blog) + ("https://sourceforge.net/projects/sbcl/rss?path=/sbcl" lisp sbcl sourceforge) + ("https://threatpost.com/feed/" security) + ("https://krebsonsecurity.com/feed/" security blog) + ("https://www.schneier.com/feed/atom/" security blog) + ("https://www.nngroup.com/feed/rss/" ux design) + ("https://feedpress.me/UXmatters" ux design) + ("https://uxmovement.com/feed" ux design) + ("https://www.uxbeginner.com/feed/" ux design) + ("https://jeffgothelf.com/feed/" lean ux design blog) + ("https://uxwritinghub.com/feed/" ux writing blog) + ("https://www.w3.org/WAI/feed.xml" ux wai aria w3c) + ("https://measuringu.com/feed/" ux blog) + ("https://ux.stackexchange.com/feeds" ux stackexchange) + ("https://emacs.stackexchange.com/feeds" emacs stackexchange) + ("https://www.mdr.de/nachrichten/podcast/general/russland-angriff-krieg-ukraine100-podcast.xml" krieg ukraine podcast) + ("https://www.deutschlandfunk.de/umwelt-und-verbraucher-100.rss" umwelt verbraucher klima podcast) + ("https://jung-naiv.podigee.io/feed/mp3" politik podcast) + ("https://www.ndr.de/nachrichten/info/podcast4696.xml" podcast umwelt klima) + ("https://ct-uplink.podigee.io/feed/mp3" podcast technik computer) + ("https://feeds.soundcloud.com/users/soundcloud:users:261098918/sounds.rss" podcast osint) + ("https://hacks.mozilla.org/feed/" blog firefox web) + ("https://karthinks.com/index.xml" blog emacs) + ("https://www.destatis.de/SiteGlobals/Functions/RSSFeed/DE/RSSNewsfeed/Aktuell.xml" destatis aktuelles presse) + ("http://www.umweltbundesamt.de/rss/presse" uba aktuelles presse) + ("https://www.test.de/rss/geldanlage-banken/" test geld finanzen) + ("https://www.test.de/rss/steuern-recht/" test steuern recht) + ("https://thefetishistas.com/feed/" latex fetish news) + ("https://tonsky.me/atom.xml" blog computer) + ("https://www.copernicus.eu/news/rss" klima) + ("https://gegenblende.dgb.de/@@rss?count=10&feed=b3b8f76e-53f1-11e6-a380-525400e5a74a" arbeit gewerkschaft news) + ("https://drewdevault.com/blog/index.xml" blog programming computer) + ("https://inkppl.com/en/rss.xml" tattoo magazin people culture) + ("https://novaramedia.com/feed/" politics capitalism climate left media) + ("https://www.youtube.com/feeds/videos.xml?channel_id=UCN29LJGZ8FY30ysxdTnDsaw" youtube video) + ("https://www.youtube.com/feeds/videos.xml?channel_id=UC5Ghe5TBQGYIOANuiNW4hDQ" youtube video) + ("https://www.youtube.com/feeds/videos.xml?channel_id=UC0p5jTq6Xx_DosDFxVXnWaQ" youtube video) + ("https://www.youtube.com/feeds/videos.xml?channel_id=UC0p5jTq6Xx_DosDFxVXnWaQ" youtube video) + ("https://www.vag.de/rss/meldungen" ubahn opnv vag) + ("https://feeds.feedblitz.com/sethsblog" management author blog) + ("https://ourworldindata.org/atom-data-insights.xml" data world) + ("https://ourworldindata.org/atom.xml" data world) + ("https://www.amazon.science/index.rss" science blog amazon data) + ("https://feed.theregister.com/atom?a=Liam%20Proven" register foss) + ("https://benswift.me/feed.xml" blog creative technology emacs computing) + )) + :custom + (elfeed-search-filter "@7-day-ago +unread") + :config (let ((feeds (expand-file-name "~/feeds.el"))) (when (file-exists-p feeds) (load-file feeds)))) @@ -1655,6 +1660,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("columns" "fullflexible"))) (org-latex-inputenc-alist '((\"utf8\" . \"utf8x\"))) :config + (add-to-list 'org-file-apps '("\\.pdf\\'" . emacs)) (if (eq system-type 'windows-nt) (setq org-babel-python-command "python") (setq org-babel-python-command "python3")) @@ -1943,6 +1949,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (require 'request) (use-package org-roam + :defer t :after org :init (setq org-roam-db-autosync-mode t) From e95e41b3a6538bbb2cb8df311928c1094446750e Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 23 Sep 2024 17:39:16 +0200 Subject: [PATCH 05/28] Clean up custom win32 file --- bundle/custom_win32_EVG03435NB.el | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/bundle/custom_win32_EVG03435NB.el b/bundle/custom_win32_EVG03435NB.el index cb6885f6..4253c4ae 100644 --- a/bundle/custom_win32_EVG03435NB.el +++ b/bundle/custom_win32_EVG03435NB.el @@ -3,15 +3,11 @@ ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. - '(Info-additional-directory-list '("~/.emacs.d/info")) - '(Info-default-directory-list '("%emacs_dir%/share/info/")) '(ansi-color-faces-vector [default default default italic underline success warning error]) '(backup-directory-alist '(("." . "~/.backup_filez"))) '(beacon-color "#d54e53") '(bookmark-default-file "~/bookmarks.el") - '(company-quickhelp-color-background "#q4F4F4F") - '(company-quickhelp-color-foreground "#DCDCCC") '(custom-enabled-themes '(doom-one)) '(custom-safe-themes '("88f7ee5594021c60a4a6a1c275614103de8c1435d6d08cc58882f920e0cec65e" "8d3ef5ff6273f2a552152c7febc40eabca26bae05bd12bc85062e2dc224cde9a" "00cec71d41047ebabeb310a325c365d5bc4b7fab0a681a2a108d32fb161b4006" "7e068da4ba88162324d9773ec066d93c447c76e9f4ae711ddd0c5d3863489c52" "7ea883b13485f175d3075c72fceab701b5bf76b2076f024da50dff4107d0db25" "02f57ef0a20b7f61adce51445b68b2a7e832648ce2e7efb19d217b6454c1b644" "1a1ac598737d0fcdc4dfab3af3d6f46ab2d5048b8e72bc22f50271fd6d393a00" "e7820b899036ae7e966dcaaec29fd6b87aef253748b7de09e74fdc54407a7a02" "1781e8bccbd8869472c09b744899ff4174d23e4f7517b8a6c721100288311fa5" "de8f2d8b64627535871495d6fe65b7d0070c4a1eb51550ce258cd240ff9394b0" default)) @@ -21,7 +17,6 @@ '(doom-modeline-env-version nil) '(flycheck-color-mode-line-face-to-color 'mode-line-buffer-id) '(frame-background-mode 'dark) - '(gptel-use-curl nil) '(hl-todo-keyword-faces '(("TODO" . "#dc752f") ("NEXT" . "#dc752f") @@ -52,7 +47,7 @@ '(ol-bbdb ol-bibtex ol-docview ol-eww ol-gnus ol-info ol-irc ol-mhe ol-rmail org-tempo ol-w3m)) '(org-roam-directory "~/OneDrive - Siemens AG/org/") '(package-selected-packages - '(paredit auto-complete terraform-mode wallabag anki dockerfile-mode docker erc-image erc-hl-nicks common-lisp-snippets yasnippet yaml-mode which-key web-mode typescript-mode ssh-config-mode slime simple-httpd shrface rainbow-delimiters plantuml-mode ox-reveal org-web-tools org-tree-slide org-roam olivetti ob-restclient ob-http nov nginx-mode mastodon markdown-mode magit json-navigator js2-mode jq-format jabber htmlize helpful gptel go-translate go-mode flymake-json emojify elfeed doom-themes doom-modeline csv-mode auctex all-the-icons-dired ace-window)) + '(yaml-mode which-key web-mode typescript-mode terraform-mode ssh-config-mode slime simple-httpd shrface rainbow-delimiters plantuml-mode paredit ox-reveal org-web-tools org-tree-slide org-roam olivetti ob-restclient ob-powershell ob-http nov nginx-mode mastodon markdown-mode magit js2-mode jq-format jabber htmlize helpful gptel go-translate gnuplot flymake-json erc-image erc-hl-nicks emojify elfeed doom-themes dockerfile-mode docker dashboard csv-mode auctex all-the-icons-dired ace-window)) '(reb-re-syntax 'string) '(ring-bell-function 'ignore) '(scroll-step 5) @@ -74,4 +69,4 @@ ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. - '(variable-pitch ((t (:height 114 :family "Noto Serif"))))) + ) From 4019155ffc80b68303c33527ac273f6fa9017516 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 26 Sep 2024 18:16:40 +0200 Subject: [PATCH 06/28] Update fonts in org-mode --- init.el | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/init.el b/init.el index 66784000..3626915f 100755 --- a/init.el +++ b/init.el @@ -1688,13 +1688,11 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ;; work with org-agenda dispatcher [c] "Today Clocked Tasks" to view today's clocked tasks. :custom-face (org-tag ((t (:weight normal :height 0.8)))) - (org-level-1 ((t (:inherit outline-1 :height 1.6)))) - (org-level-2 ((t (:inherit outline-2 :height 1.4)))) - (org-level-3 ((t (:inherit outline-3 :height 1.2)))) - (org-level-4 ((t (:inherit outline-4 :height 1.0)))) - (org-level-5 ((t (:inherit outline-5 :height 1.0))))) - - + (org-level-1 ((t (:slant italic :inherit outline-1 :height 1.6)))) + (org-level-2 ((t (:slant italic :inherit outline-2 :height 1.4)))) + (org-level-3 ((t (:slant italic :inherit outline-3 :height 1.2)))) + (org-level-4 ((t (:slant italic :inherit outline-4 :height 1.0)))) + (org-level-5 ((t (:slant italic :inherit outline-5 :height 1.0))))) ;; Define custom LaTeX class with specific formatting (with-eval-after-load 'ox-latex From 0d3d39b1090e5c95beca4d1084b539ebccf08d00 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 26 Sep 2024 18:17:09 +0200 Subject: [PATCH 07/28] Add function to open shell at the bottom --- bundle/bundle--mk.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index d49ee26c..ceda75e8 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -527,5 +527,14 @@ an ALIAS and SERVICE as arguments and call (global-set-key (kbd "C-") #'mk/set-frame-size-85x50) +(defun shell-new-bottom () + "Open a shell window in the bottom third of the current window." + (interactive) + (let* ((current-window (selected-window)) + (new-window (split-window-below (- (window-height) (/ (window-height) 3))))) + (select-window new-window) + (shell) + (select-window current-window))) + (provide 'bundle-mk) ;;; bundle-mk.el ends here From 6c54d916ce8690f29cb5a4847e4307b3edf37b74 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 26 Sep 2024 18:19:51 +0200 Subject: [PATCH 08/28] Update window-frame-size --- bundle/bundle--mk.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index d49ee26c..5f37346b 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -523,7 +523,7 @@ an ALIAS and SERVICE as arguments and call (defun mk/set-frame-size-85x50 () "Set the current frame's size to 85 columns by 50 rows." (interactive) - (set-frame-size (selected-frame) 85 50)) + (set-frame-size (selected-frame) 92 58)) (global-set-key (kbd "C-") #'mk/set-frame-size-85x50) From 271c00e4b85ed0dc4914344a95f7e81ea13dc311 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 26 Sep 2024 20:10:27 +0200 Subject: [PATCH 09/28] Update feeds --- init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.el b/init.el index 3626915f..47950535 100755 --- a/init.el +++ b/init.el @@ -1339,6 +1339,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("https://www.amazon.science/index.rss" science blog amazon data) ("https://feed.theregister.com/atom?a=Liam%20Proven" register foss) ("https://benswift.me/feed.xml" blog creative technology emacs computing) + ("https://media.rss.com/l0wl1f3podcast/feed.xml" cyberpunk podcast) )) :custom (elfeed-search-filter "@7-day-ago +unread") From 71b32782e39f030103205be1b4946f470694902b Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 27 Sep 2024 21:03:47 +0200 Subject: [PATCH 10/28] Set python-interpreter --- init.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init.el b/init.el index 47950535..94b02013 100755 --- a/init.el +++ b/init.el @@ -597,6 +597,10 @@ ("\\.j2" . python-mode)) :hook (python-mode . abbrev-mode) :init + (setq python-interpreter + (cond ((executable-find "python3") "python3") + ((executable-find "python") "python") + (t "python3"))) (setq python-indent-guess-indent-offset nil) (setq python-indent-offset 4) (setq python-shell-interpreter "ipython") From 1b56d5ab0eb5dab0dac1dcfd6a230ca3587b0dda Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 30 Sep 2024 13:46:36 +0200 Subject: [PATCH 11/28] Update emoji package --- init.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/init.el b/init.el index 94b02013..69319819 100755 --- a/init.el +++ b/init.el @@ -242,10 +242,11 @@ :commands emojify-mode :config (when (member "Segoe UI Emoji" (font-family-list)) - ;; https://ianyepan.github.io/posts/emacs-emojis/ - (set-fontset-font t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend) - (setq emojify-display-style 'unicode) - (setq emojify-emoji-styles '(unicode)))) + (set-fontset-font + t 'symbol (font-spec :family "Segoe UI Emoji") nil 'prepend)) + (setq emojify-display-style 'unicode) + (setq emojify-emoji-styles '(unicode)) + (bind-key* (kbd "C-c .") #'emojify-insert-emoji)) ;; (defun my-vc-info () ;; (when vc-mode From e712a1fa3aa6980092157af85b6e32f782221c79 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 30 Sep 2024 13:46:46 +0200 Subject: [PATCH 12/28] Update feeds --- init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.el b/init.el index 69319819..15696edf 100755 --- a/init.el +++ b/init.el @@ -1345,6 +1345,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("https://feed.theregister.com/atom?a=Liam%20Proven" register foss) ("https://benswift.me/feed.xml" blog creative technology emacs computing) ("https://media.rss.com/l0wl1f3podcast/feed.xml" cyberpunk podcast) + ("https://sachachua.com/blog/feed/" emacs blog lisp programming) )) :custom (elfeed-search-filter "@7-day-ago +unread") From 78a10d0e703cbb59a001d4fcee8ae3a1554f55de Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 30 Sep 2024 13:47:09 +0200 Subject: [PATCH 13/28] Update komageneral styles --- .../latex/mycustomstyles/auto/komageneral.el | 20 ++++- .../tex/latex/mycustomstyles/komageneral.sty | 79 ++++++++++++++----- 2 files changed, 78 insertions(+), 21 deletions(-) diff --git a/texmf/tex/latex/mycustomstyles/auto/komageneral.el b/texmf/tex/latex/mycustomstyles/auto/komageneral.el index 6a1d0aa9..5e4f7a1f 100644 --- a/texmf/tex/latex/mycustomstyles/auto/komageneral.el +++ b/texmf/tex/latex/mycustomstyles/auto/komageneral.el @@ -1,11 +1,29 @@ +;; -*- lexical-binding: t; -*- + (TeX-add-style-hook "komageneral" (lambda () (setq TeX-command-extra-options "-shell-escape") + (TeX-add-to-alist 'LaTeX-provided-package-options + '(("fontspec" "") ("geometry" "") ("scrlayer-scrpage" "") ("titlesec" "") ("enumitem" "") ("caption" "") ("fancyhdr" "") ("microtype" "") ("biblatex" "") ("graphicx" "") ("etoolbox" ""))) (TeX-run-style-hooks "fontspec" "geometry" - "scrlayer-scrpage")) + "scrlayer-scrpage" + "titlesec" + "enumitem" + "caption" + "fancyhdr" + "microtype" + "biblatex" + "graphicx" + "etoolbox") + (TeX-add-symbols + '("TitlePage" 2) + '("code" 1) + '("important" 1)) + (LaTeX-add-bibliographies + "yourbibliography")) :latex) diff --git a/texmf/tex/latex/mycustomstyles/komageneral.sty b/texmf/tex/latex/mycustomstyles/komageneral.sty index dbd95fb5..613e3c65 100644 --- a/texmf/tex/latex/mycustomstyles/komageneral.sty +++ b/texmf/tex/latex/mycustomstyles/komageneral.sty @@ -1,24 +1,63 @@ \ProvidesPackage{komageneral} -% Font settings + +% Base packages \usepackage{fontspec} -\defaultfontfeatures{Ligatures=TeX, RawFeature={+zero, +liga}} -\setmainfont{Noto Serif Regular}[BoldFont={Noto Serif Bold},ItalicFont={Noto Serif Italic}] -\setsansfont{Noto Sans Regular}[BoldFont={Noto Sans Bold},ItalicFont={Noto Sans Italic}] -\setmonofont{Noto Sans Mono Condensed}[BoldFont={Noto Sans Mono Condensed Bold},Scale=0.8] -% Geometry settings \usepackage{geometry} -\geometry{a4paper,left=2cm,right=2cm,top=1.6cm,bottom=1.6cm} -% Header and section settings \usepackage{scrlayer-scrpage} -\pagestyle{scrheadings} -\clearpairofpagestyles -\automark{section} -\ihead{\headmark} -\ohead{\thepage} -% Section command redeclarations -\setkomafont{section}{\Large\bfseries\sffamily} -\setkomafont{subsection}{\large\bfseries\sffamily} -\setkomafont{subsubsection}{\normalsize\bfseries\sffamily} -\RedeclareSectionCommand[beforeskip=-2\baselineskip,afterskip=0.5\baselineskip]{section} -\RedeclareSectionCommand[beforeskip=-1.5\baselineskip,afterskip=0.25\baselineskip]{subsection} -\RedeclareSectionCommand[beforeskip=-1\baselineskip,afterskip=0.1\baselineskip]{subsubsection} +\usepackage{titlesec} +\usepackage{enumitem} +\usepackage{caption} +\usepackage{fancyhdr} +\usepackage{microtype} +\usepackage{biblatex} +\usepackage{graphicx} % Added for including images +\addbibresource{yourbibliography.bib} + +% Font settings +\defaultfontfeatures{Ligatures=TeX, RawFeature={+zero, +liga}} +\setmainfont{Noto Serif Regular}[BoldFont={Noto Serif Bold}, ItalicFont={Noto Serif Italic}] +\setsansfont{Noto Sans Regular}[BoldFont={Noto Sans Bold}, ItalicFont={Noto Sans Italic}] +\setmonofont{Noto Sans Mono}[BoldFont={Noto Sans Mono Bold}, Scale=0.8] + +% Geometry settings +\geometry{a4paper, left=2cm, right=2cm, top=1.6cm, bottom=1.6cm} + +% Header and footer settings with fancyhdr +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{\nouppercase{\leftmark}} +\fancyhead[R]{\thepage} + +% Section formatting with titlesec +\titleformat{\section}{\Large\bfseries\sffamily}{\thesection}{1em}{} +\titleformat{\subsection}{\large\bfseries\sffamily}{\thesubsection}{1em}{} +\titleformat{\subsubsection}{\normalsize\bfseries\sffamily}{\thesubsubsection}{1em}{} + +% List formatting with enumitem +\setlist[itemize]{noitemsep, topsep=0pt} +\setlist[enumerate]{noitemsep, topsep=0pt} + +% Caption settings +\captionsetup{font=small, labelfont=bf} + +% Custom quote environment +\usepackage{etoolbox} +\AtBeginEnvironment{quote}{\itshape} + +% Custom formatting commands +\newcommand{\important}[1]{\textbf{#1}} +\newcommand{\code}[1]{\texttt{#1}} + +% Title page settings +\newcommand{\TitlePage}[2]{ % #1 - Logo file, #2 - Company name + \begin{titlepage} + \centering + \vspace*{1cm} + \includegraphics[width=0.3\textwidth]{#1}\par\vspace{1cm} + {\Huge\bfseries\sffamily #2\par} + \vspace{2cm} + {\Large\itshape An Elegant and Professional Document\par} + \vfill + {\large \today\par} + \end{titlepage} +} From 40a6cacf77abbe97c9bd1a3cbf2dbd39843dbd05 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:32:27 +0200 Subject: [PATCH 14/28] Update jabber --- init.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/init.el b/init.el index 15696edf..624d7d3a 100755 --- a/init.el +++ b/init.el @@ -683,14 +683,13 @@ (jabber-muc-autojoin '("lisp@conference.a3.pm" "emacs@conference.conversations.im" - "community@conference.jabber.fsfe.org" - "ml-survey@conference.mailbox.org" - "userexperience@conference.mailbox.org")) + "userexperience@conference.mailbox.org" + "metalisp@conference.mailbox.org")) (jabber-muc-default-nicknames '(("lisp@conference.a3.pm" . "marcus") ("emacs@conference.conversations.im" . "marcus") - ("ml-survey@conference.mailbox.org" . "marcus") - ("userexperience@conference.mailbox.org" . "marcus")))) + ("userexperience@conference.mailbox.org" . "marcus") + ("metalisp@conference.mailbox.org" . "marcus")))) ;; (use-package hyperbole ;; :config From bf4b43c159115b46d1651f64b3a14af2b5c70bbc Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:32:41 +0200 Subject: [PATCH 15/28] Update gptel --- init.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/init.el b/init.el index 624d7d3a..fcb8fefe 100755 --- a/init.el +++ b/init.el @@ -789,11 +789,12 @@ (setq gptel-model "claude-3-5-sonnet-20240620") (setq gptel-backend (gptel-make-anthropic "Claude" :stream t :key gptel-api-key)) (setq gptel-directives - '((default . "You are an expert Common Lisp developer specializing in web development with Hunchentoot and functional programming. Emphasize functional programming principles throughout, including pure functions, immutability, and higher-order functions. Provide concise code examples and best practices for each topic. You are using the following common lisp libraries: spinneret for html generation, hunchentoot as web server, and mito as ORM. If needed choose more libraries for different cases.") - (bash . "You are an experienced Bash scripting teacher. I want to learn how to write Bash scripts. Please explain concepts clearly, provide examples, and guide me through writing scripts step-by-step. Let's start with the basics and gradually move to more advanced topics. If I have questions or need further clarification, help me understand the material thoroughly.") - (cs-teacher . "You are a virtual teaching assistant for a high school computer science course. The course focuses on functional programming, data structures, and algorithms using Common Lisp. Your goal is to provide clear, engaging, and educational explanations, examples, and exercises to help students grasp complex concepts. Your responses should be appropriate for high school students, keeping explanations simple yet thorough.") - (statistic-teacher . "You are a virtual teaching assistant for a high school statistic and math course. The course focuses on statistics. Your goal is to provide clear, engaging, and educational explanations, examples, and exercises to help students grasp complex concepts. Your responses should be appropriate for high school students, keeping explanations simple yet thorough. Apply the theoretical concepts you are explaining to the field of user experience and usability and provide short examples.") - (cl-stats . "You are a high school math teacher specializing in teaching statistics. Your students are new to the subject and are eager to learn through clear, step-by-step explanations. Use simple language and real-world examples to make complex statistical concepts understandable. Focus on breaking down key ideas like mean, median, mode, standard deviation, probability, and hypothesis testing. Additionally, when providing coding examples, use Common Lisp with an emphasis on functional programming techniques. Ensure that the code is well-commented and easy for beginners to follow. Introduce students to basic functional programming concepts such as higher-order functions, recursion, and immutability within the context of statistical problems. Make sure to: Start with basic concepts and gradually progress to more advanced topics. Include practical examples and exercises that students can try on their own. Encourage critical thinking and exploration by posing questions and challenges related to the statistical material. Use functional programming principles when writing Common Lisp code, explaining how these principles apply to the statistical problem at hand. Be patient, encouraging, and supportive, as you would be in a real classroom.")))) + (append gptel-directives + '((lisp-dev . "You are an expert Common Lisp developer specializing in web development with Hunchentoot and functional programming. Emphasize functional programming principles throughout, including pure functions, immutability, and higher-order functions. Provide concise code examples and best practices for each topic. You are using the following common lisp libraries: spinneret for html generation, hunchentoot as web server, and mito as ORM. If needed choose more libraries for different cases.") + (bash . "You are an experienced Bash scripting teacher. I want to learn how to write Bash scripts. Please explain concepts clearly, provide examples, and guide me through writing scripts step-by-step. Let's start with the basics and gradually move to more advanced topics. If I have questions or need further clarification, help me understand the material thoroughly.") + (cs-teacher . "You are a virtual teaching assistant for a high school computer science course. The course focuses on functional programming, data structures, and algorithms using Common Lisp. Your goal is to provide clear, engaging, and educational explanations, examples, and exercises to help students grasp complex concepts. Your responses should be appropriate for high school students, keeping explanations simple yet thorough.") + (statistic-teacher . "You are a virtual teaching assistant for a high school statistic and math course. The course focuses on statistics. Your goal is to provide clear, engaging, and educational explanations, examples, and exercises to help students grasp complex concepts. Your responses should be appropriate for high school students, keeping explanations simple yet thorough. Apply the theoretical concepts you are explaining to the field of user experience and usability and provide short examples.") + (cl-stats . "You are a high school math teacher specializing in teaching statistics. Your students are new to the subject and are eager to learn through clear, step-by-step explanations. Use simple language and real-world examples to make complex statistical concepts understandable. Focus on breaking down key ideas like mean, median, mode, standard deviation, probability, and hypothesis testing. Additionally, when providing coding examples, use Common Lisp with an emphasis on functional programming techniques. Ensure that the code is well-commented and easy for beginners to follow. Introduce students to basic functional programming concepts such as higher-order functions, recursion, and immutability within the context of statistical problems. Make sure to: Start with basic concepts and gradually progress to more advanced topics. Include practical examples and exercises that students can try on their own. Encourage critical thinking and exploration by posing questions and challenges related to the statistical material. Use functional programming principles when writing Common Lisp code, explaining how these principles apply to the statistical problem at hand. Be patient, encouraging, and supportive, as you would be in a real classroom."))))) (use-package gnuplot :defer t) From 8f4ed809d35d3a1d0b1dd3ffb90c864a390bc00d Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:32:54 +0200 Subject: [PATCH 16/28] Update scheme settings --- init.el | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/init.el b/init.el index fcb8fefe..a9519015 100755 --- a/init.el +++ b/init.el @@ -1151,13 +1151,22 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (add-hook 'lisp-mode-hook 'g-init-lisp-font-lock)) (when (eq system-type 'gnu/linux) + (use-package cider + :defer t) (use-package geiser :init (setq geiser-repl-prompt-read-only t) (setq geiser-repl-highlight-error-messages t) - (setq geiser-active-implementations '(racket guile)) - (setq geiser-default-implementation 'guile) - :hook (scheme-mode . geiser-mode))) + (setq geiser-active-implementations '(chez guile)) + (setq geiser-default-implementation 'chez) + :hook (scheme-mode . geiser-mode)) + (use-package geiser-chez + :defer t + :after geiser) + (use-package geiser-guile + :defer t + :after geiser + :custom (geiser-guile-binary "guile"))) ;; (use-package racket-mode ;; :mode "\\.rkt\\'") @@ -1169,12 +1178,6 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ;; (when (eq system-type 'windows-nt) ;; (setq geiser-racket-binary "c:/Program Files/Racket/Racket.exe"))) -(when (eq system-type 'gnu/linux) - (use-package geiser-guile - :defer t - :after geiser - :custom (geiser-guile-binary "guile"))) - ;; (use-package ac-slime ;; :after (slime auto-complete) ;; :config From 2bf74578e98a60b0db00c836713b77c19d9d14ee Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:33:06 +0200 Subject: [PATCH 17/28] Update org level font size --- init.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/init.el b/init.el index a9519015..daf6abeb 100755 --- a/init.el +++ b/init.el @@ -1698,11 +1698,11 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ;; work with org-agenda dispatcher [c] "Today Clocked Tasks" to view today's clocked tasks. :custom-face (org-tag ((t (:weight normal :height 0.8)))) - (org-level-1 ((t (:slant italic :inherit outline-1 :height 1.6)))) + (org-level-1 ((t (:slant italic :inherit outline-1 :height 1.5)))) (org-level-2 ((t (:slant italic :inherit outline-2 :height 1.4)))) - (org-level-3 ((t (:slant italic :inherit outline-3 :height 1.2)))) - (org-level-4 ((t (:slant italic :inherit outline-4 :height 1.0)))) - (org-level-5 ((t (:slant italic :inherit outline-5 :height 1.0))))) + (org-level-3 ((t (:slant italic :inherit outline-3 :height 1.3)))) + (org-level-4 ((t (:slant italic :inherit outline-4 :height 1.2)))) + (org-level-5 ((t (:slant italic :inherit outline-5 :height 1.1))))) ;; Define custom LaTeX class with specific formatting (with-eval-after-load 'ox-latex From 79bba05afe2dd2ff244de334e5604890c03bcda9 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:33:19 +0200 Subject: [PATCH 18/28] Update feeds --- init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.el b/init.el index daf6abeb..40bb7467 100755 --- a/init.el +++ b/init.el @@ -1349,6 +1349,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("https://benswift.me/feed.xml" blog creative technology emacs computing) ("https://media.rss.com/l0wl1f3podcast/feed.xml" cyberpunk podcast) ("https://sachachua.com/blog/feed/" emacs blog lisp programming) + ("https://peertube.tv/feeds/videos.xml?videoChannelId=3483" lisp video) )) :custom (elfeed-search-filter "@7-day-ago +unread") From 88961b00509696a381dd3cf9b7d6152a70419632 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:33:31 +0200 Subject: [PATCH 19/28] Add split function --- bundle/bundle--mk.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index 00b2728a..ab64fb90 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -123,6 +123,9 @@ (dotimes (i (1- count-windows)) (split-window-below (- height))))) +(defun mk/split () + (mk/split-h3)) + (defun mk/split-h3 () (interactive) (mk/split-windows-horizontal 3)) From 39210a3ec77b66d324d3736954e038bd0ad9f30e Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Mon, 7 Oct 2024 10:33:44 +0200 Subject: [PATCH 20/28] Update eww-bookmarks --- eww-bookmarks | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eww-bookmarks b/eww-bookmarks index b87218f8..fd9206b3 100644 --- a/eww-bookmarks +++ b/eww-bookmarks @@ -1,5 +1,6 @@ ;; Auto-generated file; don't edit -*- mode: lisp-data -*- -((:url "https://netzpolitik.org/2024/aktionismus-gegen-deepfakes-da-wuerde-eine-neue-technik-pauschal-unter-strafe-gestellt/" :title "Aktionismus gegen Deepfakes: „Da würde eine neue Technik pauschal unter Strafe gestellt“" :time "Wed Jul 10 09:26:37 2024") +((:url "https://www.w3.org/TR/activitystreams-vocabulary/" :title "Activity Vocabulary" :time "Sat Oct 5 11:20:16 2024") + (:url "https://netzpolitik.org/2024/aktionismus-gegen-deepfakes-da-wuerde-eine-neue-technik-pauschal-unter-strafe-gestellt/" :title "Aktionismus gegen Deepfakes: „Da würde eine neue Technik pauschal unter Strafe gestellt“" :time "Wed Jul 10 09:26:37 2024") (:url "https://sqlite.org/cli.html" :title "Command Line Shell For SQLite" :time "Mon Oct 23 15:13:18 2023") (:url "https://mercurial-book.readthedocs.io/en/latest/index.html" :title "Mercurial: the definitive guide — Mercurial Book" :time "Fri Jun 16 09:31:32 2023") (:url "https://diataxis.fr/#" :title "Diátaxis" :time "Thu Jan 26 22:00:45 2023") From 80375deb97244343bc3e752f02554e45b43093b5 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:08:20 +0200 Subject: [PATCH 21/28] Update key to resize frame --- bundle/bundle--mk.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index ab64fb90..3ab15626 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -528,7 +528,7 @@ an ALIAS and SERVICE as arguments and call (interactive) (set-frame-size (selected-frame) 92 58)) -(global-set-key (kbd "C-") #'mk/set-frame-size-85x50) +(global-set-key (kbd "M-") #'mk/set-frame-size-85x50) (defun shell-new-bottom () "Open a shell window in the bottom third of the current window." From 07866b49f9f396332067411cfb20f7e47bd5a518 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:02 +0200 Subject: [PATCH 22/28] Move capture templates to specific file --- bundle/bundle--ct.el | 239 +++++++++++++++++++++++++++++++++++++++++++ init.el | 211 -------------------------------------- 2 files changed, 239 insertions(+), 211 deletions(-) create mode 100644 bundle/bundle--ct.el diff --git a/bundle/bundle--ct.el b/bundle/bundle--ct.el new file mode 100644 index 00000000..74349e3a --- /dev/null +++ b/bundle/bundle--ct.el @@ -0,0 +1,239 @@ +;;; bundle--ct.el --- Bunch of capture tempates -*- lexical-binding: t; -*- + +;; Copyright (C) 2024 Marcus Kammer + +;; Author: Marcus Kammer +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +;; Note Capture Template +;; Purpose: To capture general notes. These notes can optionally be linked to a currently clocked-in task. +;; Fields: Heading, optional task link, initial content, and a timestamp. +(add-to-list 'org-capture-templates + `("n" "Note" entry (file "notes.org") + ,(concat "* %? :NOTE:\n" + ":PROPERTIES:\n" + ":ID: %(org-id-new)\n" + "%(mk/link-to-current-task)" + ":END:\n" + "Entered on: %U\n"))) + +;; Task Capture Template +;; Purpose: To capture tasks and automatically assign a unique ID to each task. +;; Fields: Heading, unique ID, timestamp, and link to where the capture was made. +(add-to-list 'org-capture-templates + `("t" "Task" entry (file "agenda/tasks.org") + ,(format "* TODO %%? :TASK:\n:PROPERTIES:\n:ID: %s\n:Project: %%^{Project}\n:END:\nEntered on %%U\n" (org-id-new)))) + +;; Journal Capture Template +;; Purpose: To capture end-of-day reflections. +;; Fields: Heading, timestamp, and prompts for what went well, what could be improved, and focus for tomorrow. +(add-to-list 'org-capture-templates + '("j" "Journal" entry (file+olp+datetree "agenda/journal.org") + "* %T - End of Day Reflection :JOURNAL:\n- Was ist heute gut gelaufen?\n %?\n- Was könnte verbessert werden?\n \n- Worauf konzentriere ich mich morgen?\n " + :empty-lines 1)) + +;; Updated Appointment Capture Template +;; Purpose: To capture and plan detailed appointments with agenda and preparation tasks. +;; Fields: Title, Date/Time, Location, Attendees, Agenda Items, Preparation Tasks, Notes. +(add-to-list 'org-capture-templates + '("a" "Appointment" entry (file "agenda/appt.org") + "* %^{Title} %^g + :PROPERTIES: + :LOCATION: %^{Location} + :ATTENDEES: %^{Attendees} + :END: + %^{Date}t + ** Agenda + %? + ** Preparation Tasks + - [ ] + - [ ] + - [ ] + ** Notes + " :empty-lines 1)) + +;; Meeting Capture Template +;; Purpose: To capture meeting notes and automatically start a clock for time tracking. +;; Fields: Topic, timestamp, and additional notes. +(add-to-list 'org-capture-templates + '("m" "Meeting" entry (file "agenda/meetings.org") + "* %^{Topic} \n%T\n%?" + :clock-in t + :empty-lines 1)) + +;; Log Capture Template +;; Purpose: To capture activities in a chronological order and automatically start a clock for time tracking. +;; Fields: Timestamp, activity description. +(add-to-list 'org-capture-templates + '("l" "Log" entry (file+olp+datetree "logbook.org") + "* %T - %^{Activity} :LOG:\n%?" + :clock-in t + :empty-lines 1)) + +;; UTM Parameters Capture Template +;; Purpose: To capture UTM parameters for marketing tracking. +;; Fields: Campaign name, source, medium, term, and content. +(add-to-list 'org-capture-templates + '("u" "UTM Parameters" entry (file+headline "utm.org" "UTM Parameters") + "* %^{Campaign Name}\n:PROPERTIES:\n:Source: %^{utm_source}\n:Medium: %^{utm_medium}\n:Term: %^{utm_term}\n:Content: %^{utm_content}\n:END:\n")) + +;; Bookmark Capture Template +;; Purpose: To capture bookmarks with tags and a timestamp. +;; Fields: URL, tags, timestamp. +(add-to-list 'org-capture-templates + '("b" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") + "| %^{URL} | %^{Tags} | %u |" :prepend t)) + +;; Code Snippet Capture Template +;; Purpose: To capture code snippets and specify the programming language. +;; Fields: Code snippet, language specification. +(add-to-list 'org-capture-templates + '("c" "Code Snippet" entry (file+headline "code.org" "Snippets") + "* %?\n#+begin_src %^{language}\n%i\n#+end_src")) + +;; Capture Templates for Interviews +;; +;; The following capture templates are designed to facilitate the collection +;; of questions and insights for user interviews. Given the importance of +;; user-centered design in experience architecture, these templates aim to +;; streamline the preparation process for interviews. + +;; Interview Sub-menu +;; +;; This entry serves as a sub-menu for all interview-related capture templates. +(add-to-list 'org-capture-templates + '("i" "Interviews")) + +;; How Might We (HMW) Template +;; +;; This template is designed to capture "How Might We" questions that are often +;; used to frame problems and opportunities in user interviews. These questions +;; can be crucial for guiding the interview in a direction that yields +;; actionable insights. +(add-to-list 'org-capture-templates + '("ih" "How Might We" entry (file+headline "interviews.org" "HMW Questions") + "* WKW/HMW %? :HMW:\n%U\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Context: %^{Context}\n:END:")) + +;; Interview Question Template +;; +;; Use this template to quickly capture questions that you intend to ask during +;; user interviews. The template prompts for the topic of the interview and +;; the project it is associated with, allowing for easy categorization and +;; retrieval later. +(add-to-list 'org-capture-templates + '("iq" "Interview Question" entry (file+headline "interviews.org" "Interview Questions") + "* %^{Interview Topic} :INTERVIEW:\n:PROPERTIES:\n:Project: %^{Project Name}\n:Date: %T\n:END:\n- %?\n")) + +;; User Interview Quotes Capture Template +;; Purpose: To capture important quotes from user interviews. +;; Fields: Quote, Interviewee, Timestamp in Video, Project, Context +(add-to-list 'org-capture-templates + '("io" "Quote from User Interview" entry (file+headline "interviews.org" "Quotes") + "* %^{Quote} :QUOTE:\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Timestamp: %^{Timestamp in Video}\n:Project: %^{Project}\n:Context: %^{Context}\n:END:\n")) + +;; Capture Templates for Project Management and Achievements +;; +;; These templates are designed to facilitate the tracking of project details +;; and individual achievements. Given the focus on agile methodologies and +;; continuous improvement, these templates aim to provide a structured way +;; to capture essential information. + +;; Project Template +;; +;; This template captures the essential details of a new project. It prompts +;; for the project name, start date, and end date, and provides sections for +;; outlining the project's objectives and challenges. Each project is assigned +;; a unique ID for easy referencing. +(add-to-list 'org-capture-templates + `("p" "Project" entry (file "agenda/projects.org") + ,(format "* %%^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %s\n:Start Date: %%T\n:End Date: %%^{End Date}\n:END:\n** Objective\n%%?\n** Challenges\n- [ ] %%^{Challenge 1}\n- [ ] %%^{Challenge 2}\n" (org-id-new)))) + +;; Achievement Template +;; +;; This template is designed to capture individual achievements. It prompts for +;; the title of the achievement, the project it is associated with, and the date. +;; Additionally, it provides fields for describing the achievement, its impact, +;; and any associated tasks. This can be particularly useful for end-of-year +;; reviews or for maintaining a portfolio of accomplishments. +(add-to-list 'org-capture-templates + `("v" "Achievement" entry (file+olp+datetree "achievements.org") + ,(concat "* %^{Achievement Title} :ACHIEVEMENT:\n" + ":PROPERTIES:\n" + ":Project: %^{Project}\n" + ":Date: %T\n" + ":END:\n" + "- Description: %?\n" + "- Impact: %^{Impact}\n" + "- Associated Tasks: %^{Tasks}\n"))) + +(add-to-list 'org-capture-templates + '("A" "Accounting")) + +;; Expense Tracking +;; Purpose: To capture individual expenses for accounting in a table. +;; Fields: Amount, Category, Note, Date +(add-to-list 'org-capture-templates + '("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") + "| %U | %^{Amount} | %^{Category} | %? |")) + +;; Income Tracking +;; Purpose: To capture instances of income for accounting in a table. +;; Fields: Amount, Source, Date +(add-to-list 'org-capture-templates + '("Ai" "Income" table-line (file+headline "accounting.org" "Income") + "| %U | %^{Amount} | %^{Source} | %? |")) + +;; Invoice Tracking +;; Purpose: To capture invoices sent for services or products in a table. +;; Fields: Client, Amount, Due Date +(add-to-list 'org-capture-templates + '("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") + "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |")) + +;; Budget Planning +;; Purpose: To capture budget plans for personal or business accounting in a table. +;; Fields: Estimated Income, Estimated Expenses +(add-to-list 'org-capture-templates + `("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") + ,(concat "| " (format-time-string "%Y") " | " (format-time-string "%B") " | %^{Estimated Income} | %^{Estimated Expenses} | %? |"))) + +;; Investment Tracking +;; Purpose: To capture investment details for accounting in a table. +;; Fields: Type, Amount, Notes +(add-to-list 'org-capture-templates + '("Av" "Investment" table-line (file+headline "accounting.org" "Investments") + "| %U | %^{Type} | %^{Amount} | %? |")) + +;; Stock Recommendation Capture Template +;; Purpose: To capture stock recommendations for potential investment. +;; Fields: Stock Symbol, Recommender, Notes, Date +(add-to-list 'org-capture-templates + '("s" "Stock Recommendation" entry (file+headline "stocks.org" "Stock Recommendations") + "* %^{Stock Name} :STOCK:\n:PROPERTIES:\n:Date: %T\n:WKN: %^{WKN}\n:ISIN: %^{ISIN}\n:END:\n%?")) + +(add-to-list 'org-capture-templates + '("B" "Bücherliste" table-line + (file+headline "books.org" "Meine Bücherliste") + "| %^{Buchtitel} | %^{Autor} | %^{Status||Geplant|In Bearbeitung|Fertig} | %U |" :kill-buffer t)) + +(provide 'bundle--ct) +;;; bundle--ct.el ends here diff --git a/init.el b/init.el index 40bb7467..c5ee7564 100755 --- a/init.el +++ b/init.el @@ -1744,217 +1744,6 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (":-)" . "😊") (":-(" . "😞"))) -;; Note Capture Template -;; Purpose: To capture general notes. These notes can optionally be linked to a currently clocked-in task. -;; Fields: Heading, optional task link, initial content, and a timestamp. -(add-to-list 'org-capture-templates - `("n" "Note" entry (file "notes.org") - ,(concat "* %? :NOTE:\n" - ":PROPERTIES:\n" - ":ID: %(org-id-new)\n" - "%(mk/link-to-current-task)" - ":END:\n" - "Entered on: %U\n"))) - -;; Task Capture Template -;; Purpose: To capture tasks and automatically assign a unique ID to each task. -;; Fields: Heading, unique ID, timestamp, and link to where the capture was made. -(add-to-list 'org-capture-templates - `("t" "Task" entry (file "agenda/tasks.org") - ,(format "* TODO %%? :TASK:\n:PROPERTIES:\n:ID: %s\n:Project: %%^{Project}\n:END:\nEntered on %%U\n" (org-id-new)))) - -;; Journal Capture Template -;; Purpose: To capture end-of-day reflections. -;; Fields: Heading, timestamp, and prompts for what went well, what could be improved, and focus for tomorrow. -(add-to-list 'org-capture-templates - '("j" "Journal" entry (file+olp+datetree "agenda/journal.org") - "* %T - End of Day Reflection :JOURNAL:\n- Was ist heute gut gelaufen?\n %?\n- Was könnte verbessert werden?\n \n- Worauf konzentriere ich mich morgen?\n " - :empty-lines 1)) - -;; Updated Appointment Capture Template -;; Purpose: To capture and plan detailed appointments with agenda and preparation tasks. -;; Fields: Title, Date/Time, Location, Attendees, Agenda Items, Preparation Tasks, Notes. -(add-to-list 'org-capture-templates - '("a" "Appointment" entry (file "agenda/appt.org") - "* %^{Title} %^g -:PROPERTIES: -:LOCATION: %^{Location} -:ATTENDEES: %^{Attendees} -:END: -%^{Date}t -** Agenda -%? -** Preparation Tasks -- [ ] -- [ ] -- [ ] -** Notes -" :empty-lines 1)) - -;; Meeting Capture Template -;; Purpose: To capture meeting notes and automatically start a clock for time tracking. -;; Fields: Topic, timestamp, and additional notes. -(add-to-list 'org-capture-templates - '("m" "Meeting" entry (file "agenda/meetings.org") - "* %^{Topic} \n%T\n%?" - :clock-in t - :empty-lines 1)) - -;; Log Capture Template -;; Purpose: To capture activities in a chronological order and automatically start a clock for time tracking. -;; Fields: Timestamp, activity description. -(add-to-list 'org-capture-templates - '("l" "Log" entry (file+olp+datetree "logbook.org") - "* %T - %^{Activity} :LOG:\n%?" - :clock-in t - :empty-lines 1)) - -;; UTM Parameters Capture Template -;; Purpose: To capture UTM parameters for marketing tracking. -;; Fields: Campaign name, source, medium, term, and content. -(add-to-list 'org-capture-templates - '("u" "UTM Parameters" entry (file+headline "utm.org" "UTM Parameters") - "* %^{Campaign Name}\n:PROPERTIES:\n:Source: %^{utm_source}\n:Medium: %^{utm_medium}\n:Term: %^{utm_term}\n:Content: %^{utm_content}\n:END:\n")) - -;; Bookmark Capture Template -;; Purpose: To capture bookmarks with tags and a timestamp. -;; Fields: URL, tags, timestamp. -(add-to-list 'org-capture-templates - '("b" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") - "| %^{URL} | %^{Tags} | %u |" :prepend t)) - -;; Code Snippet Capture Template -;; Purpose: To capture code snippets and specify the programming language. -;; Fields: Code snippet, language specification. -(add-to-list 'org-capture-templates - '("c" "Code Snippet" entry (file+headline "code.org" "Snippets") - "* %?\n#+begin_src %^{language}\n%i\n#+end_src")) - -;; Capture Templates for Interviews -;; -;; The following capture templates are designed to facilitate the collection -;; of questions and insights for user interviews. Given the importance of -;; user-centered design in experience architecture, these templates aim to -;; streamline the preparation process for interviews. - -;; Interview Sub-menu -;; -;; This entry serves as a sub-menu for all interview-related capture templates. -(add-to-list 'org-capture-templates - '("i" "Interviews")) - -;; How Might We (HMW) Template -;; -;; This template is designed to capture "How Might We" questions that are often -;; used to frame problems and opportunities in user interviews. These questions -;; can be crucial for guiding the interview in a direction that yields -;; actionable insights. -(add-to-list 'org-capture-templates - '("ih" "How Might We" entry (file+headline "interviews.org" "HMW Questions") - "* WKW/HMW %? :HMW:\n%U\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Context: %^{Context}\n:END:")) - -;; Interview Question Template -;; -;; Use this template to quickly capture questions that you intend to ask during -;; user interviews. The template prompts for the topic of the interview and -;; the project it is associated with, allowing for easy categorization and -;; retrieval later. -(add-to-list 'org-capture-templates - '("iq" "Interview Question" entry (file+headline "interviews.org" "Interview Questions") - "* %^{Interview Topic} :INTERVIEW:\n:PROPERTIES:\n:Project: %^{Project Name}\n:Date: %T\n:END:\n- %?\n")) - -;; User Interview Quotes Capture Template -;; Purpose: To capture important quotes from user interviews. -;; Fields: Quote, Interviewee, Timestamp in Video, Project, Context -(add-to-list 'org-capture-templates - '("io" "Quote from User Interview" entry (file+headline "interviews.org" "Quotes") - "* %^{Quote} :QUOTE:\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Timestamp: %^{Timestamp in Video}\n:Project: %^{Project}\n:Context: %^{Context}\n:END:\n")) - -;; Capture Templates for Project Management and Achievements -;; -;; These templates are designed to facilitate the tracking of project details -;; and individual achievements. Given the focus on agile methodologies and -;; continuous improvement, these templates aim to provide a structured way -;; to capture essential information. - -;; Project Template -;; -;; This template captures the essential details of a new project. It prompts -;; for the project name, start date, and end date, and provides sections for -;; outlining the project's objectives and challenges. Each project is assigned -;; a unique ID for easy referencing. -(add-to-list 'org-capture-templates - `("p" "Project" entry (file "agenda/projects.org") - ,(format "* %%^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %s\n:Start Date: %%T\n:End Date: %%^{End Date}\n:END:\n** Objective\n%%?\n** Challenges\n- [ ] %%^{Challenge 1}\n- [ ] %%^{Challenge 2}\n" (org-id-new)))) - -;; Achievement Template -;; -;; This template is designed to capture individual achievements. It prompts for -;; the title of the achievement, the project it is associated with, and the date. -;; Additionally, it provides fields for describing the achievement, its impact, -;; and any associated tasks. This can be particularly useful for end-of-year -;; reviews or for maintaining a portfolio of accomplishments. -(add-to-list 'org-capture-templates - `("v" "Achievement" entry (file+olp+datetree "achievements.org") - ,(concat "* %^{Achievement Title} :ACHIEVEMENT:\n" - ":PROPERTIES:\n" - ":Project: %^{Project}\n" - ":Date: %T\n" - ":END:\n" - "- Description: %?\n" - "- Impact: %^{Impact}\n" - "- Associated Tasks: %^{Tasks}\n"))) - -(add-to-list 'org-capture-templates - '("A" "Accounting")) - -;; Expense Tracking -;; Purpose: To capture individual expenses for accounting in a table. -;; Fields: Amount, Category, Note, Date -(add-to-list 'org-capture-templates - '("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") - "| %U | %^{Amount} | %^{Category} | %? |")) - -;; Income Tracking -;; Purpose: To capture instances of income for accounting in a table. -;; Fields: Amount, Source, Date -(add-to-list 'org-capture-templates - '("Ai" "Income" table-line (file+headline "accounting.org" "Income") - "| %U | %^{Amount} | %^{Source} | %? |")) - -;; Invoice Tracking -;; Purpose: To capture invoices sent for services or products in a table. -;; Fields: Client, Amount, Due Date -(add-to-list 'org-capture-templates - '("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") - "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |")) - -;; Budget Planning -;; Purpose: To capture budget plans for personal or business accounting in a table. -;; Fields: Estimated Income, Estimated Expenses -(add-to-list 'org-capture-templates - `("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") - ,(concat "| " (format-time-string "%Y") " | " (format-time-string "%B") " | %^{Estimated Income} | %^{Estimated Expenses} | %? |"))) - -;; Investment Tracking -;; Purpose: To capture investment details for accounting in a table. -;; Fields: Type, Amount, Notes -(add-to-list 'org-capture-templates - '("Av" "Investment" table-line (file+headline "accounting.org" "Investments") - "| %U | %^{Type} | %^{Amount} | %? |")) - -;; Stock Recommendation Capture Template -;; Purpose: To capture stock recommendations for potential investment. -;; Fields: Stock Symbol, Recommender, Notes, Date -(add-to-list 'org-capture-templates - '("s" "Stock Recommendation" entry (file+headline "stocks.org" "Stock Recommendations") - "* %^{Stock Name} :STOCK:\n:PROPERTIES:\n:Date: %T\n:WKN: %^{WKN}\n:ISIN: %^{ISIN}\n:END:\n%?")) - -(add-to-list 'org-capture-templates - '("B" "Bücherliste" table-line - (file+headline "books.org" "Meine Bücherliste") - "| %^{Buchtitel} | %^{Autor} | %^{Status||Geplant|In Bearbeitung|Fertig} | %U |" :kill-buffer t)) - (require 'request) (use-package org-roam From 2d4165307da9de9dfdfc4dcecf618c81bd55f305 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:21 +0200 Subject: [PATCH 23/28] Update default-frame-alist --- init.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/init.el b/init.el index c5ee7564..0fef4864 100755 --- a/init.el +++ b/init.el @@ -204,12 +204,12 @@ :box '(:line-width 8 :style flat-button))) (setq default-frame-alist - `((font . "MonoLisa-11") + '((fullscreen . maximized) + (font . "MonoLisa-11") (width . 85) (height . 50) - (vertical-scroll-bars) - ,@(cond ((eq system-type 'gnu/linux) - '((fullscreen . maximized)))))) + (and (eq system-type 'gnu/linux) + (undecorated . t)))) (setq frame-resize-pixelwise t) From eec3df7715fb9e7ce087dfcaee14bade6c44f176 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:35 +0200 Subject: [PATCH 24/28] Remove auctex --- init.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/init.el b/init.el index 0fef4864..39cc2de8 100755 --- a/init.el +++ b/init.el @@ -711,7 +711,6 @@ (use-package tex-mode :defer t - :ensure auctex :config ;; TeX mode settings for editing .tex files (setq TeX-auto-save t) ; Enable auto-save @@ -726,12 +725,12 @@ (setq TeX-engine 'luatex) ; Set engine to XeTeX (setq TeX-command-extra-options "-shell-escape")) ; Allow shell escape -(use-package auctex - :hook ((LaTeX-mode . turn-on-reftex) - (LaTeX-mode . LaTeX-math-mode)) - :custom - (LaTeX-indent-level 4) - (LaTeX-item-indent 0)) +;; (use-package auctex +;; :hook ((LaTeX-mode . turn-on-reftex) +;; (LaTeX-mode . LaTeX-math-mode)) +;; :custom +;; (LaTeX-indent-level 4) +;; (LaTeX-item-indent 0)) (use-package epg :ensure nil From 64e84e168decd49907e81dc51e3bb2b4817d6289 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:42 +0200 Subject: [PATCH 25/28] Update geiser --- init.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init.el b/init.el index 39cc2de8..d73e88ba 100755 --- a/init.el +++ b/init.el @@ -1153,11 +1153,12 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (use-package cider :defer t) (use-package geiser + :defer t :init (setq geiser-repl-prompt-read-only t) (setq geiser-repl-highlight-error-messages t) (setq geiser-active-implementations '(chez guile)) - (setq geiser-default-implementation 'chez) + (setq geiser-default-implementation 'guile) :hook (scheme-mode . geiser-mode)) (use-package geiser-chez :defer t From 3555003e9a7004ac5dfdeca379adc2afc1b920ef Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:49 +0200 Subject: [PATCH 26/28] Update feeds --- init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.el b/init.el index d73e88ba..0e0c0bf9 100755 --- a/init.el +++ b/init.el @@ -1350,6 +1350,7 @@ Uses `mk/hyperspec-dir-locations' to find the directory." ("https://media.rss.com/l0wl1f3podcast/feed.xml" cyberpunk podcast) ("https://sachachua.com/blog/feed/" emacs blog lisp programming) ("https://peertube.tv/feeds/videos.xml?videoChannelId=3483" lisp video) + ("https://www.youtube.com/feeds/videos.xml?channel_id=UCYg6qFXDE5SGT_YXhuJPU0A" programming video lisp) )) :custom (elfeed-search-filter "@7-day-ago +unread") From be7ba1d721aabb782d9f7641364ce47f19f01a4d Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:09:54 +0200 Subject: [PATCH 27/28] Load bundle--ct file --- init.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init.el b/init.el index 0e0c0bf9..054bcc5b 100755 --- a/init.el +++ b/init.el @@ -1854,4 +1854,5 @@ Uses `mk/hyperspec-dir-locations' to find the directory." (let ((bundle-dir (expand-file-name "~/.emacs.d/bundle/"))) (when (file-directory-p bundle-dir) (add-to-list 'load-path bundle-dir) - (load "bundle--mk"))) + (load "bundle--ct") + (load "bundle--mk"))) From 4f2fbf44c68e6987549ba1ea19fcd74f8e48a6e4 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 11 Oct 2024 10:34:25 +0200 Subject: [PATCH 28/28] Update capture templates --- bundle/bundle--ct.el | 263 ++++++++++--------------------------------- bundle/bundle--mk.el | 10 -- 2 files changed, 60 insertions(+), 213 deletions(-) diff --git a/bundle/bundle--ct.el b/bundle/bundle--ct.el index 74349e3a..536a3ece 100644 --- a/bundle/bundle--ct.el +++ b/bundle/bundle--ct.el @@ -24,216 +24,73 @@ ;;; Code: -;; Note Capture Template -;; Purpose: To capture general notes. These notes can optionally be linked to a currently clocked-in task. -;; Fields: Heading, optional task link, initial content, and a timestamp. -(add-to-list 'org-capture-templates - `("n" "Note" entry (file "notes.org") - ,(concat "* %? :NOTE:\n" - ":PROPERTIES:\n" - ":ID: %(org-id-new)\n" - "%(mk/link-to-current-task)" - ":END:\n" - "Entered on: %U\n"))) +(defun mk/link-to-current-task () + "Return an Org link to the current clocked-in task, if any, or prompt for manual entry." + (if (org-clock-is-active) + (with-current-buffer (marker-buffer org-clock-marker) + (save-excursion + (goto-char org-clock-marker) + (format ":TASK_ID: [[id:%s][%s]]" (org-id-get) (org-get-heading t t)))) + (let ((manual-id (read-string "Enter Task ID (leave empty if not applicable): "))) + (unless (string-empty-p manual-id) + (format ":TASK_ID: [[id:%s][Task]]\n" manual-id))))) -;; Task Capture Template -;; Purpose: To capture tasks and automatically assign a unique ID to each task. -;; Fields: Heading, unique ID, timestamp, and link to where the capture was made. -(add-to-list 'org-capture-templates - `("t" "Task" entry (file "agenda/tasks.org") - ,(format "* TODO %%? :TASK:\n:PROPERTIES:\n:ID: %s\n:Project: %%^{Project}\n:END:\nEntered on %%U\n" (org-id-new)))) +(setq org-capture-templates + '(("T" "Task Management") + ("Tt" "Task" entry (file "agenda/tasks.org") + "* TODO %? :TASK:\n:PROPERTIES:\n:ID: %(org-id-new)\n:Project: %^{Project}\n:END:\nEntered on %U\n") + ("Tp" "Project" entry (file "agenda/projects.org") + "* %^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %(org-id-new)\n:Start Date: %T\n:End Date: %^{End Date}\n:END:\n** Objective\n%?\n** Challenges\n- [ ] %^{Challenge 1}\n- [ ] %^{Challenge 2}\n") + ("Tv" "Achievement" entry (file+olp+datetree "achievements.org") + "* %^{Achievement Title} :ACHIEVEMENT:\n:PROPERTIES:\n:Project: %^{Project}\n:Date: %T\n:END:\n- Description: %?\n- Impact: %^{Impact}\n- Associated Tasks: %^{Tasks}\n") -;; Journal Capture Template -;; Purpose: To capture end-of-day reflections. -;; Fields: Heading, timestamp, and prompts for what went well, what could be improved, and focus for tomorrow. -(add-to-list 'org-capture-templates - '("j" "Journal" entry (file+olp+datetree "agenda/journal.org") - "* %T - End of Day Reflection :JOURNAL:\n- Was ist heute gut gelaufen?\n %?\n- Was könnte verbessert werden?\n \n- Worauf konzentriere ich mich morgen?\n " - :empty-lines 1)) + ("N" "Notes and Journaling") + ("Nn" "Note" entry (file "notes.org") + "* %? :NOTE:\n:PROPERTIES:\n:ID: %(org-id-new)\n%(mk/link-to-current-task):END:\nEntered on: %U\n") + ("Nj" "Journal" entry (file+olp+datetree "agenda/journal.org") + "* %T - End of Day Reflection :JOURNAL:\n- Was ist heute gut gelaufen?\n %?\n- Was könnte verbessert werden?\n \n- Worauf konzentriere ich mich morgen?\n ") + ("Nl" "Log" entry (file+olp+datetree "logbook.org") + "* %T - %^{Activity} :LOG:\n%?" :clock-in t :empty-lines 1) -;; Updated Appointment Capture Template -;; Purpose: To capture and plan detailed appointments with agenda and preparation tasks. -;; Fields: Title, Date/Time, Location, Attendees, Agenda Items, Preparation Tasks, Notes. -(add-to-list 'org-capture-templates - '("a" "Appointment" entry (file "agenda/appt.org") - "* %^{Title} %^g - :PROPERTIES: - :LOCATION: %^{Location} - :ATTENDEES: %^{Attendees} - :END: - %^{Date}t - ** Agenda - %? - ** Preparation Tasks - - [ ] - - [ ] - - [ ] - ** Notes - " :empty-lines 1)) + ("M" "Meetings and Appointments") + ("Ma" "Appointment" entry (file "agenda/appt.org") + "* %^{Title} %^g\n:PROPERTIES:\n:LOCATION: %^{Location}\n:ATTENDEES: %^{Attendees}\n:END:\n%^{Date}t\n** Agenda\n%?\n** Preparation Tasks\n- [ ]\n- [ ]\n- [ ]\n** Notes\n") + ("Mm" "Meeting" entry (file "agenda/meetings.org") + "* %^{Topic} \n%T\n%?" :clock-in t :empty-lines 1) -;; Meeting Capture Template -;; Purpose: To capture meeting notes and automatically start a clock for time tracking. -;; Fields: Topic, timestamp, and additional notes. -(add-to-list 'org-capture-templates - '("m" "Meeting" entry (file "agenda/meetings.org") - "* %^{Topic} \n%T\n%?" - :clock-in t - :empty-lines 1)) + ("R" "Research and Information Gathering") + ("Rb" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") + "| %^{URL} | %^{Tags} | %u |" :prepend t) + ("Rc" "Code Snippet" entry (file+headline "code.org" "Snippets") + "* %?\n#+begin_src %^{language}\n%i\n#+end_src") + ("Rs" "Stock Recommendation" entry (file+headline "stocks.org" "Stock Recommendations") + "* %^{Stock Name} :STOCK:\n:PROPERTIES:\n:Date: %T\n:WKN: %^{WKN}\n:ISIN: %^{ISIN}\n:END:\n%?") + ("Ru" "UTM Parameters" entry (file+headline "utm.org" "UTM Parameters") + "* %^{Campaign Name}\n:PROPERTIES:\n:Source: %^{utm_source}\n:Medium: %^{utm_medium}\n:Term: %^{utm_term}\n:Content: %^{utm_content}\n:END:\n") -;; Log Capture Template -;; Purpose: To capture activities in a chronological order and automatically start a clock for time tracking. -;; Fields: Timestamp, activity description. -(add-to-list 'org-capture-templates - '("l" "Log" entry (file+olp+datetree "logbook.org") - "* %T - %^{Activity} :LOG:\n%?" - :clock-in t - :empty-lines 1)) + ("I" "Interviews") + ("Ih" "How Might We" entry (file+headline "interviews.org" "HMW Questions") + "* WKW/HMW %? :HMW:\n%U\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Context: %^{Context}\n:END:") + ("Iq" "Interview Question" entry (file+headline "interviews.org" "Interview Questions") + "* %^{Interview Topic} :INTERVIEW:\n:PROPERTIES:\n:Project: %^{Project Name}\n:Date: %T\n:END:\n- %?\n") + ("Io" "Quote from User Interview" entry (file+headline "interviews.org" "Quotes") + "* %^{Quote} :QUOTE:\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Timestamp: %^{Timestamp in Video}\n:Project: %^{Project}\n:Context: %^{Context}\n:END:\n") -;; UTM Parameters Capture Template -;; Purpose: To capture UTM parameters for marketing tracking. -;; Fields: Campaign name, source, medium, term, and content. -(add-to-list 'org-capture-templates - '("u" "UTM Parameters" entry (file+headline "utm.org" "UTM Parameters") - "* %^{Campaign Name}\n:PROPERTIES:\n:Source: %^{utm_source}\n:Medium: %^{utm_medium}\n:Term: %^{utm_term}\n:Content: %^{utm_content}\n:END:\n")) + ("A" "Accounting") + ("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") + "| %U | %^{Amount} | %^{Category} | %? |") + ("Ai" "Income" table-line (file+headline "accounting.org" "Income") + "| %U | %^{Amount} | %^{Source} | %? |") + ("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") + "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |") + ("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") + "| %(format-time-string \"%Y\") | %(format-time-string \"%B\") | %^{Estimated Income} | %^{Estimated Expenses} | %? |") + ("Av" "Investment" table-line (file+headline "accounting.org" "Investments") + "| %U | %^{Type} | %^{Amount} | %? |") -;; Bookmark Capture Template -;; Purpose: To capture bookmarks with tags and a timestamp. -;; Fields: URL, tags, timestamp. -(add-to-list 'org-capture-templates - '("b" "Bookmark" table-line (file+headline "bookmarks.org" "Bookmarks") - "| %^{URL} | %^{Tags} | %u |" :prepend t)) - -;; Code Snippet Capture Template -;; Purpose: To capture code snippets and specify the programming language. -;; Fields: Code snippet, language specification. -(add-to-list 'org-capture-templates - '("c" "Code Snippet" entry (file+headline "code.org" "Snippets") - "* %?\n#+begin_src %^{language}\n%i\n#+end_src")) - -;; Capture Templates for Interviews -;; -;; The following capture templates are designed to facilitate the collection -;; of questions and insights for user interviews. Given the importance of -;; user-centered design in experience architecture, these templates aim to -;; streamline the preparation process for interviews. - -;; Interview Sub-menu -;; -;; This entry serves as a sub-menu for all interview-related capture templates. -(add-to-list 'org-capture-templates - '("i" "Interviews")) - -;; How Might We (HMW) Template -;; -;; This template is designed to capture "How Might We" questions that are often -;; used to frame problems and opportunities in user interviews. These questions -;; can be crucial for guiding the interview in a direction that yields -;; actionable insights. -(add-to-list 'org-capture-templates - '("ih" "How Might We" entry (file+headline "interviews.org" "HMW Questions") - "* WKW/HMW %? :HMW:\n%U\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Context: %^{Context}\n:END:")) - -;; Interview Question Template -;; -;; Use this template to quickly capture questions that you intend to ask during -;; user interviews. The template prompts for the topic of the interview and -;; the project it is associated with, allowing for easy categorization and -;; retrieval later. -(add-to-list 'org-capture-templates - '("iq" "Interview Question" entry (file+headline "interviews.org" "Interview Questions") - "* %^{Interview Topic} :INTERVIEW:\n:PROPERTIES:\n:Project: %^{Project Name}\n:Date: %T\n:END:\n- %?\n")) - -;; User Interview Quotes Capture Template -;; Purpose: To capture important quotes from user interviews. -;; Fields: Quote, Interviewee, Timestamp in Video, Project, Context -(add-to-list 'org-capture-templates - '("io" "Quote from User Interview" entry (file+headline "interviews.org" "Quotes") - "* %^{Quote} :QUOTE:\n:PROPERTIES:\n:Interviewee: %^{Interviewee}\n:Timestamp: %^{Timestamp in Video}\n:Project: %^{Project}\n:Context: %^{Context}\n:END:\n")) - -;; Capture Templates for Project Management and Achievements -;; -;; These templates are designed to facilitate the tracking of project details -;; and individual achievements. Given the focus on agile methodologies and -;; continuous improvement, these templates aim to provide a structured way -;; to capture essential information. - -;; Project Template -;; -;; This template captures the essential details of a new project. It prompts -;; for the project name, start date, and end date, and provides sections for -;; outlining the project's objectives and challenges. Each project is assigned -;; a unique ID for easy referencing. -(add-to-list 'org-capture-templates - `("p" "Project" entry (file "agenda/projects.org") - ,(format "* %%^{Project Name} :PROJECT:\n:PROPERTIES:\n:ID: %s\n:Start Date: %%T\n:End Date: %%^{End Date}\n:END:\n** Objective\n%%?\n** Challenges\n- [ ] %%^{Challenge 1}\n- [ ] %%^{Challenge 2}\n" (org-id-new)))) - -;; Achievement Template -;; -;; This template is designed to capture individual achievements. It prompts for -;; the title of the achievement, the project it is associated with, and the date. -;; Additionally, it provides fields for describing the achievement, its impact, -;; and any associated tasks. This can be particularly useful for end-of-year -;; reviews or for maintaining a portfolio of accomplishments. -(add-to-list 'org-capture-templates - `("v" "Achievement" entry (file+olp+datetree "achievements.org") - ,(concat "* %^{Achievement Title} :ACHIEVEMENT:\n" - ":PROPERTIES:\n" - ":Project: %^{Project}\n" - ":Date: %T\n" - ":END:\n" - "- Description: %?\n" - "- Impact: %^{Impact}\n" - "- Associated Tasks: %^{Tasks}\n"))) - -(add-to-list 'org-capture-templates - '("A" "Accounting")) - -;; Expense Tracking -;; Purpose: To capture individual expenses for accounting in a table. -;; Fields: Amount, Category, Note, Date -(add-to-list 'org-capture-templates - '("Ae" "Expense" table-line (file+headline "accounting.org" "Expenses") - "| %U | %^{Amount} | %^{Category} | %? |")) - -;; Income Tracking -;; Purpose: To capture instances of income for accounting in a table. -;; Fields: Amount, Source, Date -(add-to-list 'org-capture-templates - '("Ai" "Income" table-line (file+headline "accounting.org" "Income") - "| %U | %^{Amount} | %^{Source} | %? |")) - -;; Invoice Tracking -;; Purpose: To capture invoices sent for services or products in a table. -;; Fields: Client, Amount, Due Date -(add-to-list 'org-capture-templates - '("AI" "Invoice" table-line (file+headline "accounting.org" "Invoices") - "| %T | %^{Client} | %^{Amount} | %^{Due Date} | %? |")) - -;; Budget Planning -;; Purpose: To capture budget plans for personal or business accounting in a table. -;; Fields: Estimated Income, Estimated Expenses -(add-to-list 'org-capture-templates - `("Ab" "Budget" table-line (file+headline "accounting.org" "Budget") - ,(concat "| " (format-time-string "%Y") " | " (format-time-string "%B") " | %^{Estimated Income} | %^{Estimated Expenses} | %? |"))) - -;; Investment Tracking -;; Purpose: To capture investment details for accounting in a table. -;; Fields: Type, Amount, Notes -(add-to-list 'org-capture-templates - '("Av" "Investment" table-line (file+headline "accounting.org" "Investments") - "| %U | %^{Type} | %^{Amount} | %? |")) - -;; Stock Recommendation Capture Template -;; Purpose: To capture stock recommendations for potential investment. -;; Fields: Stock Symbol, Recommender, Notes, Date -(add-to-list 'org-capture-templates - '("s" "Stock Recommendation" entry (file+headline "stocks.org" "Stock Recommendations") - "* %^{Stock Name} :STOCK:\n:PROPERTIES:\n:Date: %T\n:WKN: %^{WKN}\n:ISIN: %^{ISIN}\n:END:\n%?")) - -(add-to-list 'org-capture-templates - '("B" "Bücherliste" table-line - (file+headline "books.org" "Meine Bücherliste") - "| %^{Buchtitel} | %^{Autor} | %^{Status||Geplant|In Bearbeitung|Fertig} | %U |" :kill-buffer t)) + ("P" "Personal") + ("Pb" "Book" table-line (file+headline "books.org" "Meine Bücherliste") + "| %^{Buchtitel} | %^{Autor} | %^{Status||Geplant|In Bearbeitung|Fertig} | %U |" :kill-buffer t))) (provide 'bundle--ct) ;;; bundle--ct.el ends here diff --git a/bundle/bundle--mk.el b/bundle/bundle--mk.el index 3ab15626..378f6e08 100644 --- a/bundle/bundle--mk.el +++ b/bundle/bundle--mk.el @@ -48,16 +48,6 @@ (add-hook 'org-agenda-finalize-hook #'org-agenda-log-mode-colorize-block) -(defun mk/link-to-current-task () - "Return an Org link to the current clocked-in task, if any, or prompt for manual entry." - (if (org-clock-is-active) - (with-current-buffer (marker-buffer org-clock-marker) - (save-excursion - (goto-char org-clock-marker) - (format ":TASK_ID: [[id:%s][%s]]" (org-id-get) (org-get-heading t t)))) - (let ((manual-id (read-string "Enter Task ID (leave empty if not applicable): "))) - (unless (string-empty-p manual-id) - (format ":TASK_ID: [[id:%s][Task]]\n" manual-id))))) (defun mk/extract-headlines-by-tag (tag) "Extract headlines and their content from current buffer by TAG."