summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/CONTRIBUTING.md37
-rw-r--r--.travis.yml1
-rw-r--r--Makefile.am18
-rw-r--r--configure.ac5
-rw-r--r--doc/default_theme.rasi115
-rw-r--r--doc/old-theme-convert-input.theme15
-rw-r--r--doc/old-theme-convert-output.rasi115
-rw-r--r--doc/rofi-theme-manpage.markdown57
-rw-r--r--doc/rofi-theme.575
-rw-r--r--include/css-colors.h12
-rw-r--r--include/default-theme.h17
-rw-r--r--include/helper.h2
-rw-r--r--include/settings.h24
-rw-r--r--include/theme.h4
-rw-r--r--include/widgets/textbox.h1
-rw-r--r--lexer/theme-lexer.l297
-rw-r--r--lexer/theme-parser.y431
-rw-r--r--meson.build7
-rw-r--r--source/css-colors.c154
-rw-r--r--source/dialogs/ssh.c2
-rw-r--r--source/helper.c12
-rw-r--r--source/rofi.c19
-rw-r--r--source/theme.c63
-rw-r--r--source/view.c21
-rw-r--r--source/widgets/textbox.c36
-rw-r--r--source/x11-helper.c20
m---------subprojects/libgwater0
-rwxr-xr-xtest/convert_old_theme_test.sh15
-rwxr-xr-xtest/default_theme_test.sh14
-rwxr-xr-xtest/run_all_tests.sh2
-rw-r--r--test/theme-parser-test.c482
-rw-r--r--themes/Adapta-Nokto.rasi48
-rw-r--r--themes/Arc.rasi34
-rw-r--r--themes/DarkBlue.rasi36
-rw-r--r--themes/Indego.rasi48
-rw-r--r--themes/Monokai.rasi48
-rw-r--r--themes/Paper.rasi48
-rw-r--r--themes/android_notification.rasi46
-rw-r--r--themes/arthur.rasi2
-rw-r--r--themes/blue.rasi32
-rw-r--r--themes/c64.rasi46
-rw-r--r--themes/glue_pro_blue.rasi38
-rw-r--r--themes/gruvbox-dark-hard.rasi48
-rw-r--r--themes/gruvbox-dark-soft.rasi48
-rw-r--r--themes/gruvbox-dark.rasi48
-rw-r--r--themes/gruvbox-light-hard.rasi48
-rw-r--r--themes/gruvbox-light-soft.rasi48
-rw-r--r--themes/gruvbox-light.rasi48
-rw-r--r--themes/lb.rasi38
-rw-r--r--themes/paper-float.rasi46
-rw-r--r--themes/purple.rasi46
-rw-r--r--themes/sidebar.rasi2
-rw-r--r--themes/solarized.rasi48
-rw-r--r--themes/solarized_alternate.rasi46
54 files changed, 2203 insertions, 810 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 85fadd14..adf51bc6 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -1,9 +1,11 @@
# Creating an issue
-When reporting bugs keep in mind that the people working on it do this unpaid, in their free time and as a hobby. So be
-polite and helpful. Bug reports that demand, contain insults to this or other projects, or have a general unfriendly
-tone will be closed without discussion. Everybody has it own way of working; What might be the norm for you, might not
-be for others. Therefore be verbose in your description.
+When reporting bugs keep in mind that the people working on it do this unpaid,
+in their free time and as a hobby. So be polite and helpful. Bug reports that
+demand, contain insults to this or other projects, or have a general unfriendly
+tone will be closed without discussion. Everybody has it own way of working;
+What might be the norm for you, might not be for others. Therefore be verbose in
+your description.
Before creating an issue:
@@ -21,17 +23,30 @@ When reporting bugs include the following information:
* A proper title for others to search for.
* Be exact.
+When adding comments to an issue make sure:
+
+* It is relevant to the issue.
+* It contributes to solving the issue.
+* Use :+1: :-1: emojis instead of replying 'me too' or 'I also have this.'
+
+
+Issue high-jacking, e.g. adding a request/issue to an existing issue, is very
+disruptive.
+Please create a new issue, if it is similar it will be marked duplicate.
+
The issue tracker is not for:
* Questions.
* Writing complaints.
-These topics belong on [FORUM](https://reddit.com/r/qtools//), [IRC](https://webchat.freenode.net/?channels=#rofi),
-frequently asked questions will be added to the [F.A.Q](https://github.com/DaveDavenport/rofi/wiki#faq) on the
-[wiki](https://github.com/DaveDavenport/rofi/wiki).
+These topics belong on [FORUM](https://reddit.com/r/qtools//),
+[IRC](https://webchat.freenode.net/?channels=#rofi), frequently asked questions
+will be added to the [F.A.Q](https://github.com/DaveDavenport/rofi/wiki#faq) on
+the [wiki](https://github.com/DaveDavenport/rofi/wiki).
-Questions filled in on the bug tracker will be marked `question`, locked and closed. If the question is clear, I
-normally try to provide an answer.
+Questions filled in on the bug tracker will be marked `question`, locked and
+closed. If the question is clear, I normally try to provide an answer.
-**Please do not submit reports related to wayland, see [here](https://github.com/DaveDavenport/rofi/wiki/Wayland) for
-more information.**
+**Please do not submit reports related to wayland, see
+[here](https://github.com/DaveDavenport/rofi/wiki/Wayland) for more
+information.**
diff --git a/.travis.yml b/.travis.yml
index 948d224b..98b07ef3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -81,6 +81,7 @@ before_script:
script:
- ninja -C build
- ninja -C build test
+ - ./theme_parser_test
- ulimit -c unlimited
- ninja -C build test-x
- ninja -C build doc/html 2>&1 > doxygen.log
diff --git a/Makefile.am b/Makefile.am
index a5b9de78..d839ac06 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -60,6 +60,7 @@ SOURCES=\
source/widgets/scrollbar.c\
source/xrmoptions.c\
source/x11-helper.c\
+ source/css-colors.c\
source/dialogs/run.c\
source/dialogs/ssh.c\
source/dialogs/drun.c\
@@ -82,6 +83,7 @@ SOURCES=\
include/timings.h\
include/history.h\
include/theme.h\
+ include/css-colors.h\
include/default-theme.h\
include/widgets/box.h\
include/widgets/container.h\
@@ -319,6 +321,7 @@ widget_test_SOURCES=\
source/widgets/widget.c\
source/widgets/textbox.c\
source/theme.c\
+ source/css-colors.c\
source/helper.c\
source/x11-helper.c\
config/config.c\
@@ -334,7 +337,9 @@ box_test_SOURCES=\
lexer/theme-parser.y\
lexer/theme-lexer.l\
source/theme.c\
+ source/css-colors.c\
include/theme.h\
+ include/css-colors.h\
test/box-test.c
scrollbar_test_LDADD=$(textbox_test_LDADD)
@@ -345,7 +350,9 @@ scrollbar_test_SOURCES=\
lexer/theme-parser.y\
lexer/theme-lexer.l\
source/theme.c\
+ source/css-colors.c\
include/theme.h\
+ include/css-colors.h\
test/scrollbar-test.c
textbox_test_SOURCES=\
@@ -354,6 +361,7 @@ textbox_test_SOURCES=\
lexer/theme-parser.y\
lexer/theme-lexer.l\
source/theme.c\
+ source/css-colors.c\
source/helper.c\
source/x11-helper.c\
config/config.c\
@@ -382,6 +390,7 @@ theme_parser_test_SOURCES=\
include/helper.h\
include/helper-theme.h\
include/theme.h\
+ include/css-colors.h\
include/xrmoptions.h\
source/xrmoptions.c\
source/x11-helper.c\
@@ -389,6 +398,7 @@ theme_parser_test_SOURCES=\
lexer/theme-parser.c\
lexer/theme-parser.h\
source/theme.c\
+ source/css-colors.c\
test/theme-parser-test.c
endif
@@ -530,9 +540,13 @@ test-x: $(bin_PROGRAMS)
echo "Test dmenu glob"
$(top_srcdir)/test/run_test.sh 216 $(top_srcdir)/test/run_glob_test.sh $(top_builddir)
echo "Test issue 333"
- $(top_srcdir)/test/run_test.sh 221 $(top_srcdir)/test/run_issue333_test.sh $(top_builddir)
+ $(top_srcdir)/test/run_test.sh 217 $(top_srcdir)/test/run_issue333_test.sh $(top_builddir)
echo "Test help output"
- $(top_srcdir)/test/run_test.sh 212 $(top_srcdir)/test/help_output_test.sh $(top_builddir) $(top_srcdir)
+ $(top_srcdir)/test/run_test.sh 218 $(top_srcdir)/test/help_output_test.sh $(top_builddir) $(top_srcdir)
+ echo "Test theme output"
+ $(top_srcdir)/test/run_test.sh 219 $(top_srcdir)/test/default_theme_test.sh $(top_builddir) $(top_srcdir)
+ echo "Test theme convert output"
+ $(top_srcdir)/test/run_test.sh 220 $(top_srcdir)/test/convert_old_theme_test.sh $(top_builddir) $(top_srcdir)
test-x1: $(bin_PROGRAMS)
echo "Test dmenu-normal-window"
diff --git a/configure.ac b/configure.ac
index 21f21161..0445e422 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,6 +101,7 @@ AC_CHECK_FUNC([fcntl],, AC_MSG_ERROR("Could not find fcntl"))
AC_CHECK_FUNC([setlocale],,AC_MSG_ERROR("Could not find setlocale"))
AC_CHECK_FUNC([atexit],, AC_MSG_ERROR("Could not find atexit in c library"))
AC_CHECK_FUNC([glob],, AC_MSG_ERROR("Could not find glob in c library"))
+AC_CHECK_FUNC([toupper],, AC_MSG_ERROR("Could not find toupper in c library"))
AC_CHECK_HEADER([math.h],, AC_MSG_ERROR("Could not find math.h header file"))
AC_SEARCH_LIBS([floor],[m],, AC_MSG_ERROR("Could not find floor in math library"))
@@ -117,10 +118,14 @@ dnl PKG_CONFIG based dependencies
dnl ---------------------------------------------------------------------
PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.40 gio-unix-2.0 gmodule-2.0])
GW_CHECK_XCB([xcb-aux xcb-xkb xkbcommon >= 0.5.0 xkbcommon-x11 xcb-ewmh xcb-icccm xcb-xrm xcb-randr xcb-xinerama])
+PKG_CHECK_EXISTS([xkbcommon >= 0.7.0], [AC_DEFINE([XkBCOMMON_HAS_CONSUMED2], [1], [If xkbcommon has the consumed2 API])])
PKG_CHECK_MODULES([pango], [pango pangocairo])
PKG_CHECK_MODULES([cairo], [cairo cairo-xcb])
PKG_CHECK_MODULES([libsn], [libstartup-notification-1.0 ])
+dnl ---------------------------------------------------------------------
+dnl check - Unit testing.
+dnl ---------------------------------------------------------------------
AC_ARG_ENABLE([check], AS_HELP_STRING([--disable-check], [Build with checks using check library (default: enabled)]))
AS_IF([test "x${enable_check}" != "xno"], [ PKG_CHECK_MODULES([check],[check >= 0.11.0], [HAVE_CHECK=1]) ])
diff --git a/doc/default_theme.rasi b/doc/default_theme.rasi
new file mode 100644
index 00000000..23c33889
--- /dev/null
+++ b/doc/default_theme.rasi
@@ -0,0 +1,115 @@
+* {
+ foreground: rgba ( 0, 43, 54, 100 % );
+ selected-normal-foreground: @lightbg;
+ normal-foreground: @foreground;
+ red: rgba ( 220, 50, 47, 100 % );
+ alternate-normal-background: @lightbg;
+ blue: rgba ( 38, 139, 210, 100 % );
+ selected-urgent-foreground: @background;
+ urgent-foreground: @red;
+ alternate-urgent-background: @lightbg;
+ active-foreground: @blue;
+ lightbg: rgba ( 238, 232, 213, 100 % );
+ selected-active-foreground: @background;
+ alternate-normal-foreground: @foreground;
+ alternate-active-background: @lightbg;
+ bordercolor: @foreground;
+ background: rgba ( 253, 246, 227, 100 % );
+ normal-background: @background;
+ lightfg: rgba ( 88, 104, 117, 100 % );
+ selected-normal-background: @lightfg;
+ separatorcolor: @foreground;
+ spacing: 2;
+ urgent-background: @background;
+ alternate-urgent-foreground: @red;
+ selected-urgent-background: @red;
+ alternate-active-foreground: @blue;
+ selected-active-background: @blue;
+ active-background: @background;
+}
+#window {
+ border: 1;
+ foreground: @foreground;
+ background: rgba ( 0, 0, 0, 0 % );
+ padding: 5;
+}
+#window.box {
+ foreground: @bordercolor;
+ background: @background;
+}
+#window.mainbox {
+ border: 0;
+ padding: 0;
+}
+#window.mainbox.message.box {
+ border: 1px dash 0px 0px ;
+ foreground: @separatorcolor;
+ padding: 2px 0px 0px ;
+}
+#window.mainbox.message.normal {
+ foreground: @foreground;
+}
+#window.mainbox.listview {
+ fixed-height: 0;
+ border: 1px dash 0px 0px ;
+ padding: 2px 0px 0px ;
+}
+#window.mainbox.listview.element {
+ border: 0;
+}
+#window.mainbox.listview.element.normal.normal {
+ foreground: @normal-foreground;
+ background: @normal-background;
+}
+#window.mainbox.listview.element.normal.urgent {
+ foreground: @urgent-foreground;
+ background: @urgent-background;
+}
+#window.mainbox.listview.element.normal.active {
+ foreground: @active-foreground;
+ background: @active-background;
+}
+#window.mainbox.listview.element.selected.normal {
+ foreground: @selected-normal-foreground;
+ background: @selected-normal-background;
+}
+#window.mainbox.listview.element.selected.urgent {
+ foreground: @selected-urgent-foreground;
+ background: @selected-urgent-background;
+}
+#window.mainbox.listview.element.selected.active {
+ foreground: @selected-active-foreground;
+ background: @selected-active-background;
+}
+#window.mainbox.listview.element.alternate.normal {
+ foreground: @alternate-normal-foreground;
+ background: @alternate-normal-background;
+}
+#window.mainbox.listview.element.alternate.urgent {
+ foreground: @alternate-urgent-foreground;
+ background: @alternate-urgent-background;
+}
+#window.mainbox.listview.element.alternate.active {
+ foreground: @alternate-active-foreground;
+ background: @alternate-active-background;
+}
+#window.mainbox.listview.scrollbar {
+ border: 0;
+ padding: 0;
+}
+#window.mainbox.sidebar.box {
+ border: 1px dash 0px 0px ;
+}
+#window.mainbox.sidebar.button.selected {
+ foreground: @selected-normal-foreground;
+ background: @selected-normal-background;
+}
+#window.mainbox.inputbar {
+ spacing: 0;
+}
+#window.mainbox.inputbar.box {
+ border: 0px ;
+}
+#window.mainbox.inputbar.normal {
+ foreground: @foreground;
+}
diff --git a/doc/old-theme-convert-input.theme b/doc/old-theme-convert-input.theme
new file mode 100644
index 00000000..eb4d2d4d
--- /dev/null
+++ b/doc/old-theme-convert-input.theme
@@ -0,0 +1,15 @@
+! ------------------------------------------------------------------------------
+! ROFI Color theme
+! User: qball
+! Copyright: Dave Davenport
+! ------------------------------------------------------------------------------
+! "Color scheme for normal row" Set from: File
+rofi.color-normal: argb:00000000, #dbdfbc, argb:00000000, #dbdfbc, #02143f
+! "Color scheme for urgent row" Set from: File
+rofi.color-urgent: argb:00000000, #ff81ff, argb:00000000, #ff817f, #02143f
+! "Color scheme for active row" Set from: File
+rofi.color-active: argb:00000000, #8ac4ff, argb:00000000, #8ac4ff, #02143f
+! "Color scheme window" Set from: File
+rofi.color-window: argb:dd000021, #dbdfbc, #dbdfbc
+! "Separator style (none, dash, solid)" Set from: XResources
+rofi.separator-style: solid
diff --git a/doc/old-theme-convert-output.rasi b/doc/old-theme-convert-output.rasi
new file mode 100644
index 00000000..3d03e77c
--- /dev/null
+++ b/doc/old-theme-convert-output.rasi
@@ -0,0 +1,115 @@
+* {
+ foreground: rgba ( 219, 223, 188, 100 % );
+ selected-normal-foreground: rgba ( 2, 20, 63, 100 % );
+ normal-foreground: @foreground;
+ red: rgba ( 220, 50, 47, 100 % );
+ alternate-normal-background: rgba ( 0, 0, 0, 0 % );
+ blue: rgba ( 38, 139, 210, 100 % );
+ selected-urgent-foreground: rgba ( 2, 20, 63, 100 % );
+ urgent-foreground: rgba ( 255, 129, 255, 100 % );
+ alternate-urgent-background: rgba ( 0, 0, 0, 0 % );
+ active-foreground: rgba ( 138, 196, 255, 100 % );
+ lightbg: rgba ( 238, 232, 213, 100 % );
+ selected-active-foreground: rgba ( 2, 20, 63, 100 % );
+ alternate-normal-foreground: @foreground;
+ alternate-active-background: rgba ( 0, 0, 0, 0 % );
+ bordercolor: rgba ( 219, 223, 188, 100 % );
+ background: rgba ( 0, 0, 33, 87 % );
+ normal-background: rgba ( 0, 0, 0, 0 % );
+ lightfg: rgba ( 88, 104, 117, 100 % );
+ selected-normal-background: rgba ( 219, 223, 188, 100 % );
+ separatorcolor: rgba ( 219, 223, 188, 100 % );
+ spacing: 2;
+ urgent-background: rgba ( 0, 0, 0, 0 % );
+ alternate-urgent-foreground: @urgent-foreground;
+ selected-urgent-background: rgba ( 255, 129, 127, 100 % );
+ alternate-active-foreground: @active-foreground;
+ selected-active-background: rgba ( 138, 196, 255, 100 % );
+ active-background: rgba ( 0, 0, 0, 0 % );
+}
+#window {
+ border: 1;
+ foreground: @foreground;
+ background: rgba ( 0, 0, 0, 0 % );
+ padding: 5;
+}
+#window.box {
+ foreground: @bordercolor;
+ background: @background;
+}
+#window.mainbox {
+ border: 0;
+ padding: 0;
+}
+#window.mainbox.message.box {
+ border: 1px dash 0px 0px ;
+ foreground: @separatorcolor;
+ padding: 2px 0px 0px ;
+}
+#window.mainbox.message.normal {
+ foreground: @foreground;
+}
+#window.mainbox.listview {
+ fixed-height: 0;
+ border: 1px dash 0px 0px ;
+ padding: 2px 0px 0px ;
+}
+#window.mainbox.listview.element {
+ border: 0;
+}
+#window.mainbox.listview.element.normal.normal {
+ foreground: @normal-foreground;
+ background: @normal-background;
+}
+#window.mainbox.listview.element.normal.urgent {
+ foreground: @urgent-foreground;
+ background: @urgent-background;
+}
+#window.mainbox.listview.element.normal.active {
+ foreground: @active-foreground;
+ background: @active-background;
+}
+#window.mainbox.listview.element.selected.normal {
+ foreground: @selected-normal-foreground;
+ background: @selected-normal-background;
+}
+#window.mainbox.listview.element.selected.urgent {
+ foreground: @selected-urgent-foreground;
+ background: @selected-urgent-background;
+}
+#window.mainbox.listview.element.selected.active {
+ foreground: @selected-active-foreground;
+ background: @selected-active-background;
+}
+#window.mainbox.listview.element.alternate.normal {
+ foreground: @alternate-normal-foreground;
+ background: @alternate-normal-background;
+}
+#window.mainbox.listview.element.alternate.urgent {
+ foreground: @alternate-urgent-foreground;
+ background: @alternate-urgent-background;
+}
+#window.mainbox.listview.element.alternate.active {
+ foreground: @alternate-active-foreground;
+ background: @alternate-active-background;
+}
+#window.mainbox.listview.scrollbar {
+ border: 0;
+ padding: 0;
+}
+#window.mainbox.sidebar.box {
+ border: 1px dash 0px 0px ;
+}
+#window.mainbox.sidebar.button.selected {
+ foreground: @selected-normal-foreground;
+ background: @selected-normal-background;
+}
+#window.mainbox.inputbar {
+ spacing: 0;
+}
+#window.mainbox.inputbar.box {
+ border: 0px ;
+}
+#window.mainbox.inputbar.normal {
+ foreground: @foreground;
+}
diff --git a/doc/rofi-theme-manpage.markdown b/doc/rofi-theme-manpage.markdown
index 5a32f46e..f6eb2ef9 100644
--- a/doc/rofi-theme-manpage.markdown
+++ b/doc/rofi-theme-manpage.markdown
@@ -238,31 +238,66 @@ dynamic: false;
## Color
-* Format: `#{HEX}{6}`
-* Format: `#{HEX}{8}`
-* Format: `rgb({INTEGER},{INTEGER},{INTEGER})`
-* Format: `rgba({INTEGER},{INTEGER},{INTEGER}, {REAL})`
+**rofi** supports the color formats as specified in the CSS standard (1,2,3 and some of CSS 4)
+
+* Format: `#{HEX}{3}` (rgb)
+* Format: `#{HEX}{4}` (rgba)
+* Format: `#{HEX}{6}` (rrggbb)
+* Format: `#{HEX}{8}` (rrggbbaa)
+* Format: `rgb[a]({INTEGER},{INTEGER},{INTEGER}[, {PERCENTAGE}])`
+* Format: `rgb[a]({INTEGER}%,{INTEGER}%,{INTEGER}%[, {PERCENTAGE}])`
+* Format: `hsl[a]( {ANGLE}, {PERCENTAGE}, {PERCENTAGE} [{PERCENTAGE}])`
+* Format: `hwb[a]( {ANGLE}, {PERCENTAGE}, {PERCENTAGE} [{PERCENTAGE}])`
+* Format: `cmyk( {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE} [, {PERCENTAGE} ])`
+* Format: `{named-color} [ / {PERCENTAGE} ]`
+
+The in CSS 4 proposed white-space format is also supported.
+
+The different values are:
+
+ * `{HEX}` is a hexidecimal number ('0-9a-f' case insensitive).
+ * `{INTEGER}` value can be between 0 and 255 or 0-100 when representing percentage.
+ * `{ANGLE}` Angle on the color wheel, can be in `deg`, `rad`, `grad` or `turn`. When no unit is specified, degrees is assumed.
+ * `{PERCENTAGE}` Can be between 0-1.0, or 0%-100%
+ * `{named-color}` Is one of the following colors:
+
+ AliceBlue, AntiqueWhite, Aqua, Aquamarine, Azure, Beige, Bisque, Black, BlanchedAlmond, Blue, BlueViolet, Brown,
+ BurlyWood, CadetBlue, Chartreuse, Chocolate, Coral, CornflowerBlue, Cornsilk, Crimson, Cyan, DarkBlue, DarkCyan,
+ DarkGoldenRod, DarkGray, DarkGrey, DarkGreen, DarkKhaki, DarkMagenta, DarkOliveGreen, DarkOrange, DarkOrchid, DarkRed,
+ DarkSalmon, DarkSeaGreen, DarkSlateBlue, DarkSlateGray, DarkSlateGrey, DarkTurquoise, DarkViolet, DeepPink, DeepSkyBlue,
+ DimGray, DimGrey, DodgerBlue, FireBrick, FloralWhite, ForestGreen, Fuchsia, Gainsboro, GhostWhite, Gold, GoldenRod,
+ Gray, Grey, Green, GreenYellow, HoneyDew, HotPink, IndianRed, Indigo, Ivory, Khaki, Lavender, LavenderBlush, LawnGreen,
+ LemonChiffon, LightBlue, LightCoral, LightCyan, LightGoldenRodYellow, LightGray, LightGrey, LightGreen, LightPink,
+ LightSalmon, LightSeaGreen, LightSkyBlue, LightSlateGray, LightSlateGrey, LightSteelBlue, LightYellow, Lime, LimeGreen,
+ Linen, Magenta, Maroon, MediumAquaMarine, MediumBlue, MediumOrchid, MediumPurple, MediumSeaGreen, MediumSlateBlue,
+ MediumSpringGreen, MediumTurquoise, MediumVioletRed, MidnightBlue, MintCream, MistyRose, Moccasin, NavajoWhite, Navy,
+ OldLace, Olive, OliveDrab, Orange, OrangeRed, Orchid, PaleGoldenRod, PaleGreen, PaleTurquoise, PaleVioletRed,
+ PapayaWhip, PeachPuff, Peru, Pink, Plum, PowderBlue, Purple, RebeccaPurple, Red, RosyBrown, RoyalBlue, SaddleBrown,
+ Salmon, SandyBrown, SeaGreen, SeaShell, Sienna, Silver, SkyBlue, SlateBlue, SlateGray, SlateGrey, Snow, SpringGreen,
+ SteelBlue, Tan, Teal, Thistle, Tomato, Turquoise, Violet, Wheat, White, WhiteSmoke, Yellow, YellowGreen
-Where '{HEX}' is a hexidecimal number ('0-9a-f'). The '{INTEGER}' value can be between 0 and 255, the '{Real}' value
-between 0.0 and 1.0.
-
-The first formats specify the color as RRGGBB (R = red, G = green, B = Blue), the second adds an alpha (A) channel:
-AARRGGBB.
For example:
```
background: #FF0000;
foreground: rgba(0,0,1, 0.5);
+text: SeaGreen;
```
## Text style
-* Format: `(bold|italic|underline|none)`
+* Format: `(bold|italic|underline|strikethrough|none)`
-Text style indicates how the text should be displayed. None indicates no style
+Text style indicates how the highlighted text is emphasised. None indicates no emphasis
should be applied.
+ * `bold`: make the text thicker then the surrounding text.
+ * `italic`: put the highlighted text in script type (slanted).
+ * `underline`: put a line under the highlighted text.
+ * `strikethrough`: put a line through the highlighted text.
+ * `small caps`: emphasise the text using capitalization.
+
## Line style
* Format: `(dash|solid)`
diff --git a/doc/rofi-theme.5 b/doc/rofi-theme.5
index bbbe7241..21f8877c 100644
--- a/doc/rofi-theme.5
+++ b/doc/rofi-theme.5
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "ROFI\-THEME\-MANPAGE" "" "April 2017" "" ""
+.TH "ROFI\-THEME\-MANPAGE" "" "May 2017" "" ""
.
.SH "NAME"
\fBrofi\-theme\fR \- Rofi theme format files
@@ -360,26 +360,65 @@ dynamic: false;
.IP "" 0
.
.SH "Color"
+\fBrofi\fR supports the color formats as specified in the CSS standard (1,2,3 and some of CSS 4)
.
.IP "\(bu" 4
-Format: \fB#{HEX}{6}\fR
+Format: \fB#{HEX}{3}\fR (rgb)
.
.IP "\(bu" 4
-Format: \fB#{HEX}{8}\fR
+Format: \fB#{HEX}{4}\fR (rgba)
.
.IP "\(bu" 4
-Format: \fBrgb({INTEGER},{INTEGER},{INTEGER})\fR
+Format: \fB#{HEX}{6}\fR (rrggbb)
.
.IP "\(bu" 4
-Format: \fBrgba({INTEGER},{INTEGER},{INTEGER}, {REAL})\fR
+Format: \fB#{HEX}{8}\fR (rrggbbaa)
+.
+.IP "\(bu" 4
+Format: \fBrgb[a]({INTEGER},{INTEGER},{INTEGER}[, {PERCENTAGE}])\fR
+.
+.IP "\(bu" 4
+Format: \fBrgb[a]({INTEGER}%,{INTEGER}%,{INTEGER}%[, {PERCENTAGE}])\fR
+.
+.IP "\(bu" 4
+Format: \fBhsl[a]( {ANGLE}, {PERCENTAGE}, {PERCENTAGE} [{PERCENTAGE}])\fR
+.
+.IP "\(bu" 4
+Format: \fBhwb[a]( {ANGLE}, {PERCENTAGE}, {PERCENTAGE} [{PERCENTAGE}])\fR
+.
+.IP "\(bu" 4
+Format: \fBcmyk( {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE}, {PERCENTAGE} [, {PERCENTAGE} ])\fR
+.
+.IP "\(bu" 4
+Format: \fB{named\-color} [ / {PERCENTAGE} ]\fR
.
.IP "" 0
.
.P
-Where \'{HEX}\' is a hexidecimal number (\'0\-9a\-f\')\. The \'{INTEGER}\' value can be between 0 and 255, the \'{Real}\' value between 0\.0 and 1\.0\.
+The in CSS 4 proposed wh