Minor issue related to colored tags
When multiple items are selected, of which only a subset has tag "1", pressing "1" gives different results depending on the position of the item that already has the tag. Here are two examples for illustration:
Example 1:
-> selecting both items and pressing "1" results in:
Example 2:
-> selecting both items and pressing "1" results in:
The expected behavior in both cases would be as in example 2.
Example 1:
item1, tag: "1"
item2, tag:
-> selecting both items and pressing "1" results in:
item1,tag:
item2,tag:
Example 2:
item1, tag:
item2, tag: "1"
-> selecting both items and pressing "1" results in:
item1, tag: "1"
item2, tag: "1"
The expected behavior in both cases would be as in example 2.
But what you propose may be clearer and more predictable. So it would be that if any selected items didn't have the tag, we would apply it to all items first. If all selected items had the tag, we'd clear it.