I think there’s two issues here:
* The <$link> widget doesn’t take a “filter” attribute; the “to” attribute is used to specify a single tiddler to link to. In this case you could use the list-links macro:
<<list-links "[all[current]tagging[]]">>
* You’re using the same state tiddler for all the buttons/reveals; this means that they are ganged together, and clicking any of the buttons opens all the reveal widgets. The solution is to use the qualify macro to generate a unique state tiddler name for each popup. To do that we have to move the body of the list widget into a separate template tiddler, eg called “ListEntryTemplate”:
<$button popup=<<qualify "$:/state/mytagchooser">>><<currentTiddler>></$button>
<$reveal type="popup" state=<<qualify "$:/state/mytagchooser">>>
<div class="tc-drop-down">
<<list-links "[all[current]tagging[]]">>
</div>
</$reveal>
Then you’d invoke it with the following:
<$list filter="[tag[Learning]sort[title]]" template="ListEntryTemplate”/>
Best wishes
Jeremy