Task Coloring Taxonomy

I think all use-cases involving the coloring of tasks use the color as a proxy for something else (e.g. priority, urgency, labels, …)

So I think it would make sense to color tasks according to the first label assigned to them, or by person, or one of the above - that way there is a sensible taxonomy and not some meaningless rainbow of tasks :wink:

There could even be different colors for different views (e.g. by urgency or a custom property (importance → Eisenhower Matrix), by user, by label), like configuring filters/sorts in Notion.
So the task coloring could be derived from a property, which is configured for each view, sort of like Conditional Formatting in a spreadsheet.

See also #811 - Task-Colors: Where should these appear? I just find them in the kanban view - frontend - Gitea and Assign a random color to a new label

1 Like

I like the idea - defining colors based on task properties would also remove the need to manually assign a color when the property changes.

Would you say users should be able to define their own colors for certain properties like priorities or overdue tasks or should that be opinionated from Vikunja?

I’d just like to bring this thread back, as it’s what I came here to ask.

For my use-case, I’d like my tasks to automatically be coloured using the colour of the label I assign them. However, while I only use one label per task currently, I understand that others may assign multiple labels to one task. I suppose the most reasonable thing to do here is make the task colour be determined by the first label. One other option could be to allow the user to select a ‘primary’ label.

I also think it would be handy if we could choose which attribute determines a task’s colour in each saved filter, as we may want to colour based on Label on one filter, and colour based on List for another. This could be defined in the filter settings. I do think that it could still be helpful to keep manual colouring though, which could then be another colour option in the filter settings.

Another option, though would probably require some refactoring, would be having groups of labels. A group of labels could be created, where only one label from each group can be assigned to a task. Then, the saved filter could allow you to colour tasks based on a specific label group.

But right now, I quite desperately would like to view my tasks in a Gantt chart, coloured based on what type of task it is.

1 Like

I think something like that could work. The question is which label is “first” as the order they are saved in is not always the same when they are read. But that’s an implementation detail.

Because the labels don’t show up in the Gantt chart?

1 Like

Yeah I was wondering if the UI could present a way for the user to re-order labels, but it sounds like the database would need refactoring to accommodate storing the order.

Instead of using the order of the labels, selecting a primary label would probably be an easier change in the database, and could potentially be more intuitive to users too.

Yeah, basically. Just showing the labels in the Gantt chart would definitely help, but ideally the whole task would be coloured based on which label I’ve selected.

For myself, I mostly just want an easy way to assign tasks to today, where I can see what type of task it is, in order to give myself a mix of different types of task each day. As someone with ADHD, it’s quite important I give myself variety.


A quick way around the ordering problem would be to just use whatever is “first” - at least for use cases like yours where you only have one label anyway I feel like that would do the trick. A concept of a “primary” label is not necessarily easier to do than allowing reordering.

A middleground might be to just make sure the labels are always sorted in the same way and then use the one which was added first.

Either way, this should be configurable on a user level.

1 Like

Sidenote migrating the current tasks with color to tasks with labels that define the task color shouldn‘t be too complex. For these tasks, we could create new labels named after colors of the tasks. I think that’s a good idea, because for different people the different colors mean something different. By setting the task color via the label we add the functionality to name the color - by naming the label that has the color.

With such mechanisms in place, properties could also be internally represented as labels, i.e. we have a few labels of size:s until size:xl. The same could be done for priorities.

My idea here would be that labels have to be assigned to groups to be colored, i.e. we make a size group and a priority group and so on (maybe we migrate the previous colors to a literal color group then). And when it comes to coloring, you can select one of these groups to define the color, but also other aspects like urgency or progress.

Essentially such a group becomes a custom property, which in the future will ideally show up in the property panel in the right, which btw should also get dividers to become manageable:

For example a section “scheduling” with due,start,end,repeat,reminders

So that the color aspect is detached from the meaning of the label?

That’s planned.

For our business, label colours could prove to be really useful to us. We use Vikunja to manage our projects at the moment. And so either colour our tasks based on which client (for the namespace that manages the whole business) or by application (we’re a software development company). Having a default colour attached to a primary label could really benefit us and would cut out a lot of time…

Also, is it possible to add “previously used” colours to the colour picker? Currently having to go through more colours and manually entering the RGB numbers to achieve the desired colour. But having previously used colours in the first colour screen would again make the user experience a lot better.

Really like Vikunja, it’s having a really good impact on our business!

Thanks for the nice words!

You mean attach a colour to a task based on a label colour?

Right now, that’s not possible. We do have plans though to improve the colour picket, right now it’s really bare bones.

I’d love to hear more about how you as a business use Vikunja - please reach out at konrad@vikunja.io if you want!