THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added:
FS#1229 - Tag "index" is not handled properly User who did this - Emmanuel Lepage Vallee (Elv13) ---------- While looking at awful.tag.gettags() to do a quick fix to my problem. I came to think that the way the tags are stored is the main problem here. First, selecting a tag is O(n) instead of O(1), but then there is this dual concept of index. One is stored in the property, but all function referring to idx use the gettags()[] index. Gettags is also called way too many time, making tags switching exponentially slow relative to _both_ the number of tags _and_ the number of screens. I think a capi.tag object should have a read only index, that the C core should keep a list of tags per screen (and a global one, because we still need it). The screen should also be kept and managed in the C side and clients should have their screen match the tag screen on the C side too. Doing it in the "upper levels" of the API such as awful is the source of about 10 known bugs, including 2 that Tyrannical "monkey patch" at runtime. As you said, what Tyrannical is doing is deeply wrong, but is better than having the bugs. We should have a way to get the index without being O(N^2) (looping to create the index map, then looping to find the tag index). ---------- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1229#comment3881 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.