Add context-aware styles to Trac page widgets


This plugin offers the capability to style your Trac pages and page widgets according to the type of ticket you are dealing with.

Key features:

  1. Ticket Link Decoration by field value: Set css-class to link to tickets by field value. You can specify field names at trac.ini.
  2. Decorate over intertrac links, with XmlRpcPlugin and corsEnabler included.
  3. Ticket color by Type: Set css-class by type or specified field value on ticket. You can design for each type of ticket with trac:wiki:CookBook/SiteStyleCss feature.
  4. Wiki color by tags: Set css-class by tags added by TagsPlugin.
  5. marked for validation: Set css-class to field specified by validator, such as TracTicketValidatorPlugin or TracTicketConditionalValidatePlugin.
  6. User"s own stylesheet or javascript; with user preferences page.
  7. Wiki Link Decoration by age of wiki page: add "new" css-class to link to a wiki page that is recent. You can specify the age in trac.ini.
  8. Decayed Wiki: indicate how old the wiki page is. You can specify colors by age in seconds at trac.ini; requires Python 2.7 or later.

If you want to edit the CSS inline in the browser, use WikiCssPlugin or ThemeEnginePlugin. If you want to modify the decoration link to a new page, edit the files site.html and site.css.

Bugs/Feature Requests

Existing bugs and feature requests for ContextChromePlugin are here.

If you have any issues, create a new ticket.


4 / 4


2 / 2


Download the zipped source from here.


You can check out ContextChromePlugin from here using Subversion, or browse the source with Trac.


General instructions on installing Trac plugins can be found on the TracPlugins page.


Sample trac.ini stanza:

contextchrome.linkdeco.internalstylesheet = enabled
contextchrome.linkdeco.ticketlinkdecorator = enabled
contextchrome.linkdeco.wikilinknewdecolator = enabled = enabled
contextchrome.prefs.userstyle = enabled = enabled

Wiki age to decorate or not

Example trac.ini:

wiki_new_info_second = 432000

Decayed Wiki

Sample trac.ini where the background of wiki pages are colored by age, ie white for modified in a day, light grey for in a week, and so on:

decay_colors = 86400: #ffffff, 604800: #eeeeee, 2678400: #dddddd, 31536000: #aaaaaa, 2147483647: #777777

Ticket link decoration by field value

Sample trac.ini:

decorate_fields = owner, milestone, type

Sample style.css:

a.type_is_defect      { background-color: #f5deb3; /* wheat */    }
a.type_is_enhancement { background-color: #87ceeb; /* sky blue */ }
a.type_is_task        { background-color: #ffd700; /* gold */     }
a.owner_is_somebody   { border: maroon thin solid;                }

The defects have a wheat-colored background, the enhancements a sky-blue colored background and the tasks a gold colored background:

To decorate over intertrac links, use XmlRpcPlugin and CrossOriginResourceSharingEnabler as follows:

Ticket color by Type

Sample style.css:

body.type_is_defect      { background-color: #f5deb3; /* wheat */    }
body.type_is_enhancement { background-color: #87ceeb; /* sky blue */ }
body.type_is_task        { background-color: #ffd700; /* gold */     }
body.tagged_as_sometag   { background-color: #ffcccc;                }

The defects have a wheat-colored background, the enhancements a sky-blue colored background and the tasks a gold colored background:

Marked for validation

Enable required TracTicketValidatorPlugin.

Sample trac.ini:

validates = keywords, vote
keywords.rule = .+
vote.rule = .+

Note how the fields Keywords and Vote are emphasised:

Recent Changes

17546 by matobaa on 2019-10-19 10:34:22
ContextChromePlugin: cosmetic changes
17535 by matobaa on 2019-10-01 16:21:17
ContextChromePlugin: support Trac 1.4+ by Jinja2 template
16959 by matobaa on 2017-11-06 03:17:17
Fixes #13317; a bug of TracLinksPlugin, by ContextChromePlugin


Author: matobaa
Maintainer: matobaa

Last modified 7 years ago Last modified on Oct 28, 2017, 9:37:17 PM

Attachments (5)

Download all attachments as: .zip