From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id GBELCG1Ycl9iXQAA0tVLHw (envelope-from ) for ; Mon, 28 Sep 2020 21:41:01 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2H3iA21Ycl/gfgAAbx9fmQ (envelope-from ) for ; Mon, 28 Sep 2020 21:41:01 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 45E409403C6 for ; Mon, 28 Sep 2020 21:41:00 +0000 (UTC) Received: from localhost ([::1]:51228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kN0tG-0008IS-Rq for larch@yhetil.org; Mon, 28 Sep 2020 17:40:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55528) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kN0sj-0008Et-BL for emacs-orgmode@gnu.org; Mon, 28 Sep 2020 17:40:27 -0400 Received: from smtprelay02.ispgateway.de ([80.67.31.36]:30077) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kN0sg-0002dm-P5 for emacs-orgmode@gnu.org; Mon, 28 Sep 2020 17:40:25 -0400 Received: from [46.244.213.60] (helo=condition-alpha.com) by smtprelay02.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) (envelope-from ) id 1kN0qH-00086e-6e for emacs-orgmode@gnu.org; Mon, 28 Sep 2020 23:37:53 +0200 Message-Id: From: Alexander Adolf To: emacs-orgmode@gnu.org Subject: [feature request] org-agenda-skip-unless Date: Mon, 28 Sep 2020 23:40:17 +0200 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= Received-SPF: pass client-ip=80.67.31.36; envelope-from=alexander.adolf@condition-alpha.com; helo=smtprelay02.ispgateway.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/28 17:40:18 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: eLjv2NWR7epb Hello All, I wanted to improve a bit on my current, simple agenda setup (setq org-agenda-custom-commands '(("n" "Agenda and all TODOs" ((agenda "" nil) (alltodo "" ((org-agenda-block-separator ""))))))) and achieve an agenda with three sections: 1) (agenda "" nil) 2) all todos with some planning information (scheduled or deadline) 3) all todos without any planning information Number 1 I already have. Number 3 can be achieved with (org-agenda-skip-function '(org-agenda-skip-if nil '(scheduled deadline))) But what about number 2? I searched the docs and code, bout couldn't seem to find anything. I hence ended up with the idea that I would need a new function, hypothetically (and cunningly) called org-agenda-skip-unless, which would do the same as org-agenda-skip-if, but with inverted logic. With that, my dream agenda would be: (setq org-agenda-custom-commands '(("n" "Agenda and all TODOs" ((agenda "" nil) (alltodo "" ((org-agenda-block-separator "") (org-agenda-overriding-header "TODO items with a date:") (org-agenda-skip-function '(org-agenda-skip-unless nil '(scheduled deadline))))) (alltodo "" ((org-agenda-block-separator "") (org-agenda-overriding-header "Other TODO items:") (org-agenda-skip-function '(org-agenda-skip-if nil '(scheduled deadline))))))))) Many thanks and looking forward to your thoughts, --alexander