Since the personal productivity stackexchange will be closed soon, I repost my answer to my question I gave there.
Inspired by the comments to my question on emacs.SE, I came up with the following solution.
I have an org-file with general entries and there I created a section with the title "Task Blocks" which contains as headings the task blocks, grouped into general and specific blocks. These blocks then contain the time stamps for when they are scheduled. For example these blocks could look like the following:
* Taks blocks
** Generic blocks
*** Learning languages
<2018-02-15 19:00-20:00>
<2018-02-16 19:00-20:00>
*** Lunch
<2018-02-16 18:00-19:00>
** Specific blocks
*** Work on my paper on interesting stuff
<2018-02-16 10:00-11:00>
Note that these blocks can have multiple time stamps - one for each time this type of task is scheduled.
Then I schedule my tasks as I did before but I schedule them inside the blocks defined above, e.g. the org-file on research could look as follows:
* Paper on interesting stuff
** TODO Find literature on this and that
SCHEDULED: <2018-02-16 10:00-11:00>
** TODO Summarize something
SCHEDULED: <2018-02-16 10:00-11:00>
...
As suggested in this answer, I also changed the behaviour of the sorting in the agenda by setting
(setq org-agenda-sorting-strategy '((agenda habit-down time-up ts-up
priority-down category-keep)
(todo priority-down category-keep)
(tags priority-down category-keep)
(search category-keep)))
This now results in the agenda to look the following way:
...
10:00-11:00 Work on my paper on interesting stuff
10:00-11:00 Scheduled: TODO Find literature on this and that
10:00-11:00 Scheduled: TODO Summarize something
10:00-11:00 Scheduled: ...
...
In my opinion this implements the strategy suggested in Deep Work to some extent.
* 6:00 to 7:00 a.m. -- This is my first block.
;** Wake up. [SCHEDULED time stamp]
;* 7:00 to 8:00 a.m. -- This is my second block.
;** Take a shower. [SCHEDULED time stamp]
;*** Wash behind my ears.
. Add DEADLINE time stamps where needed.org-agenda-list
,org-search-view
, andorg-tags-view
. What shows up is customizable in different ways depending upon restrictions / exclusions, variables, etc. Have a look at the Advanced Search section of the org manual orgmode.org/worg/org-tutorials/advanced-searching.html and also have a look at definingorg-agenda-custom-commands
to make your customized search easier. You can Google detailed examples of theorg-agenda-custom-commands
written by Sacha, etc.