diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-13 16:09:54 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-13 16:09:54 -0500 |
| commit | 1fc6925f9328ce7ce909aad0acf619d618eddcc2 (patch) | |
| tree | caa0fbbef6bddb294e51bc855836a4a0db916056 | |
| parent | 8fc423d90eff78176fa538f2cf838cb671592e99 (diff) | |
| download | dotemacs-1fc6925f9328ce7ce909aad0acf619d618eddcc2.tar.gz dotemacs-1fc6925f9328ce7ce909aad0acf619d618eddcc2.zip | |
feat(dashboard): add Telegram launcher to a new third row
`dashboard-navigator-buttons' grows a Row 3 with a single Telegram entry (using the `nf-fa-telegram' icon, launching `telega'). The dashboard-mode-map gets a single-letter `g' shortcut to match the other launcher keys.
Two follow-up TODOs filed under the parent telegram task: the TDLib docker setup script (so a fresh-clone install can boot telega without a system-wide TDLib build) and a dashboard-icon-balance pass (Row 3 with one entry is asymmetric; decide whether to leave it or reorganize).
| -rw-r--r-- | modules/dashboard-config.el | 9 | ||||
| -rw-r--r-- | todo.org | 24 |
2 files changed, 31 insertions, 2 deletions
diff --git a/modules/dashboard-config.el b/modules/dashboard-config.el index 7adcdee7..2fbed716 100644 --- a/modules/dashboard-config.el +++ b/modules/dashboard-config.el @@ -179,6 +179,12 @@ Adjust this if the title doesn't appear centered under the banner image.") (,(nerd-icons-devicon "nf-dev-terminal") "Terminal" "Launch VTerm" (lambda (&rest _) (vterm)) + nil " " "")) + + ;; Row 3 + ((,(nerd-icons-faicon "nf-fa-telegram") + "Telegram" "Telega Telegram Client" + (lambda (&rest _) (telega)) nil " " "")))) ;; == content @@ -201,7 +207,8 @@ Adjust this if the title doesn't appear centered under the banner image.") (define-key dashboard-mode-map (kbd "i") (lambda () (interactive) (cj/erc-switch-to-buffer-with-completion))) (define-key dashboard-mode-map (kbd "s") (lambda () (interactive) (cj/slack-start))) (define-key dashboard-mode-map (kbd "t") (lambda () (interactive) (vterm))) - (define-key dashboard-mode-map (kbd "d") (lambda () (interactive) (dirvish user-home-dir)))) + (define-key dashboard-mode-map (kbd "d") (lambda () (interactive) (dirvish user-home-dir))) + (define-key dashboard-mode-map (kbd "g") (lambda () (interactive) (telega)))) ;; Override banner title centering (must be after dashboard-widgets loads) (with-eval-after-load 'dashboard-widgets @@ -43,6 +43,28 @@ Tags are additive. For example, a small wrong-behavior fix can be https://github.com/zevlg/telega.el Make sure there is a setup script to run, so that the docker container can be installed post emacs dotfiles repository clone on a fresh install also, let's add an icon to the dashboard for this. perhaps this is the beginning of the third row? If so, add a child task to review and balance the dashboard icons + +Progress so far: +- =modules/telega-config.el= shipped with =telega-use-docker t= and the + =C-; G= launcher binding (=C-; t= and =C-; m t= were both taken). +- Dashboard Row 3 added with the Telegram icon; dashboard-mode-map =g= + key launches =telega=. +- TDLib docker setup script (=scripts/setup-telega.sh=) still TODO -- + see child task below. + +*** TODO [#B] Add =scripts/setup-telega.sh= for TDLib docker container :feature: +Pull or build the telega TDLib container so a fresh-clone install can +run telega without a system-wide TDLib build. Mirror the +=scripts/setup-email.sh= pattern: =main()= wrapped in a +=BASH_SOURCE == 0= guard so the script is sourceable for bats tests; +bats test file =tests/test-setup-telega.bats= with =docker= stubbed. + +*** TODO [#C] Review and balance dashboard icon layout :refactor: +Adding the Telegram icon started a third row that has only one entry. +Decide whether to (a) leave it asymmetric and let the row fill in as +new launchers arrive, (b) move an existing icon down to balance 5/5/2 +or similar, or (c) reorganize by category (work / read / chat / play). +Surfaced when Telegram landed in Row 3 alone. ** DOING [#A] Org Agenda fixes :bug: *** 2026-05-13 Wed @ 13:05:21 -0500 Skip CANCELLED entries from main agenda SCHEDULE see the following screenshot @@ -56,7 +78,7 @@ narrow -- DONE and FAILED scheduled tasks still render. Tests in =tests/test-org-agenda-config-skip-functions.el= (Normal + Boundary) lock in the configuration form on the agenda block and verify the other blocks aren't accidentally carrying the same skip. -**** TODO [#C] Refactor: extract org-agenda-prefix-format literal :refactor: +*** TODO [#C] Refactor: extract org-agenda-prefix-format literal :refactor: =modules/org-agenda-config.el= currently inlines =" %i %-15:c%?-15t% s"= across four blocks of =org-agenda-custom-commands= (overdue, hi-pri, schedule, priority-B). Extract into a defvar (e.g. |
