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
This commit is contained in:
2026-05-19 21:47:30 +08:00
parent ff77b5cafe
commit 4024ded7c6
3 changed files with 33 additions and 12 deletions

View File

@@ -24,7 +24,7 @@
:config :config
(if *is-windows* (require 'fix-dirvish-preview)) (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 t)
(setq dirvish-hide-details '(dirvish-side))) (setq dirvish-hide-details '(dirvish-side)))
(setq dirvish-use-mode-line 'global) (setq dirvish-use-mode-line 'global)
@@ -32,7 +32,9 @@
(unless *is-windows* (unless *is-windows*
(setq dirvish-attributes '(file-time file-size))) (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 (with-eval-after-load 'dirvish
(add-hook 'dired-mode-hook #'dired-hide-details-mode)) (add-hook 'dired-mode-hook #'dired-hide-details-mode))
@@ -66,6 +68,11 @@
("v" "~/视频/" "Videos") ("v" "~/视频/" "Videos")
("n" "~/org/my-org-note/" "Notes") ("n" "~/org/my-org-note/" "Notes")
("g" "~/gptel/" "gptel sessions"))) ("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)))) (t nil))))
(use-package trashed (use-package trashed

View File

@@ -46,7 +46,7 @@
;; agenda相关 ;; agenda相关
(with-eval-after-load 'recentf (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 (cond
(*is-windows* (*is-windows*
@@ -55,7 +55,9 @@
(*is-mac* (*is-mac*
(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-linux* (*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-agenda-span 'day)
(setq org-default-priority ?C) (setq org-default-priority ?C)
@@ -186,8 +188,9 @@
(:name "someday" :todo "SOMEDAY"))))))))) (:name "someday" :todo "SOMEDAY")))))))))
;; capture模板 ;; capture模板
(unless *is-windows* (setq org-capture-templates
(setq org-capture-templates (cond
((or *is-linux* *is-mac*)
'(("t" "TODO" entry '(("t" "TODO" entry
(file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") (file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do")
"* TODO %<%m-%d> %?\n%T" "* TODO %<%m-%d> %?\n%T"
@@ -195,7 +198,17 @@
("s" "SOMEDAY" entry ("s" "SOMEDAY" entry
(file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do") (file+headline "~/org/my-org-note/20260509T232442==agenda--all-my-todos__org.org" "Something to do")
"* SOMEDAY %<%m-%d> %?\n%T" "* 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) (setq org-bookmark-names-plist nil)

View File

@@ -10,11 +10,12 @@
(use-package restart-emacs) (use-package restart-emacs)
;; async ;; async
(use-package async (unless *is-android*
(use-package async
:init :init
(dired-async-mode) (dired-async-mode)
(async-bytecomp-package-mode 1) (async-bytecomp-package-mode 1)
(setq async-bytecomp-allowed-packages '(all))) (setq async-bytecomp-allowed-packages '(all))))
;; multiple-cursors ;; multiple-cursors
(use-package multiple-cursors (use-package multiple-cursors