Add org-agenda transient state

This commit is contained in:
Andre0991 2016-02-20 12:30:18 -02:00 committed by Eivind Fonn
parent 45043e7142
commit 5cf6ef877e
2 changed files with 183 additions and 25 deletions

View file

@ -24,6 +24,8 @@
- [[Navigating in calendar][Navigating in calendar]]
- [[Capture buffers and src blocks][Capture buffers and src blocks]]
- [[Org agenda][Org agenda]]
- [[Keybindings][Keybindings]]
- [[Org agenda transient state][Org agenda transient state]]
- [[Pomodoro][Pomodoro]]
- [[Presentation][Presentation]]
- [[Org-repo-todo][Org-repo-todo]]
@ -283,29 +285,105 @@ conventions.
| ~SPC m r~ | org-capture-refile in org-capture-mode |
** Org agenda
The evilified org agenda supports, the following bindings:
| Key Binding | Description |
|-------------+-------------------------------|
| ~SPC m :~ | org-agenda-set-tags |
| ~SPC m a~ | org-agenda |
| ~SPC m d~ | org-agenda-deadline |
| ~SPC m f~ | org-agenda-set-effort |
| ~SPC m I~ | org-agenda-clock-in |
| ~SPC m O~ | org-agenda-clock-out |
| ~SPC m P~ | org-agenda-set-property |
| ~SPC m q~ | org-agenda-refile |
| ~SPC m Q~ | org-agenda-clock-cancel |
| ~SPC m s~ | org-agenda-schedule |
| ~M-j~ | next item |
| ~M-k~ | previous item |
| ~M-h~ | earlier view |
| ~M-l~ | later view |
| ~gr~ | refresh |
| ~gd~ | toggle grid |
| ~C-v~ | change view |
| ~RET~ | org-agenda-goto |
| ~M-RET~ | org-agenda-show-and-scroll-up |
*** Keybindings
The evilified org agenda supports the following bindings:
| Key Binding | Description |
|----------------------+-------------------------------|
| ~M-SPC~ or ~s-M-SPC~ | org-agenda transient state |
| ~SPC m :~ | org-agenda-set-tags |
| ~SPC m a~ | org-agenda |
| ~SPC m d~ | org-agenda-deadline |
| ~SPC m f~ | org-agenda-set-effort |
| ~SPC m I~ | org-agenda-clock-in |
| ~SPC m O~ | org-agenda-clock-out |
| ~SPC m P~ | org-agenda-set-property |
| ~SPC m q~ | org-agenda-refile |
| ~SPC m Q~ | org-agenda-clock-cancel |
| ~SPC m s~ | org-agenda-schedule |
| ~M-j~ | next item |
| ~M-k~ | previous item |
| ~M-h~ | earlier view |
| ~M-l~ | later view |
| ~gr~ | refresh |
| ~gd~ | toggle grid |
| ~C-v~ | change view |
| ~RET~ | org-agenda-goto |
| ~M-RET~ | org-agenda-show-and-scroll-up |
*** Org agenda transient state
Use ~M-SPC~ or ~s-M-SPC~ in an org agenda buffer to activate its transient state.
The transient state aims to list the most useful org agenda commands and
visually organize them by category. The commands associated with each binding
are listed bellow.
| Keybinding | Description | Command |
|-------------+---------------------+-----------------------------------|
| Entry | | |
|-------------+---------------------+-----------------------------------|
| ~ht~ | set status | org-agenda-todo |
| ~hk~ | kill | org-agenda-kill |
| ~hr~ | refile | org-agenda-refile |
| ~hA~ | archive | org-agenda-archive-default |
| ~hT~ | set tags | org-agenda-set-tags |
| ~hp~ | set priority | org-agenda-priority |
|-------------+---------------------+-----------------------------------|
| Visit entry | | |
|-------------+---------------------+-----------------------------------|
| ~SPC~ | in other window | org-agenda-show-and-scroll-up |
| ~TAB~ | & go to location | org-agenda-goto |
| ~RET~ | & del other windows | org-agenda-switch-to |
| ~o~ | link | link-hint-open-link |
|-------------+---------------------+-----------------------------------|
| Filter | | |
|-------------+---------------------+-----------------------------------|
| ~ft~ | by tag | org-agenda-filter-by-tag |
| ~fr~ | refine by tag | org-agenda-filter-by-tag-refine |
| ~fc~ | by category | org-agenda-filter-by-category |
| ~fh~ | by top headline | org-agenda-filter-by-top-headline |
| ~fx~ | by regexp | org-agenda-filter-by-regexp |
| ~fd~ | delete all filters | org-agenda-filter-remove-all |
|-------------+---------------------+-----------------------------------|
| Date | | |
|-------------+---------------------+-----------------------------------|
| ~ds~ | schedule | org-agenda-schedule |
| ~dd~ | set deadline | org-agenda-deadline |
| ~dt~ | timestamp | org-agenda-date-prompt |
| ~+~ | do later | org-agenda-do-date-later |
| ~-~ | do earlier | org-agenda-do-date-earlier |
|-------------+---------------------+-----------------------------------|
| Toggle | | |
|-------------+---------------------+-----------------------------------|
| ~tf~ | follow | org-agenda-follow-mode |
| ~tl~ | log | org-agenda-log-mode |
| ~ta~ | archive | org-agenda-archives-mode |
| ~tr~ | clock report | org-agenda-clockreport-mode |
| ~td~ | diaries | org-agenda-toggle-diary |
|-------------+---------------------+-----------------------------------|
| View | | |
|-------------+---------------------+-----------------------------------|
| ~vd~ | day | org-agenda-day-view |
| ~vw~ | week | org-agenda-week-view |
| ~vt~ | fortnight | org-agenda-fortnight-view |
| ~vm~ | month | org-agenda-month-view |
| ~vy~ | year | org-agenda-year-view |
| ~vn~ | next span | org-agenda-later |
| ~vp~ | prev span | org-agenda-earlier |
| ~vr~ | reset | org-agenda-reset-view |
|-------------+---------------------+-----------------------------------|
| Clock | | |
|-------------+---------------------+-----------------------------------|
| ~ci~ | in | org-agenda-clock-in |
| ~co~ | out | org-agenda-clock-out |
| ~ck~ | cancel | org-agenda-clock-cancel |
| ~cj~ | jump | org-agenda-clock-goto |
|-------------+---------------------+-----------------------------------|
| Other | | |
|-------------+---------------------+-----------------------------------|
| ~gr~ | reload | org-agenda-redo |
| ~.~ | go to today | org-agenda-goto-today |
| ~gd~ | go to date | org-agenda-goto-date |
** Pomodoro

View file

@ -318,14 +318,92 @@ Will work on both org-mode and any mode that accepts plain html."
(spacemacs/set-leader-keys-for-major-mode 'org-agenda-mode
":" 'org-agenda-set-tags
"a" 'org-agenda
"d" 'org-agenda-deadline
"d" 'org-agenda-deadline
"f" 'org-agenda-set-effort
"I" 'org-agenda-clock-in
"O" 'org-agenda-clock-out
"P" 'org-agenda-set-property
"q" 'org-agenda-refile
"Q" 'org-agenda-clock-cancel
"s" 'org-agenda-schedule))
"s" 'org-agenda-schedule)
(spacemacs|define-transient-state org-agenda
:title "Org-agenda transient state"
:on-enter (setq which-key-inhibit t)
:on-exit (setq which-key-inhibit nil)
:foreign-keys run
:doc
"
Headline^^ Visit entry^^ Filter^^ Date^^ Toggle mode^^ View^^ Clock^^ Other^^
--------^^--------- -----------^^------------ ------^^----------------- ----^^------------- -----------^^------ ----^^--------- -----^^------ -----^^-----------
[_ht_] set status [_SPC_] in other window [_ft_] by tag [_ds_] schedule [_tf_] follow [_vd_] day [_ci_] in [_gr_] reload
[_hk_] kill [_TAB_] & go to location [_fr_] refine by tag [_dd_] set deadline [_tl_] log [_vw_] week [_co_] out [_._] go to today
[_hr_] refile [_RET_] & del other windows [_fc_] by category [_dt_] timestamp [_ta_] archive [_vt_] fortnight [_ck_] cancel [_gd_] go to date
[_hA_] archive [_o_] link [_fh_] by top headline [_+_] do later [_tr_] clock report [_vm_] month [_cj_] jump ^^
[_hT_] set tags ^^ [_fx_] by regexp [_-_] do earlier [_td_] diaries [_vy_] year ^^ ^^
[_hp_] set priority ^^ [_fd_] delete all filters ^^ ^^ [_vn_] next span ^^ ^^
^^ ^^ ^^ ^^ ^^ [_vp_] prev span ^^ ^^
^^ ^^ ^^ ^^ ^^ [_vr_] reset ^^ ^^
[_q_] quit
"
:bindings
;; Entry
("ht" org-agenda-todo)
("hk" org-agenda-kill)
("hr" org-agenda-refile)
("hA" org-agenda-archive-default)
("hT" org-agenda-set-tags)
("hp" org-agenda-priority)
;; Visit entry
("SPC" org-agenda-show-and-scroll-up)
("<tab>" org-agenda-goto :exit t)
("TAB" org-agenda-goto :exit t)
("RET" org-agenda-switch-to :exit t)
("o" link-hint-open-link :exit t)
;; Date
("ds" org-agenda-schedule)
("dd" org-agenda-deadline)
("dt" org-agenda-date-prompt)
("+" org-agenda-do-date-later)
("-" org-agenda-do-date-earlier)
;; View
("vd" org-agenda-day-view)
("vw" org-agenda-week-view)
("vt" org-agenda-fortnight-view)
("vm" org-agenda-month-view)
("vy" org-agenda-year-view)
("vn" org-agenda-later)
("vp" org-agenda-earlier)
("vr" org-agenda-reset-view)
;; Toggle mode
("tf" org-agenda-follow-mode)
("tl" org-agenda-log-mode)
("ta" org-agenda-archives-mode)
("tr" org-agenda-clockreport-mode)
("td" org-agenda-toggle-diary)
;; Filter
("ft" org-agenda-filter-by-tag)
("fr" org-agenda-filter-by-tag-refine)
("fc" org-agenda-filter-by-category)
("fh" org-agenda-filter-by-top-headline)
("fx" org-agenda-filter-by-regexp)
("fd" org-agenda-filter-remove-all)
;; Clock
("ci" org-agenda-clock-in :exit t)
("co" org-agenda-clock-out)
("ck" org-agenda-clock-cancel)
("cj" org-agenda-clock-goto :exit t)
;; Other
("q" nil :exit t)
("gr" org-agenda-redo)
("." org-agenda-goto-today)
("gd" org-agenda-goto-date)))
:config
(evilified-state-evilify-map org-agenda-mode-map
:mode org-agenda-mode
@ -339,7 +417,9 @@ Will work on both org-mode and any mode that accepts plain html."
(kbd "gd") 'org-agenda-toggle-time-grid
(kbd "gr") 'org-agenda-redo
(kbd "M-RET") 'org-agenda-show-and-scroll-up
(kbd "RET") 'org-agenda-goto)))
(kbd "RET") 'org-agenda-goto
(kbd "M-SPC") 'spacemacs/org-agenda-transient-state/body
(kbd "s-M-SPC") 'spacemacs/org-agenda-transient-state/body)))
(defun org/init-org-bullets ()
(use-package org-bullets