feat: Add multiple keyboard bindings and UI improvements

- Add `my-denote-open-metanote` function and keybinding
- Add `discomfort` and `xdg-launcher-run-app` bindings for Linux
- Add `mc/add-cursor-on-click` binding
- Add `guix` package
- Fix pixel-scroll-precision
- Add terminal UI theme improvements for xref and match faces
- Rename functions to `my-` prefix for consistency
- Reorganize org agenda priority grouping
- Switch EMMS default player to VLC
This commit is contained in:
2026-06-17 09:23:37 +08:00
parent 81b17ab120
commit f55f775139
7 changed files with 48 additions and 14 deletions

View File

@@ -220,9 +220,15 @@
:straight nil :straight nil
:hook :hook
(after-init . pixel-scroll-precision-mode) (after-init . pixel-scroll-precision-mode)
:config :init
(setq scroll-preserve-screen-position t (setq scroll-preserve-screen-position t
scroll-conservatively 101))) scroll-conservatively 101)
:config
(advice-add 'pixel-scroll-precision :around
(lambda (orig event)
(cl-letf (((symbol-function 'device-class)
(lambda (&rest _) 'mouse)))
(funcall orig event))))))
;; eww ;; eww
(use-package eww (use-package eww

View File

@@ -96,6 +96,11 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
(find-file (my-denote-journal-path-to-existing-entry)) (find-file (my-denote-journal-path-to-existing-entry))
(message "No journal for today yet"))) (message "No journal for today yet")))
(defun my-denote-open-metanote ()
"Open denote metanote in `~/org/my-org-note/20260508T220745==metanote--all-my-metanotes__org.org'"
(interactive)
(find-file "~/org/my-org-note/20260508T220745==metanote--all-my-metanotes__org.org"))
(defun org-table-align-all () (defun org-table-align-all ()
"Ajust all table in current buffer." "Ajust all table in current buffer."
(interactive) (interactive)
@@ -221,13 +226,13 @@ Disable jinx-mode if it's enable and global-jinx-mode is disable , otherwise tog
(dolist (buf buffers) (dolist (buf buffers)
(persp-set-buffer buf)))) (persp-set-buffer buf))))
(defun gptel-agent-project () (defun my-gptel-agent-project ()
"Run `gptel-agent' in current project's root (by run it with prefix argument)." "Run `gptel-agent' in current project's root (by run it with prefix argument)."
(interactive) (interactive)
(let ((current-prefix-arg '-)) (let ((current-prefix-arg '-))
(call-interactively 'gptel-agent))) (call-interactively 'gptel-agent)))
(defun consult-ripgrep-project () (defun my-consult-ripgrep-project ()
"Run `consult-ripgrep' in current project's root." "Run `consult-ripgrep' in current project's root."
(interactive) (interactive)
(when-let* ((proj (project-current t))) (when-let* ((proj (project-current t)))

View File

@@ -71,11 +71,11 @@
:prefix "C-x p" :prefix "C-x p"
"b" 'consult-project-buffer "b" 'consult-project-buffer
"E" 'eat-project "E" 'eat-project
"r" 'consult-ripgrep-project "r" 'my-consult-ripgrep-project
"R" 'project-query-replace-regexp "R" 'project-query-replace-regexp
"v" 'magit-project-status "v" 'magit-project-status
"V" 'project-vc-dir "V" 'project-vc-dir
"a" 'gptel-agent-project) "a" 'my-gptel-agent-project)
;; g for magit ;; g for magit
(general-unbind "C-x g") (general-unbind "C-x g")
@@ -107,7 +107,8 @@
"v" 'my-blog-preview "v" 'my-blog-preview
"d" 'denote "d" 'denote
"r" 'denote-rename-file-date "r" 'denote-rename-file-date
"R" 'denote-rename-file) "R" 'denote-rename-file
"m" 'my-denote-open-metanote)
;; q for org-ql ;; q for org-ql
(general-def (general-def
@@ -142,7 +143,8 @@
"h" 'dirvish-history-menu "h" 'dirvish-history-menu
"f" 'dirvish-fd "f" 'dirvish-fd
"F" 'dirvish-fd-switches-menu "F" 'dirvish-fd-switches-menu
"t" 'trashed) "t" 'trashed
"d" 'discomfort)
;; scratch buffer ;; scratch buffer
(if *is-mac* (if *is-mac*
@@ -172,7 +174,7 @@
(general-def (dired-mode-map dirvish-mode-map) (general-def (dired-mode-map dirvish-mode-map)
:prefix "C-c d" :prefix "C-c d"
"d" 'dirvish-setup-menu "u" 'dirvish-setup-menu
"r" 'dirvish-renaming-menu "r" 'dirvish-renaming-menu
"v" 'dirvish-vc-menu "v" 'dirvish-vc-menu
"m" 'dirvish-mark-menu "m" 'dirvish-mark-menu
@@ -244,7 +246,8 @@
"<left>" 'org-tree-slide-move-previous-tree "<left>" 'org-tree-slide-move-previous-tree
"<right>" 'org-tree-slide-move-next-tree "<right>" 'org-tree-slide-move-next-tree
"C-c o t" 'my-org-tree-slide-stop "C-c o t" 'my-org-tree-slide-stop
"ESC" 'my-org-tree-slide-stop) "ESC" 'my-org-tree-slide-stop
"q" 'my-org-tree-slide-stop)
;; hs-hide-mode ;; hs-hide-mode
(general-def hs-minor-mode-map (general-def hs-minor-mode-map
@@ -346,6 +349,7 @@
"M-B" 'drag-stuff-left "M-B" 'drag-stuff-left
"C-M-SPC" 'er/mark-symbol "C-M-SPC" 'er/mark-symbol
"M-@" 'er/mark-word "M-@" 'er/mark-word
"C-S-<mouse-1>" 'mc/add-cursor-on-click
;; undo ;; undo
"C-/" 'undo-fu-only-undo "C-/" 'undo-fu-only-undo
@@ -381,9 +385,14 @@
"C-x v =" 'magit-diff-buffer-file "C-x v =" 'magit-diff-buffer-file
"C-;" 'embark-act) "C-;" 'embark-act)
(when *is-android* (cond
(*is-android*
(general-def (general-def
"C-M-w" 'popper-toggle-type-delete-other-window)) "C-M-w" 'popper-toggle-type-delete-other-window))
(*is-linux*
(general-def
"M-S-SPC" 'xdg-launcher-run-app))
(t nil))
;; expand region ;; expand region
(setq expand-region-reset-fast-key "r") (setq expand-region-reset-fast-key "r")

View File

@@ -188,7 +188,8 @@
'((:name "started" :todo "STARTED") '((:name "started" :todo "STARTED")
(:name "priority = A" :priority "A") (:name "priority = A" :priority "A")
(:name "priority = B" :priority "B") (:name "priority = B" :priority "B")
(:name "other priority" :priority< "B") (:name "priority = C" :priority "C")
(:name "other priority" :priority< "C")
(:name "someday" :todo "SOMEDAY")))))))))) (:name "someday" :todo "SOMEDAY"))))))))))
;; capture ;; capture

View File

@@ -134,7 +134,7 @@
(emms-playlist-mode-switch-buffer) (emms-playlist-mode-switch-buffer)
:config :config
(emms-all) (emms-all)
(setq emms-player-list '(emms-player-mpv) (setq emms-player-list '(emms-player-vlc)
emms-info-functions '(emms-info-native)) emms-info-functions '(emms-info-native))
(emms-history-load)) (emms-history-load))
@@ -163,6 +163,10 @@
;; power-mode ;; power-mode
(use-package power-mode) (use-package power-mode)
;; guix
(if *is-linux*
(use-package guix))
(provide 'init-package) (provide 'init-package)
;;; init-package.el ends here ;;; init-package.el ends here

View File

@@ -22,6 +22,10 @@
(general-def diff-mode-map (general-def diff-mode-map
"M-o" 'other-window) "M-o" 'other-window)
;; dired
(general-def dired-mode-map
"b" 'dired-up-directory)
;; global map with C-c prefix ;; global map with C-c prefix
(general-def (general-def
:prefix "C-c" :prefix "C-c"

View File

@@ -20,6 +20,7 @@
(defvar base02 "#0c2b29") (defvar base02 "#0c2b29")
(defvar base01 "#4d6967") (defvar base01 "#4d6967")
(defvar base00 "#728e8c") (defvar base00 "#728e8c")
(defvar base1 "#7f9b99")
(defvar cyan "#01928d") (defvar cyan "#01928d")
(defvar blue "#2570cd") (defvar blue "#2570cd")
(defvar green "#3a9c36") (defvar green "#3a9c36")
@@ -34,6 +35,7 @@
`(region ((t (:exdend t :foreground ,base03 :background ,base00)))) `(region ((t (:exdend t :foreground ,base03 :background ,base00))))
`(shadow ((t (:foreground ,base01)))) `(shadow ((t (:foreground ,base01))))
`(error ((t (:foreground ,orange)))) `(error ((t (:foreground ,orange))))
`(warning ((t (:foreground ,yellow))))
`(font-lock-builtin-face ((t (:foreground ,base00 :weight bold :slant normal)))) `(font-lock-builtin-face ((t (:foreground ,base00 :weight bold :slant normal))))
`(font-lock-comment-face ((t (:foreground ,base01)))) `(font-lock-comment-face ((t (:foreground ,base01))))
`(font-lock-keyword-face ((t (:foreground ,cyan :weight bold)))) `(font-lock-keyword-face ((t (:foreground ,cyan :weight bold))))
@@ -68,7 +70,10 @@
`(diff-added ((t (:foreground "#73b971" :background "#103628")))) `(diff-added ((t (:foreground "#73b971" :background "#103628"))))
`(diff-refine-added ((t (:foreground "#8cc78d" :background "#1d522e")))) `(diff-refine-added ((t (:foreground "#8cc78d" :background "#1d522e"))))
`(diff-removed ((t (:foreground "#e17360" :background "#2d2c25")))) `(diff-removed ((t (:foreground "#e17360" :background "#2d2c25"))))
`(diff-refine-removed ((t (:foreground "#e7917f" :background "#5c3225")))))) `(diff-refine-removed ((t (:foreground "#e7917f" :background "#5c3225"))))
`(xref-file-header ((t (:foreground ,base01))))
`(xref-line-number ((t (:foreground ,green))))
`(match ((t (:foreground ,base1 :background ,base02 :weight bold))))))
(progn (progn
(global-hl-line-mode nil))) (global-hl-line-mode nil)))