diff options
| -rw-r--r-- | config.el | 470 | ||||
| -rw-r--r-- | config.org | 248 |
2 files changed, 357 insertions, 361 deletions
@@ -655,6 +655,7 @@ (setq org-startup-folded 'nil) (setq org-adapt-indentation t + ;; org-time-stamp-rounding-minutes '(5 5) org-return-follows-link t org-hide-leading-stars t org-pretty-entities t @@ -683,11 +684,14 @@ display (space :align-to (- right ,(org-string-width (match-string 2)) 3))) prepend))) t)) -(use-package org-workbench - :straight (:host github :repo "yibie/org-workbench") - :after denote - :config - (org-workbench-setup)) +(defun my-org-read-date-always-with-time (orig-fun &optional org-with-time to-time from-string prompt default-time default-input inactive) + (cl-letf (((symbol-function 'org-read-date--get-current-time) + (lambda () (or default-time (current-time))))) + (let* ((default-input (or default-input + (format-time-string "%H:%M" (or default-time (current-time)))))) + (funcall orig-fun t to-time from-string prompt default-time default-input inactive)))) + +(advice-add 'org-read-date :around #'my-org-read-date-always-with-time) (use-package org-appear :commands (org-appear-mode) @@ -710,8 +714,8 @@ (setq org-modern-replace-stars "◉○◉○◉") (setq org-modern-todo-faces - '(("TODO" :background "#3a3a3a" :foreground "#e0e0e0" :weight bold) - ("NEXT" :background "#ff9800" :foreground "#1a1a1a" :weight bold) + '(("TODO" :background "#3a3a3a" :foreground "#e0e0e0" :weight normal) + ("NEXT" :background "#ff9800" :foreground "#1a1a1a" :weight normal) ("ACTIVE" :background "#e91e63" :foreground "#ffffff" :weight bold) ("WAIT" :background "#2196f3" :foreground "#ffffff" :weight bold) ("DONE" :background "#4caf50" :foreground "#ffffff" :weight bold) @@ -784,6 +788,10 @@ and convert it to Org using the pandoc utility." :ensure t :mode ("\\.epub\\'" . nov-mode)) +(use-package org-generate + :ensure t + :defer t) + (use-package yequake :custom (yequake-frames @@ -853,64 +861,6 @@ and convert it to Org using the pandoc utility." :config (org-super-agenda-mode)) -;; (use-package org-ql -;; :ensure t -;; :after org-super-agenda -;; :config -;; (setq org-agenda-custom-commands -;; '(("t" "Project Task Overview" -;; ((org-ql-block '(and (tags "project") -;; (not (done))) -;; ((org-ql-block-header "Project Tasks") -;; (org-super-agenda-groups -;; '((:discard (:todo "FUN")) -;; (:name "ACTIVE" :todo "ACTIVE") -;; (:name "NEXT" :todo "NEXT") -;; (:name "TODO" :todo "TODO") -;; (:name "WAIT" :todo "WAIT"))))))) -;; ("p" "Personal Task Overview" -;; ((org-ql-block '(and (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done))) -;; ((org-ql-block-header "Personal & University Tasks") -;; (org-super-agenda-groups -;; '((:discard (:todo "FUN")) -;; (:name "ACTIVE" :todo "ACTIVE") -;; (:name "NEXT" :todo "NEXT") -;; (:name "TODO" :todo "TODO") -;; (:name "WAIT" :todo "WAIT"))))))) -;; ("w" "Weekly Overview" -;; ((org-ql-block '(and (or (deadline auto) -;; (scheduled :to 7)) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done)) -;; (not (habit))) -;; ((org-ql-block-header "Weekly Tasks") -;; (org-super-agenda-groups -;; '((:name "Deadlines" :deadline t :order 1) -;; (:name "Schedule" :scheduled t :order 2) -;; (:discard (:anything t)))))) -;; (org-ql-block '(and (ts-active :from today :to 7 :with-time t) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done)) -;; (not (habit))) -;; ((org-ql-block-header "Appointments") -;; (org-super-agenda-groups -;; '((:name "This Week" :anything t :order 1))))) -;; (org-ql-block '(and (habit) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done))) -;; ((org-ql-block-header "Habits") -;; (org-super-agenda-groups -;; '((:name "Daily Habits" :habit t :order 1) -;; (:discard (:anything t))))))))))) (use-package org-ql :ensure t :after org-super-agenda) @@ -1119,8 +1069,8 @@ and convert it to Org using the pandoc utility." (setq org-agenda-remove-tags t) -(setq split-width-threshold 0) -(setq split-height-threshold nil) +;; (setq split-width-threshold 0) +;; (setq split-height-threshold nil) (setq org-priority-faces '((?A . (:foreground "#ff6b6b" :weight bold)) @@ -1188,11 +1138,6 @@ and convert it to Org using the pandoc utility." (add-hook 'org-agenda-finalize-hook #'my/org-agenda-remove-tags) -;; (setq org-todo-keywords -;; '((sequence "WAIT(w@/!)" "HABIT(h)" "TODO(t)" "NEXT(n)" "|" "DONE(d!)") -;; (sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" -;; "FUN(f)" "|" "COMPLETED(c)" "CANC(k@)"))) - (use-package org-contrib :ensure t) @@ -1256,8 +1201,7 @@ and convert it to Org using the pandoc utility." (use-package ox-pandoc :ensure t - :after org - ) + :after org) (use-package denote :ensure t @@ -1275,6 +1219,11 @@ and convert it to Org using the pandoc utility." (setq denote-agenda-include-regexp "task") (denote-agenda-insinuate)) +(use-package denote-journal + :ensure t + :config + (setopt denote-journal-title-format 'day-date-month-year)) + (defcustom my/denote-task-filename-component-regexp "\\(?:[-_.]\\|:\\)task\\(?:[-_.]\\|:\\|$\\)" "Regexp matching a filename component that denotes the 'task' tag. @@ -1359,8 +1308,6 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (add-hook 'org-after-todo-state-change-hook #'my/denote-remove-task-filetag-and-silent-rename) - - (use-package denote-menu :ensure t :defer t @@ -1399,10 +1346,6 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (save-buffer) (kill-buffer))))) -(use-package casual-avy - :ensure t - :straight (:host github :repo "kickingvegas/casual-avy")) - (use-package ox-json :ensure t ) @@ -1427,7 +1370,24 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (use-package tmr :ensure t - :straight (:host github :repo "protesilaos/tmr")) + :straight (:host github :repo "protesilaos/tmr") + :config + (setq tmr-sound-file "/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga" + tmr-notification-urgency 'normal + tmr-description-list 'tmr-description-history) + + (define-key global-map (kbd "C-c t") #'tmr-prefix-map)) + +(with-eval-after-load 'tmr-tabulated-mode + (general-def 'normal tmr-tabulated-mode-hook + "y" 'tmr-clone + "c" 'tmr-cancel + "d" 'tmr-remove + "D" 'tmr-remove-finished + "n" 'tmr + "N" 'tmr-with-details + "e" 'tmr-edit-description + "r" 'tmr-reschedule)) (use-package which-key :ensure t @@ -1499,6 +1459,25 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: :init (corfu-terminal-mode +1)) +(use-package cape + :ensure t + ;; Bind prefix keymap providing all Cape commands under a mnemonic key. + ;; Press C-c p ? to for help. + ;; Alternatively bind Cape commands individually. + ;; :bind (("C-c p d" . cape-dabbrev) + ;; ("C-c p h" . cape-history) + ;; ("C-c p f" . cape-file) + ;; ...) + :init + ;; Add to the global default value of `completion-at-point-functions' which is + ;; used by `completion-at-point'. The order of the functions matters, the + ;; first function returning a result wins. Note that the list of buffer-local + ;; completion functions takes precedence over the global list. + (add-hook 'completion-at-point-functions #'cape-file) + ;; (add-hook 'completion-at-point-functions #'cape-history) + ;; ... +) + (use-package consult :ensure t :straight t @@ -2163,7 +2142,16 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi avy-style 'at-full avy-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)) - (evil-define-avy-motion evil-avy-goto-char-timer inclusive)) + (evil-define-avy-motion emacs-flash-jump inclusive)) + +(use-package flash-emacs + :ensure t + :straight (:host github :repo "JiaweiChenC/flash-emacs")) + +;; ZenScriptor/avy-flash +(use-package avy-flash + :ensure t + :straight (:host github :repo "ZenScriptor/avy-flash")) (use-package undo-tree :defer t @@ -2368,28 +2356,29 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi :config (setq maple-modeline-separator 'nil) (setq maple-modeline-height 25) - + (setq maple-modeline-icon t) + (defun maple-modeline-to-header-line () (setq-default tab-line-format mode-line-format) (setq-default mode-line-format nil)) (add-hook 'maple-modeline-mode-hook #'maple-modeline-to-header-line) - (display-time-mode 1) + (maple-modeline-define-segment my-modeline-time + :format (propertize (downcase (format-time-string " %I:%M %p ")) + 'face 'bold)) (maple-modeline-define my-custom-style :left ((evil :left (bar :left "")) macro buffer-info - ;; major-mode flycheck version-control remote-host region) :right (narrow python - ;; lsp - misc-info + my-modeline-time process count position)) @@ -2591,152 +2580,152 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi ;; ;; Lade das Basis-Theme (vivendi = dunkel) ;; (load-theme 'modus-vivendi :no-confirm)) -(use-package ef-themes - :ensure t - :demand t - :init - (ef-themes-take-over-modus-themes-mode 1) +;; (use-package ef-themes +;; :ensure t +;; :demand t +;; :init +;; (ef-themes-take-over-modus-themes-mode 1) - :custom - (modus-themes-italic-constructs t) - (modus-themes-bold-constructs t) - (modus-themes-prompts '(bold intense)) +;; :custom +;; (modus-themes-italic-constructs t) +;; (modus-themes-bold-constructs t) +;; (modus-themes-prompts '(bold intense)) - (ef-light-palette-overrides - '( - (bg-main "#efefef") - (fg-main "#313145") - (bg-dim "#bebed2") - (fg-dim "#7c7c98") - (bg-alt "#9e9eaf") - (fg-alt "#505063") - (bg-active "#22223a") - (bg-inactive "#efefef") +;; (ef-light-palette-overrides +;; '( +;; (bg-main "#efefef") +;; (fg-main "#313145") +;; (bg-dim "#bebed2") +;; (fg-dim "#7c7c98") +;; (bg-alt "#9e9eaf") +;; (fg-alt "#505063") +;; (bg-active "#22223a") +;; (bg-inactive "#efefef") - (red "#f43979") - (red-warmer "#ff669b") - (red-cooler "#d22a8b") - (red-faint "#f43979") +;; (red "#f43979") +;; (red-warmer "#ff669b") +;; (red-cooler "#d22a8b") +;; (red-faint "#f43979") - (green "#0073a8") - (green-warmer "#0073a8") - (green-cooler "#0073a8") - (green-faint "#0073a8") +;; (green "#0073a8") +;; (green-warmer "#0073a8") +;; (green-cooler "#0073a8") +;; (green-faint "#0073a8") - (yellow "#ff669b") - (yellow-warmer "#f43979") - (yellow-cooler "#d22a8b") - (yellow-faint "#ff669b") +;; (yellow "#ff669b") +;; (yellow-warmer "#f43979") +;; (yellow-cooler "#d22a8b") +;; (yellow-faint "#ff669b") - (blue "#2155d6") - (blue-warmer "#0073a8") - (blue-cooler "#2155d6") - (blue-faint "#2155d6") +;; (blue "#2155d6") +;; (blue-warmer "#0073a8") +;; (blue-cooler "#2155d6") +;; (blue-faint "#2155d6") - (magenta "#6916b6") - (magenta-warmer "#8d17a5") - (magenta-cooler "#471397") - (magenta-faint "#6916b6") +;; (magenta "#6916b6") +;; (magenta-warmer "#8d17a5") +;; (magenta-cooler "#471397") +;; (magenta-faint "#6916b6") - (cyan "#0073a8") - (cyan-warmer "#2155d6") - (cyan-cooler "#2155d6") - (cyan-faint "#0073a8") +;; (cyan "#0073a8") +;; (cyan-warmer "#2155d6") +;; (cyan-cooler "#2155d6") +;; (cyan-faint "#0073a8") - (bg-red-intense "#ff669b") - (bg-green-intense "#0073a8") - (bg-yellow-intense "#f43979") - (bg-blue-intense "#2155d6") - (bg-magenta-intense "#8d17a5") - (bg-cyan-intense "#0073a8") +;; (bg-red-intense "#ff669b") +;; (bg-green-intense "#0073a8") +;; (bg-yellow-intense "#f43979") +;; (bg-blue-intense "#2155d6") +;; (bg-magenta-intense "#8d17a5") +;; (bg-cyan-intense "#0073a8") - (bg-red-subtle "#bebed2") - (bg-green-subtle "#bebed2") - (bg-yellow-subtle "#bebed2") - (bg-blue-subtle "#bebed2") - (bg-magenta-subtle "#bebed2") - (bg-cyan-subtle "#bebed2") +;; (bg-red-subtle "#bebed2") +;; (bg-green-subtle "#bebed2") +;; (bg-yellow-subtle "#bebed2") +;; (bg-blue-subtle "#bebed2") +;; (bg-magenta-subtle "#bebed2") +;; (bg-cyan-subtle "#bebed2") - (bg-added "#bebed2") - (bg-added-faint "#efefef") - (bg-added-refine "#9e9eaf") - (fg-added "#0073a8") +;; (bg-added "#bebed2") +;; (bg-added-faint "#efefef") +;; (bg-added-refine "#9e9eaf") +;; (fg-added "#0073a8") - (bg-changed "#bebed2") - (bg-changed-faint "#efefef") - (bg-changed-refine "#9e9eaf") - (fg-changed "#f43979") +;; (bg-changed "#bebed2") +;; (bg-changed-faint "#efefef") +;; (bg-changed-refine "#9e9eaf") +;; (fg-changed "#f43979") - (bg-removed "#bebed2") - (bg-removed-faint "#efefef") - (bg-removed-refine "#9e9eaf") - (fg-removed "#d22a8b") +;; (bg-removed "#bebed2") +;; (bg-removed-faint "#efefef") +;; (bg-removed-refine "#9e9eaf") +;; (fg-removed "#d22a8b") - (bg-mode-line "#9e9eaf") - (fg-mode-line "#313145") - (bg-mode-line-active "#9e9eaf") - (fg-mode-line-active "#313145") - (bg-mode-line-inactive "#efefef") - (fg-mode-line-inactive "#7c7c98") +;; (bg-mode-line "#9e9eaf") +;; (fg-mode-line "#313145") +;; (bg-mode-line-active "#9e9eaf") +;; (fg-mode-line-active "#313145") +;; (bg-mode-line-inactive "#efefef") +;; (fg-mode-line-inactive "#7c7c98") - (border "#7c7c98") - (cursor "#471397") +;; (border "#7c7c98") +;; (cursor "#471397") - (bg-region "#bebed2") - (fg-region unspecified) - (bg-paren-match "#9e9eaf") - (bg-hl-line "#bebed2") +;; (bg-region "#bebed2") +;; (fg-region unspecified) +;; (bg-paren-match "#9e9eaf") +;; (bg-hl-line "#bebed2") - (bg-line-number-inactive "#efefef") - (fg-line-number-inactive "#7c7c98") - (bg-line-number-active "#bebed2") - (fg-line-number-active "#313145") +;; (bg-line-number-inactive "#efefef") +;; (fg-line-number-inactive "#7c7c98") +;; (bg-line-number-active "#bebed2") +;; (fg-line-number-active "#313145") - (builtin blue) - (comment yellow-faint) - (constant red) - (fnname blue) - (keyword magenta) - (string green) - (type cyan) - (variable blue-warmer) +;; (builtin blue) +;; (comment yellow-faint) +;; (constant red) +;; (fnname blue) +;; (keyword magenta) +;; (string green) +;; (type cyan) +;; (variable blue-warmer) - (err red-warmer) - (warning yellow-warmer) - (info green) +;; (err red-warmer) +;; (warning yellow-warmer) +;; (info green) - (link blue-warmer) - (link-alt magenta) - (name magenta-cooler) - (keybind blue-cooler) - (identifier magenta-faint) - (prompt green-cooler) +;; (link blue-warmer) +;; (link-alt magenta) +;; (name magenta-cooler) +;; (keybind blue-cooler) +;; (identifier magenta-faint) +;; (prompt green-cooler) - (date-common cyan-cooler) - (date-deadline red) - (date-event fg-alt) - (date-holiday magenta-warmer) - (date-scheduled yellow) - (date-weekday cyan) - (date-weekend red-faint) +;; (date-common cyan-cooler) +;; (date-deadline red) +;; (date-event fg-alt) +;; (date-holiday magenta-warmer) +;; (date-scheduled yellow) +;; (date-weekday cyan) +;; (date-weekend red-faint) - (mail-cite-0 blue-warmer) - (mail-cite-1 magenta) - (mail-cite-2 cyan-cooler) - (mail-cite-3 yellow-cooler) - (mail-recipient magenta-cooler) - (mail-subject blue-cooler) +;; (mail-cite-0 blue-warmer) +;; (mail-cite-1 magenta) +;; (mail-cite-2 cyan-cooler) +;; (mail-cite-3 yellow-cooler) +;; (mail-recipient magenta-cooler) +;; (mail-subject blue-cooler) - (prose-code magenta-warmer) - (prose-done green) - (prose-macro green-cooler) - (prose-tag green-faint) - (prose-todo red-warmer) - (prose-verbatim blue-warmer) - )) +;; (prose-code magenta-warmer) +;; (prose-done green) +;; (prose-macro green-cooler) +;; (prose-tag green-faint) +;; (prose-todo red-warmer) +;; (prose-verbatim blue-warmer) +;; )) - :config - (load-theme 'ef-light :no-confirm)) +;; :config +;; (load-theme 'ef-light :no-confirm)) ;; (use-package kanagawa-themes ;; :ensure t @@ -2978,9 +2967,11 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "d" '(:ignore t :wk "denote") "dd" '(denote-menu-list-notes t :wk "List all notes") - "dg" '(denote-grep t :wk "Search") + "dg" '(consult-denote-grep t :wk "Search") "dn" '(denote t :wk "Create a new note") "dr" '(denote-rename-file t :wk "Rename Note") + "dtl" '(tmr-list-timers :wk "list timer") + "dtt" '(tmr :wk "set timer") "f" '(:ignore t :wk "files") "fd" '(dired :wk "dired") @@ -3078,7 +3069,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (when (my/avy-enabled-p) (let ((scroll-margin 0) (maximum-scroll-margin 0)) - (call-interactively 'evil-avy-goto-char-timer))))) + (call-interactively 'flash-emacs-jump))))) (general-def '(normal visual) 'override "s" 'my/s-key-dispatch) @@ -3111,24 +3102,27 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (region-beginning) (region-end))))) -(my-local-leader - :keymaps 'org-mode-map - "h" '(consult-org-heading :wk "search headings") - "n" '(my-toggle-org-tree-indirect-buffer :wk "toggle narrow")) - (my-leader :keymaps 'org-mode-map - "c" '(:wk "Clock" :ignore) + "m" '(:ignore :wk "org") - "cs" '(org-schedule :wk "Schedule") - "cd" '(org-deadline :wk "Deadline") + "mt" '(org-todo :wk "TODO") + "ma" '(org-add-note :wk "add note") + "mC" '(org-capture :wk "capture") - "l" '(:wk "Link" :ignore) - "lc" '(org-cliplink :wk "Cliplink") - "li" '(org-download-clipboard :wk "Image") - "ll" '(org-insert-link :wk "Link various things") + "mc" '(:wk "set" :ignore) + "mcd" '(org-deadline :wk "deadline") + "mcs" '(org-schedule :wk "schedule") + "mce" '(org-set-effort :wk "effort") + "mcr" '(org-clock-report :wk "clock report") + "m," '(org-priority :wk "priority") + "mI" '(org-clock-in :wk "clock in") + "mO" '(org-clock-out :wk "clock out") + "l" '(:ignore :wk "link") + "lc" '(org-cliplink :wk "cliplink") + "li" '(org-download-clipboard :wk "image") + "ll" '(org-insert-link :wk "link various things")) - "t" '(org-todo :wk "TODO")) (evil-define-key 'normal org-mode-map (kbd "RET") 'org-open-at-point) ;; jinja2-mode-map @@ -3142,14 +3136,11 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "mf" '(fill-paragraph :wk "fill paragraph")) (my-leader - :keymaps 'python-mode-map - "m" '(:wk "Python mode" :ignore) - "mf" '(ruff-format-buffer :wk "format buffer") - ;; "mt" '(jinja2-insert-tag :wk "tag") - ;; "mc" '(jinja2-insert-comment :wk "comment") - - ;; "mf" '(fill-paragraph :wk "fill paragraph") - ) + :keymaps '(rust-mode-map rust-ts-mode-map) + "m" '(:wk "rust mode" :ignore) + "mr" '(rust-run :wk "run") + "mc" '(rust-clippy :wk "clippy") + "mC" '(rust-check :wk "check")) (with-eval-after-load 'denote-menu (general-def 'normal denote-menu-mode-map @@ -3158,6 +3149,17 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "e" 'denote-menu-export-to-dired "o" 'denote-menu-filter-out-keyword)) +(with-eval-after-load 'tmr + (general-def 'normal tmr-tabulated-mode-map + "y" 'tmr-clone + "c" 'tmr-cancel + "d" 'tmr-remove + "D" 'tmr-remove-finished + "n" 'tmr + "N" 'tmr-with-details + "e" 'tmr-edit-description + "r" 'tmr-reschedule)) + (general-def 'normal dirvish-mode-map "?" 'dirvish-dispatch "q" 'dirvish-quit @@ -3198,6 +3200,7 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi "m" '(mu4e :wk "mail") "p" '(pass :wk "pass") "o" '(my/global-olivetti-mode :wk "center buffer") + "i" '(projectile-ibuffer :wk "ibuffer project") "g" '(:wk "gptel" :ignore) @@ -3388,9 +3391,6 @@ completion-category-overrides '((file (styles partial-completion))))) ;; Customi (use-package emacs-everywhere :ensure t) -(use-package md4rd - :ensure t) - (use-package burly :ensure t) @@ -795,6 +795,7 @@ Not necessary but an eyecandy to look at! (setq org-startup-folded 'nil) (setq org-adapt-indentation t + ;; org-time-stamp-rounding-minutes '(5 5) org-return-follows-link t org-hide-leading-stars t org-pretty-entities t @@ -824,14 +825,17 @@ Not necessary but an eyecandy to look at! prepend))) t)) #+end_src -** org-workbench +*** prompt timestamps with time #+begin_src emacs-lisp -(use-package org-workbench - :straight (:host github :repo "yibie/org-workbench") - :after denote - :config - (org-workbench-setup)) +(defun my-org-read-date-always-with-time (orig-fun &optional org-with-time to-time from-string prompt default-time default-input inactive) + (cl-letf (((symbol-function 'org-read-date--get-current-time) + (lambda () (or default-time (current-time))))) + (let* ((default-input (or default-input + (format-time-string "%H:%M" (or default-time (current-time)))))) + (funcall orig-fun t to-time from-string prompt default-time default-input inactive)))) + +(advice-add 'org-read-date :around #'my-org-read-date-always-with-time) #+end_src ** org-appear @@ -865,8 +869,8 @@ Not necessary but an eyecandy to look at! (setq org-modern-replace-stars "◉○◉○◉") (setq org-modern-todo-faces - '(("TODO" :background "#3a3a3a" :foreground "#e0e0e0" :weight bold) - ("NEXT" :background "#ff9800" :foreground "#1a1a1a" :weight bold) + '(("TODO" :background "#3a3a3a" :foreground "#e0e0e0" :weight normal) + ("NEXT" :background "#ff9800" :foreground "#1a1a1a" :weight normal) ("ACTIVE" :background "#e91e63" :foreground "#ffffff" :weight bold) ("WAIT" :background "#2196f3" :foreground "#ffffff" :weight bold) ("DONE" :background "#4caf50" :foreground "#ffffff" :weight bold) @@ -1059,68 +1063,9 @@ and convert it to Org using the pandoc utility." ** org-ql #+begin_src emacs-lisp -;; (use-package org-ql -;; :ensure t -;; :after org-super-agenda -;; :config -;; (setq org-agenda-custom-commands -;; '(("t" "Project Task Overview" -;; ((org-ql-block '(and (tags "project") -;; (not (done))) -;; ((org-ql-block-header "Project Tasks") -;; (org-super-agenda-groups -;; '((:discard (:todo "FUN")) -;; (:name "ACTIVE" :todo "ACTIVE") -;; (:name "NEXT" :todo "NEXT") -;; (:name "TODO" :todo "TODO") -;; (:name "WAIT" :todo "WAIT"))))))) -;; ("p" "Personal Task Overview" -;; ((org-ql-block '(and (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done))) -;; ((org-ql-block-header "Personal & University Tasks") -;; (org-super-agenda-groups -;; '((:discard (:todo "FUN")) -;; (:name "ACTIVE" :todo "ACTIVE") -;; (:name "NEXT" :todo "NEXT") -;; (:name "TODO" :todo "TODO") -;; (:name "WAIT" :todo "WAIT"))))))) -;; ("w" "Weekly Overview" -;; ((org-ql-block '(and (or (deadline auto) -;; (scheduled :to 7)) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done)) -;; (not (habit))) -;; ((org-ql-block-header "Weekly Tasks") -;; (org-super-agenda-groups -;; '((:name "Deadlines" :deadline t :order 1) -;; (:name "Schedule" :scheduled t :order 2) -;; (:discard (:anything t)))))) -;; (org-ql-block '(and (ts-active :from today :to 7 :with-time t) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done)) -;; (not (habit))) -;; ((org-ql-block-header "Appointments") -;; (org-super-agenda-groups -;; '((:name "This Week" :anything t :order 1))))) -;; (org-ql-block '(and (habit) -;; (or (tags "self") -;; (tags "university")) -;; (not (tags "project")) -;; (not (done))) -;; ((org-ql-block-header "Habits") -;; (org-super-agenda-groups -;; '((:name "Daily Habits" :habit t :order 1) -;; (:discard (:anything t))))))))))) (use-package org-ql :ensure t :after org-super-agenda) - #+end_src @@ -1331,8 +1276,8 @@ and convert it to Org using the pandoc utility." (setq org-agenda-remove-tags t) -(setq split-width-threshold 0) -(setq split-height-threshold nil) +;; (setq split-width-threshold 0) +;; (setq split-height-threshold nil) (setq org-priority-faces '((?A . (:foreground "#ff6b6b" :weight bold)) @@ -1401,15 +1346,6 @@ and convert it to Org using the pandoc utility." (add-hook 'org-agenda-finalize-hook #'my/org-agenda-remove-tags) #+end_src -** TODO org-todo-keywords - -#+begin_src emacs-lisp -;; (setq org-todo-keywords -;; '((sequence "WAIT(w@/!)" "HABIT(h)" "TODO(t)" "NEXT(n)" "|" "DONE(d!)") -;; (sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" -;; "FUN(f)" "|" "COMPLETED(c)" "CANC(k@)"))) -#+end_src - ** ox-contrib @@ -1500,8 +1436,7 @@ Org Backend exporter for typst templates written and configured in org mode. #+begin_src emacs-lisp (use-package ox-pandoc :ensure t - :after org - ) + :after org) #+end_src * denote @@ -1532,6 +1467,15 @@ Denote fitself focused on the last versions to have a core for note taking and t (denote-agenda-insinuate)) #+end_src +** denote-journal + +#+begin_src emacs-lisp +(use-package denote-journal + :ensure t + :config + (setopt denote-journal-title-format 'day-date-month-year)) +#+end_src + ** config #+begin_src emacs-lisp @@ -1620,11 +1564,6 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (add-hook 'org-after-todo-state-change-hook #'my/denote-remove-task-filetag-and-silent-rename) #+end_src -** configuration - -#+begin_src emacs-lisp -#+end_src - ** denote-menu #+begin_src emacs-lisp @@ -1635,7 +1574,6 @@ Works on the base filename (without extension), e.g. matches \"-task\", \":task: (setq denote-menu-title-column-width 60)) #+end_src - ** denote-org Some goodies for better integration with org files. @@ -1682,14 +1620,6 @@ Some goodies for better integration with org files. (kill-buffer))))) #+end_src -** casual-avy - -#+begin_src emacs-lisp -(use-package casual-avy - :ensure t - :straight (:host github :repo "kickingvegas/casual-avy")) -#+end_src - ** ox-json #+begin_src emacs-lisp @@ -1729,7 +1659,14 @@ Some goodies for better integration with org files. #+begin_src emacs-lisp (use-package tmr :ensure t - :straight (:host github :repo "protesilaos/tmr")) + :straight (:host github :repo "protesilaos/tmr") + :config + (setq tmr-sound-file "/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga" + tmr-notification-urgency 'normal + tmr-description-list 'tmr-description-history) + + (define-key global-map (kbd "C-c t") #'tmr-prefix-map)) + #+end_src * which-key @@ -1818,6 +1755,29 @@ Some goodies for better integration with org files. (corfu-terminal-mode +1)) #+end_src +*** cape + +#+begin_src emacs-lisp +(use-package cape + :ensure t + ;; Bind prefix keymap providing all Cape commands under a mnemonic key. + ;; Press C-c p ? to for help. + ;; Alternatively bind Cape commands individually. + ;; :bind (("C-c p d" . cape-dabbrev) + ;; ("C-c p h" . cape-history) + ;; ("C-c p f" . cape-file) + ;; ...) + :init + ;; Add to the global default value of `completion-at-point-functions' which is + ;; used by `completion-at-point'. The order of the functions matters, the + ;; first function returning a result wins. Note that the list of buffer-local + ;; completion functions takes precedence over the global list. + (add-hook 'completion-at-point-functions #'cape-file) + ;; (add-hook 'completion-at-point-functions #'cape-history) + ;; ... +) +#+end_src + * consult #+begin_src emacs-lisp @@ -2711,7 +2671,24 @@ ily <3. avy-style 'at-full avy-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)) - (evil-define-avy-motion evil-avy-goto-char-timer inclusive)) + (evil-define-avy-motion emacs-flash-jump inclusive)) +#+end_src + +** emacs-flash + +#+begin_src emacs-lisp +(use-package flash-emacs + :ensure t + :straight (:host github :repo "JiaweiChenC/flash-emacs")) +#+end_src + +** avy-flash + +#+begin_src emacs-lisp +;; ZenScriptor/avy-flash +(use-package avy-flash + :ensure t + :straight (:host github :repo "ZenScriptor/avy-flash")) #+end_src * undo-tree @@ -3261,28 +3238,29 @@ ily <3. :config (setq maple-modeline-separator 'nil) (setq maple-modeline-height 25) - + (setq maple-modeline-icon t) + (defun maple-modeline-to-header-line () (setq-default tab-line-format mode-line-format) (setq-default mode-line-format nil)) (add-hook 'maple-modeline-mode-hook #'maple-modeline-to-header-line) - (display-time-mode 1) + (maple-modeline-define-segment my-modeline-time + :format (propertize (downcase (format-time-string " %I:%M %p ")) + 'face 'bold)) (maple-modeline-define my-custom-style :left ((evil :left (bar :left "")) macro buffer-info - ;; major-mode flycheck version-control remote-host region) :right (narrow python - ;; lsp - misc-info + my-modeline-time process count position)) @@ -3978,9 +3956,11 @@ ily <3. "d" '(:ignore t :wk "denote") "dd" '(denote-menu-list-notes t :wk "List all notes") - "dg" '(denote-grep t :wk "Search") + "dg" '(consult-denote-grep t :wk "Search") "dn" '(denote t :wk "Create a new note") "dr" '(denote-rename-file t :wk "Rename Note") + "dtl" '(tmr-list-timers :wk "list timer") + "dtt" '(tmr :wk "set timer") "f" '(:ignore t :wk "files") "fd" '(dired :wk "dired") @@ -3991,7 +3971,8 @@ ily <3. "b" '(:ignore t :wk "buffer/bookmarks") "bb" '(consult-bookmark :wk "display current bookmarks") - "bi" '(ibuffer :wk "ibuffer") + "bI" '(ibuffer :wk "ibuffer") + "bi" '(projectile-ibuffer :wk "ibuffer project") "bd" '(bookmark-delete :wk "delete bookmark") "bk" '(kill-current-buffer :wk "kill buffer") "bs" '(bookmark-set :wk "save bookmark") @@ -4078,7 +4059,7 @@ ily <3. (when (my/avy-enabled-p) (let ((scroll-margin 0) (maximum-scroll-margin 0)) - (call-interactively 'evil-avy-goto-char-timer))))) + (call-interactively 'flash-emacs-jump))))) (general-def '(normal visual) 'override "s" 'my/s-key-dispatch) @@ -4118,24 +4099,27 @@ ily <3. ** org mode keymaps #+begin_src emacs-lisp -(my-local-leader - :keymaps 'org-mode-map - "h" '(consult-org-heading :wk "search headings") - "n" '(my-toggle-org-tree-indirect-buffer :wk "toggle narrow")) - (my-leader :keymaps 'org-mode-map - "c" '(:wk "Clock" :ignore) + "m" '(:ignore :wk "org") - "cs" '(org-schedule :wk "Schedule") - "cd" '(org-deadline :wk "Deadline") + "mt" '(org-todo :wk "TODO") + "ma" '(org-add-note :wk "add note") + "mC" '(org-capture :wk "capture") - "l" '(:wk "Link" :ignore) - "lc" '(org-cliplink :wk "Cliplink") - "li" '(org-download-clipboard :wk "Image") - "ll" '(org-insert-link :wk "Link various things") + "mc" '(:wk "set" :ignore) + "mcd" '(org-deadline :wk "deadline") + "mcs" '(org-schedule :wk "schedule") + "mce" '(org-set-effort :wk "effort") + "mcr" '(org-clock-report :wk "clock report") + "m," '(org-priority :wk "priority") + "mI" '(org-clock-in :wk "clock in") + "mO" '(org-clock-out :wk "clock out") + "l" '(:ignore :wk "link") + "lc" '(org-cliplink :wk "cliplink") + "li" '(org-download-clipboard :wk "image") + "ll" '(org-insert-link :wk "link various things")) - "t" '(org-todo :wk "TODO")) (evil-define-key 'normal org-mode-map (kbd "RET") 'org-open-at-point) #+end_src @@ -4154,18 +4138,15 @@ ily <3. "mf" '(fill-paragraph :wk "fill paragraph")) #+end_src -** python-mode keymaps +** rust-mode keymaps #+begin_src emacs-lisp (my-leader - :keymaps 'python-mode-map - "m" '(:wk "Python mode" :ignore) - "mf" '(ruff-format-buffer :wk "format buffer") - ;; "mt" '(jinja2-insert-tag :wk "tag") - ;; "mc" '(jinja2-insert-comment :wk "comment") - - ;; "mf" '(fill-paragraph :wk "fill paragraph") - ) + :keymaps '(rust-mode-map rust-ts-mode-map) + "m" '(:wk "rust mode" :ignore) + "mr" '(rust-run :wk "run") + "mc" '(rust-run-clippy :wk "clippy") + "mC" '(rust-check :wk "check")) #+end_src ** denote-menu keymaps @@ -4179,6 +4160,21 @@ ily <3. "o" 'denote-menu-filter-out-keyword)) #+end_src +** tmr keynmaps + +#+begin_src emacs-lisp +(with-eval-after-load 'tmr + (general-def 'normal tmr-tabulated-mode-map + "y" 'tmr-clone + "c" 'tmr-cancel + "d" 'tmr-remove + "D" 'tmr-remove-finished + "n" 'tmr + "N" 'tmr-with-details + "e" 'tmr-edit-description + "r" 'tmr-reschedule)) +#+end_src + ** dirvish keymaps #+begin_src emacs-lisp |
