From 4024ded7c6e298f71cf2884fc2344ca9baa9f684 Mon Sep 17 00:00:00 2001 From: Andsy10 Date: Tue, 19 May 2026 21:47:30 +0800 Subject: [PATCH] feat(android): Add Android platform support Configure dirvish, org, and package loading for Android: - Use shared storage paths for org notes on Android - Adjust dirvish layout and hide details for smaller screens - Disable async package on Android due to compatibility --- lisp/init-dired.el | 11 +++++++++-- lisp/init-org.el | 23 ++++++++++++++++++----- lisp/init-package.el | 11 ++++++----- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/lisp/init-dired.el b/lisp/init-dired.el index f5b61e2..3572eab 100644 --- a/lisp/init-dired.el +++ b/lisp/init-dired.el @@ -24,7 +24,7 @@ :config (if *is-windows* (require 'fix-dirvish-preview)) - (if *is-mac* + (if (or *is-mac* *is-android*) (setq dirvish-hide-details t) (setq dirvish-hide-details '(dirvish-side))) (setq dirvish-use-mode-line 'global) @@ -32,7 +32,9 @@ (unless *is-windows* (setq dirvish-attributes '(file-time file-size))) - (setq dirvish-default-layout '(1 0.15 0.45)) + (if *is-android* + (setq dirvish-default-layout '(1 0.6)) + (setq dirvish-default-layout '(1 0.15 0.45))) (with-eval-after-load 'dirvish (add-hook 'dired-mode-hook #'dired-hide-details-mode)) @@ -66,6 +68,11 @@ ("v" "~/视频/" "Videos") ("n" "~/org/my-org-note/" "Notes") ("g" "~/gptel/" "gptel sessions"))) + (*is-android* + '(("h" "~/" "Home") + ("e" "~/.emacs.d" "Emacs") + ("n" "~/storage/shared/my-org-note/" "Notes") + ("g" "~/gptel/" "gptel sessions"))) (t nil)))) (use-package trashed diff --git a/lisp/init-org.el b/lisp/init-org.el index 73fd7ee..7fa62bd 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -46,7 +46,7 @@ ;; agenda相关 (with-eval-after-load 'recentf - (add-to-list 'recentf-exclude "~/org/.*\\.org\\'")) + (add-to-list 'recentf-exclude (if *is-android* "~/storage/shared/my-org-note/.*\\.org\\'" "~/org/.*\\.org\\'"))) (cond (*is-windows* @@ -55,7 +55,9 @@ (*is-mac* (setq org-agenda-files '("~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org"))) (*is-linux* - (setq org-agenda-files '("~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org")))) + (setq org-agenda-files '("~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org"))) + (*is-android* + (setq org-agenda-files '("~/storage/shared/my-org-note/20260509T232442==agenda--all-my-todos__org.org")))) (setq org-agenda-span 'day) (setq org-default-priority ?C) @@ -186,8 +188,9 @@ (:name "someday" :todo "SOMEDAY"))))))))) ;; capture模板 -(unless *is-windows* - (setq org-capture-templates +(setq org-capture-templates + (cond + ((or *is-linux* *is-mac*) '(("t" "TODO" entry (file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") "* TODO %<%m-%d> %?\n%T" @@ -195,7 +198,17 @@ ("s" "SOMEDAY" entry (file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") "* SOMEDAY %<%m-%d> %?\n%T" - :empty-lines 1)))) + :empty-lines 1))) + (*is-android* + '(("t" "TODO" entry + (file+headline "~/storage/shared/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") + "* TODO %<%m-%d> %?\n%T" + :empty-lines 1) + ("s" "SOMEDAY" entry + (file+headline "~/storage/shared/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") + "* SOMEDAY %<%m-%d> %?\n%T" + :empty-lines 1))) + (t nil))) (setq org-bookmark-names-plist nil) diff --git a/lisp/init-package.el b/lisp/init-package.el index 6edd2e2..e4e9a31 100644 --- a/lisp/init-package.el +++ b/lisp/init-package.el @@ -10,11 +10,12 @@ (use-package restart-emacs) ;; async -(use-package async - :init - (dired-async-mode) - (async-bytecomp-package-mode 1) - (setq async-bytecomp-allowed-packages '(all))) +(unless *is-android* + (use-package async + :init + (dired-async-mode) + (async-bytecomp-package-mode 1) + (setq async-bytecomp-allowed-packages '(all)))) ;; multiple-cursors (use-package multiple-cursors