From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] org: org-get-priority: reduce `not`, deduplicate magic `(* 1000 ..)` operation Date: Thu, 10 Oct 2019 14:47:18 +0200 Message-ID: <875zkwepih.fsf@nicolasgoaziou.fr> References: <10577751569717294@sas1-a0d9133b67ec.qloud-c.yandex.net> <87imozeggw.fsf@nicolasgoaziou.fr> <5203711570570088@iva5-58d151f416d2.qloud-c.yandex.net> <2458361570573406@sas8-93eeb7dac565.qloud-c.yandex.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:34124) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iIXqs-00017A-8X for emacs-orgmode@gnu.org; Thu, 10 Oct 2019 08:47:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iIXqq-0006sd-N2 for emacs-orgmode@gnu.org; Thu, 10 Oct 2019 08:47:29 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:44933) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iIXqq-0006qN-Do for emacs-orgmode@gnu.org; Thu, 10 Oct 2019 08:47:28 -0400 In-Reply-To: <2458361570573406@sas8-93eeb7dac565.qloud-c.yandex.net> (Anton Latukha's message of "Wed, 09 Oct 2019 01:23:26 +0300") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Anton Latukha Cc: emacs-orgmode Hello, Anton Latukha writes: > Well, after re-reading my letter - it obviously probably comes off as > being very strong and ambitious. I am pretty cool-headed about > everything. I am aware of that I need to gradual do ideally clean and > 100% compatible changes, I looked at the code - and the changes needed > are at the pretty simple level, it can be done. I just need to be very > aware and understand all hardcode about default priorities, maybe just > simply create the custom checks, as in org-get-priority for > org-get-priority-function and `else` cases are default code. [...] > > I can not use the current default priority system. > I thought much about what system of priorities I feel great about using. > > I had a major idea. I become very driven by this idea. > > I want my priorities to be [00] -> [99] - which: > > 1) makes me mentally much more eager to set and work with them. > 2) The main thing is with 00->99 it is impossible to stress about, currently every time it is a decision is it A or B, or maybe C. And then priority C - why do I do something mediocre. > 3) 00 - 99 priorities have a natural scale, mentally you can feel their priority size, feeling easy setting and reviewing them, since setting them is intuitive and not a decision. > 4) It is a priority as a percentage of a full priority. > 5) It is a really scalable range, making all tasks be sorted much more granularly. > 6) You can select to show diapasons, like show me 99-90 tasks, 89-60, or if you feel tired and playful, and just want to do something not critical, not current-work related - you can look at 60-40. > 7) And you can move colliding priorities (like 80) to value +-1 -> which makes them automatically be sorted by your current planning more, and they would stay very close in the absolute picture, but > definitely one after the other. > 8) It works perfectly for GTD system. The next task comes to you naturally by itself. > > That's why I looked how to do it. And started working on this. These are interesting ideas, and probably worth developing. However, I don't think it would be a good default. As an user with simple priority needs, I find A-B-C system very straightforward, and I don't spend too much time thinking about the priority I should give to some task. With your system, it would be very troublesome for me: "what is the difference between a priority of 72 and 73?" or "yesterday, I gave this task a 70, but maybe it should be 68 because I just tagged this task at 69.". I.e., I would waste my time tweaking priorities. OTOH, the idea behind `org-get-priority-function' is to let anyone to plug-in a different priority system. Maybe the first improvement to the current system would be to make shifting to any priority-system as easy as possible, which is, IIUC, what you are suggesting. Once everything is in place, your ideas could be integrated as an alternate priority system within Org. In any case, I cannot help much you with this, as the time I can devote to Org is virtually non-existent these days. Hopefully, someone else can guide you, if necessary. Do not worry much about breaking code: do write tests! Regards, -- Nicolas Goaziou