.TH ROFI\-THEME 5 rofi\-theme
.SH NAME
.PP
\fBrofi\-theme\fP \- Rofi theme format files
.SH DESCRIPTION
.PP
The need for a new theme format was motivated by the fact that the way rofi handled widgets has changed. From a very
static drawing of lines and text to a nice structured form of packing widgets. This change made it possible to provide a
more flexible theme framework. The old theme format and config file are not flexible enough to expose these options in a
user\-friendly way. Therefor, a new file format has been created, replacing the old one.
.SH FORMAT SPECIFICATION
.SH Encoding
.PP
The encoding of the file is utf\-8. Both unix (\fB\fC\\n\fR) and windows (\fB\fC\\r\\n\fR) newlines format are supported. But unix is
preferred.
.SH Comments
.PP
C and C++ file comments are supported.
.IP \(bu 2
Anything after \fB\fC//\fR and before a newline is considered a comment.
.IP \(bu 2
Everything between \fB\fC/*\fR and \fB\fC*/\fR is a comment.
.PP
Comments can be nested and the C comments can be inline.
.PP
The following is valid:
.PP
.RS
.nf
// Magic comment.
property: /* comment */ value;
.fi
.RE
.PP
However, this is not:
.PP
.RS
.nf
prop/*comment*/erty: value;
.fi
.RE
.SH White space
.PP
White space and newlines, like comments, are ignored by the parser.
.PP
This:
.PP
.RS
.nf
property: name;
.fi
.RE
.PP
Is identical to:
.PP
.RS
.nf
property :
name
;
.fi
.RE
.SH File extension
.PP
The preferred file extension for the new theme format is \fBrasi\fP\&. This is an
abbreviation for \fBr\fPofi \fBa\fPdvanced \fBs\fPtyle \fBi\fPnformation.
.SH Basic Structure
.PP
Each element has a section with defined properties. Global properties can be defined in section \fB\fC* { }\fR\&.
Sub\-section names begin with a hash symbol \fB\fC#\fR\&.
.PP
It is advised to define the \fIglobal properties section\fP on top of the file to
make inheritance of properties clearer.
.PP
.RS
.nf
/* Global properties section */
* {
// list of properties
}
/* Element theme section. */
{element path} {
// list of properties
}
{elements... } {
// list of properties
}
.fi
.RE
.PP
If there are multiple sections with the same name, they are merged. Duplicate properties are overwritten and the last
parsed entry kept.
.SH Global properties section
.PP
A theme can have one or more global properties sections. If there is more than one,
they will be merged.
.PP
The global properties section denotes the defaults for each element.
Each property of this section can be referenced with \fB\fC@{identifier}\fR
(See Properties section)
.PP
A global properties section is indicated with a \fB\fC*\fR as element path.
.SH Element theme section
.PP