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.

Reply via email to