.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