How to fix tags in Dolphin

Tags are an incredible organisational tool. Apps like Obsidian are becoming increasingly popular for their tag based organisation, while it is almost unheard of to keep photos outside of a library with proper organisational tools. MacOS has tags built into the filesystem.

Tags in Dolphin are already incredibly powerful, but ultimately unusable for serious work, because:

  1. They are untrustworthy, and;
  2. They lack good organisation and filtering tools

The UI for adding and editing tags is also very clunky and confusing to new users and needs work.

THEY ARE UNTRUSTWORTHY

(BUG REPORT SUBMITTED FOR THE FOLLOWING)

Currently it is incredibly easy to accidentally delete or lose tags. As I understand it (I am not a developer) they are stored in extended attributes, meaning any time a file is copied, moved or written over without maintaining extended attributes, tags and ratings are lost.

  • Using the cp command without “-a” will lose tags and ratings

  • Using certain backup software like Timeshift will not backup tags and ratings (use BorgBackup or a GUI for that like Vorta to make sure tags and ratings are backed up)

  • Saving over a file in an application that is not aware of tags will delete the tags.

  • Tags and ratings may not be copied from some mounted filesystems even when using the same copy or move tools in Dolphin that would usually keep them

  • Bugs frequently occur that make losing tags and ratings easy, so it seems like it is not a very thoroughly tested functionality.

Some of the above may have proper solutions, and when they don’t they should be clearly signposted for new users. Popups at specific times like when tagging MIME types linked to apps that are not known to keep extended attributes when saving would advise users to tag/rate the containing folder instead of the file itself, or be aware the tag or rating may be saved over. There could be a first time popup when adding tags or ratings to advise the user that the extended attributes must me maintained to not lose the tag, and give examples of when that may be.

I also wonder if it is possible for baloo to catch certain instances of tags/ratings being accidentally removed and to have a popup that allows the user to easily re-add them, with an explanation of how they got removed.

Also:

  • Baloo also doesn’t currently update automatically when tags and ratings are changed, so a manual refresh is required for any tag information to be updated anywhere in Dolphin. If you haven’t remembered to manually F5, you may be looking at out of date tag/rating information. (Bug report submitted)

  • Renaming tags when viewing All Tags or tag fragments works in unintuitive ways. You cannot just rename a tag from there, instead you have to select all the files with that tag, hit Edit Tag in the Info Panel, then delete the tag you want to rename and re-add it. (Bug report submitted)

THEY LACK GOOD ORGANISATION AND FILTERING TOOLS

(BUG REPORT SUBMITTED FOR THE FOLLOWING)

There is a filter by tags option in the search panel but it is very limited. It currently doesn’t work at all (bug report submitted), but when it did it consisted of a drop down menu of every tag in your entire indexed system, which you can tick to only show items with those tags. This list can be very long if you have a lot of tags and has no search function within it; in fact it can be so long it can go off the bottom of the screen, and there is no scroll function to get to the bottom of the list. A search function and a scroll function for that Add Tags dropdown in the search panel would go a long way to allowing users to sort through lots of tags. An even more useful way to make that list easier to navigate would be to hide tags if they would yield no results; that is, only show tags in the folder being searched, that appear with the tags you have already selected.

Dolphin also of course has a dedicated filter bar, but as far as I know there is no way to use that to easily type out the tags you want to see listed.

THE ACTUAL SOLUTION: A TAGS PANEL

Personally I think the current functionality to add, edit, view, filter by tags is confusing and scattered throughout the UI. What we need is a dedicated Tags Panel.

I don’t think tags need to be removed from the Info and Places panels, although in the Places panel, although I wouldn’t be having tags appear in the Places panel by default, aside from All Tags, instead dragged there from the Tags Panel or All Tags.

Tags Panel Basic View

The Tags Panel will only list tags within the current directory and its sub-directories. Using the tickboxes initiates a search in the current directory, without enabling the search panel.
The tickbox on the left is the same as the Add Tags tickboxes from the Search Panel, only showing in the search items with the selected tags. The tickbox on the right (which ideally would be visually differentiated even when un-ticked rather than my solution of confusing “show” and “hide” labels above the columns) allows you to hide items with certain tags from your search. As you check those boxes, the list grows shorter, only showing options that would yield results; that is, only show tags in the folder being searched or its sub-directories, that appear with the tags you have checked “Show”, and that don’t appear with the tags you have checked “Hide”.

With this filter functionality from the Tags Panel, the “Add Tags” dropdown in the search panel is redundant and should be removed, and the user can use a combination of the search panel and the new Tags Panel to filter their search results. This would require the Tags Panel to respond to your search settings like where you are searching (“From Here (location)” VS “Your files”).

N.B. to navigate to a tag fragment for a selected file, you would still need to click on the tag from the Info Panel, but I think this is the correct design, keeping the Tags Panel for filtering.

You can search for tags from the list using the search box, a basic text filter to find tags in a long list.

The add tag button to the left of the search box turns the whole panel into an add/edit tags menu, similar to the window that appears when clicking “Edit…” (in the Tags section) from the Info Panel – perhaps this should be more of an “edit tags” button than “add tag”, but I used the add tag symbol in my design because it was already there. When this button is clicked, the list of tags to filter by becomes list of all tags, the ones that apply to your selected item already ticked, and the search box becomes an Add Tags box. This mode should also be able to be activated with a keyboard shortcut.
The Add Tags box is similar to the Create New Tags box from that Edit Tags window, but I would amend its functionality to be able to add both new and existing tags. Currently to add tags, you bring up the Edit Tags window, and add one tag at a time by either selecting it from the list or typing the tag exactly and in full. To improve this experience, a case-insensitive autocomplete function should allow you to easily search existing tags by simply typing it in the Add Tags box and pressing enter once the autocomplete has done its job and found your desired existing tag. Once you have pressed enter and added that tag, your cursor will remain in the add tags box for you to immediately type another tag, instead of exiting the window as is the current behaviour, which requires you to click “Edit…” again to add another tag.
Another improvement over the current Edit Tags window would be to sort all currently selected tags for your item to the top of the list.

I realised immediately after posting that when the tags panel is in the standard filter by tag mode (not the edit tags mode, where it would presumably behave like the current Edit Tags menu) the tags in the list should definitely work as links to the tag fragment (just the normal tag fragment you’d access through All Tags or by clicking a tag in the Info Panel, not searching in the current directory).

1 Like

I have now added this feature request over at bugs.kde