Hi Torsten, thanks for the mock-ups -- very useful to get a quick overview.
I'm still reluctant to implement what you propose, because the two issues (cycling and hiding) are still too intertwined for me. Here is how I would like the problems: 1. The fact that property drawers with only "technical" properties are shown when cycling. 2. The fact that property drawers with only "technical" properties are shown altogether. 3. The fact that "technical" properties are shown when unfolding a drawer. 4. The fact that "technical" properties are shown altogether. We started from (4), moved to (3), then stumbled on (1) and (2). It seems to me that (4) is fundamental -- other issues depend on it. It also occurred to me you only want this kind of feature when you are actually editing your org file -- not when it is processed by a third-part tool or by the Agenda. Chances are that you don't want the properties to be always invisible... and editing HIDE_PROPS just to hide/unhide some properties is not handy. So I implemented this simple solution, now available in the git repo: M-: (setq org-custom-properties '("ID")) RET M-x org-toggle-custom-properties-visibility RET will hide all :ID: properties in the buffer. The same command again will show them. If `org-catch-invisible-edits' is non-nil, trying to edit an invisible property will throw a question/error. I hope this suits most people needs in this thread. Thanks again for triggering this dicussion! -- Bastien