diff --git a/src/optionsbars/classic/optionsbar-color-popover.ui b/src/optionsbars/classic/optionsbar-color-popover.ui
index b263fcd8..4a380f56 100644
--- a/src/optionsbars/classic/optionsbar-color-popover.ui
+++ b/src/optionsbars/classic/optionsbar-color-popover.ui
@@ -21,9 +21,9 @@
-
-
-
-
- horizontal
-
-
-
- op-group
-
- win.cairo_op_mirror
- 'hsl-hue'
-
-
-
-
- op-group
-
- win.cairo_op_mirror
- 'hsl-saturation'
+
+
+
-
- op-group
-
- win.cairo_op_mirror
- 'hsl-color'
+
+ True
+ horizontal
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'hsl-hue'
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'hsl-saturation'
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'hsl-color'
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'hsl-luminosity'
+
+
+
+
+
+
+
+
+
+
-
- op-group
-
- win.cairo_op_mirror
- 'hsl-luminosity'
+
+ True
+ horizontal
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'source'
+
+
+
+
+ op-group
+
+ False
+ win.cairo_op_mirror
+ 'difference'
+
+
+
+
+
+
+
+
@@ -202,19 +274,35 @@
-
- Highlight
+ Difference
+ win.cairo_operator
+ difference
+
+
+
+
+
+
+
+
diff --git a/src/optionsbars/classic/optionsbar_color_popover.py b/src/optionsbars/classic/optionsbar_color_popover.py
index 46f0a736..1c5487b1 100644
--- a/src/optionsbars/classic/optionsbar_color_popover.py
+++ b/src/optionsbars/classic/optionsbar_color_popover.py
@@ -28,7 +28,9 @@
'source': cairo.Operator.SOURCE,
'difference': cairo.Operator.DIFFERENCE,
+ # "Highlight" submenu
'multiply': cairo.Operator.MULTIPLY,
+ 'screen': cairo.Operator.SCREEN,
'hsl-hue': cairo.Operator.HSL_HUE,
'hsl-saturation': cairo.Operator.HSL_SATURATION,
@@ -40,9 +42,12 @@
'over': _("Normal"),
'clear': _("Erase"),
- 'difference': _("Difference"),
- 'multiply': _("Highlight"),
'source': _("Raw source color"),
+ 'difference': _("Difference"),
+
+ # "Highlight" submenu
+ 'multiply': _("Highlight") + " - " + _("Dark text on light background"),
+ 'screen': _("Highlight") + " - " + _("Light text on dark background"),
'hsl-hue': _("Hue only"),
'hsl-saturation': _("Saturation only"),
@@ -84,7 +89,6 @@ def __init__(self, btn, thumbn, initial_rgba, is_main_c, cl_bar, **kwargs):
self._operator_box_1 = builder.get_object('operator-box-start')
self._operator_box_2 = builder.get_object('operator-box-end')
- self._operator_menubtn = builder.get_object('op-menubtn')
########################################################################
# Color chooser widget #################################################
@@ -127,7 +131,6 @@ def adapt_to_operator(self, op_as_string):
self._operator_label = CAIRO_OP_LABELS[op_as_string]
# print("adapt to operator :", op_as_string)
supports_colors = self._operator_supports_color(op_as_string)
- self._operator_menubtn.get_popover().popdown()
self.color_widget.set_sensitive(supports_colors)
self._set_thumbnail_color(op_as_string)
diff --git a/src/ui/app-menus.ui b/src/ui/app-menus.ui
index 2630f3fc..00b7bfe9 100644
--- a/src/ui/app-menus.ui
+++ b/src/ui/app-menus.ui
@@ -311,33 +311,17 @@
over
- Other modes
- -
- Raw source color
- win.cairo_operator
- source
-
+ Highlight
-
- Highlight
+ Dark text on light background
win.cairo_operator
multiply
-
- Difference
+ Light text on dark background
win.cairo_operator
- difference
+ screen
-
-
-
-
-
-
-
-
-
-
-
Photo-oriented modes
@@ -362,6 +346,19 @@
hsl-luminosity
+
+ Other modes
+ -
+ Raw source color
+ win.cairo_operator
+ source
+
+ -
+ Difference
+ win.cairo_operator
+ difference
+
+
Don't use the colors but…