@@ -4,23 +4,57 @@ menupopup menu:not([type="checkbox"], [type="radio"]),
4
4
-moz-appearance : none !important ; /* Linux: menulist */
5
5
}
6
6
7
+ // -- Mixin ---------------------------------------------------------------------
8
+ // Items
9
+ $_iconNoneCommon : " .in-menulist, [type=\" checkbox\" ], [checked=\" true\" ]" ;
10
+ $_iconMenuitem : " menuitem:not(.menuitem-iconic, .bookmark-item, #{$_iconNoneCommon } )" ;
11
+ $_iconMenu : " menu:not(.menu-iconic, #{$_iconNoneCommon } )" ;
12
+
13
+ // Components
14
+ $_nestedPopupIcon : " :not(menu, #ContentSelectDropdown) > menupopup >" ;
15
+ $_nestedPopupPadding : " :not(menu, #ContentSelectDropdown, #context-navigation) > menupopup >" ;
16
+ $_iconMenuPopup : " menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup)" ;
17
+
18
+ $_nestedPopupIconMenus : selector .nest (
19
+ $_nestedPopupIcon ,
20
+ " #{$_iconMenuitem } , #{$_iconMenu } "
21
+ );
22
+ $_nestedPopupPaddingMenus : selector .nest (
23
+ $_nestedPopupPadding ,
24
+ " #{$_iconMenuitem } , #{$_iconMenu } "
25
+ );
26
+ $_iconMenuPopupMenus : selector .nest (
27
+ $_iconMenuPopup ,
28
+ " #{$_iconMenuitem } , #{$_iconMenu } "
29
+ );
30
+
31
+ $_globalMenus : " #main-menubar > menu" ;
32
+ $_libraryMenuitem : " menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > menuitem" ;
33
+ $_libraryMenu : " menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > menu" ;
34
+ $_sendTabMenuitem : " menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup) > menuitem" ;
35
+ $_otherIconMenu : " .openintabs-menuitem, #blockedPopupDontShowMessage" ;
36
+
37
+ @mixin _layoutIconMenus () {
38
+ #{$_nestedPopupPaddingMenus } ,
39
+ #{$_iconMenuPopupMenus } ,
40
+ #{$_libraryMenuitem } ,
41
+ #{$_libraryMenu } ,
42
+ #{$_sendTabMenuitem } ,
43
+ #{$_otherIconMenu } {
44
+ @content ;
45
+ }
46
+ }
47
+
48
+ // ------------------------------------------------------------------------------
49
+
7
50
/* Icon */
8
- :not (menu , #ContentSelectDropdown )
9
- > menupopup
10
- > menuitem :not (.menuitem-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ]),
11
- :not (menu , #ContentSelectDropdown )
12
- > menupopup
13
- > menu :not (.menu-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ]),
14
- #main-menubar > menu ,
15
- menupopup:is(#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
16
- menuitem :not (.menuitem-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ]),
17
- menupopup:is(#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
18
- menu :not (.menu-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ]),
19
- menupopup:is(#organizeButtonPopup , #maintenanceButtonPopup ) > menuitem ,
20
- menupopup:is(#viewMenuPopup , #maintenanceButtonPopup ) > menu ,
21
- menupopup:is(#context_sendTabToDevicePopupMenu , #context-sendpagetodevice-popup ) > menuitem ,
22
- .openintabs-menuitem ,
23
- #blockedPopupDontShowMessage {
51
+ #{$_nestedPopupIconMenus } ,
52
+ #{$_globalMenus } ,
53
+ #{$_iconMenuPopupMenus } ,
54
+ #{$_libraryMenuitem } ,
55
+ #{$_libraryMenu } ,
56
+ #{$_sendTabMenuitem } ,
57
+ #{$_otherIconMenu } {
24
58
/* Color */
25
59
-moz-context-properties : fill , fill-opacity !important ;
26
60
fill : currentColor !important ;
@@ -33,12 +67,7 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
33
67
34
68
/* For native context menus on macOS */
35
69
@supports -moz-bool-pref ("widget .macos .native-context-menus ") {
36
- :not (menu , #ContentSelectDropdown )
37
- > menupopup
38
- > menuitem :not (.menuitem-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
39
- :not (menu , #ContentSelectDropdown )
40
- > menupopup
41
- > menu :not (.menu-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ) {
70
+ #{$_nestedPopupIconMenus } {
42
71
list-style-image : var (--menuitem-image , url (" ../icons/blank.svg" )) !important ;
43
72
}
44
73
}
@@ -48,39 +77,33 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
48
77
--context-menu-background-padding-default : 5px ;
49
78
--context-menu-background-padding : var (--context-menu-background-padding-default );
50
79
}
51
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menuitem :not (.menuitem-iconic ),
52
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menu :not (.menu-iconic ),
53
- menupopup:is(#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
54
- menuitem :not (.menuitem-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ], .bookmark-item ),
55
- menupopup:is(#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
56
- menu :not (.menu-iconic , .in-menulist , [type = " checkbox" ], [checked = " true" ]),
57
- menupopup:is(#organizeButtonPopup , #maintenanceButtonPopup ) > menuitem ,
58
- menupopup:is(#viewMenuPopup , #maintenanceButtonPopup ) > menu ,
59
- menupopup:is(#context_sendTabToDevicePopupMenu , #context-sendpagetodevice-popup ) > menuitem ,
60
- .openintabs-menuitem ,
61
- #blockedPopupDontShowMessage {
80
+ #{selector .nest ($_nestedPopupPadding , " menuitem:not(.menuitem-iconic), menu:not(.menu-iconic)" )} ,
81
+ #{$_nestedPopupPaddingMenus } ,
82
+ #{$_iconMenuPopupMenus } ,
83
+ #{$_libraryMenuitem } ,
84
+ #{$_libraryMenu } ,
85
+ #{$_sendTabMenuitem } ,
86
+ #{$_otherIconMenu } {
62
87
background-position : left var (--context-menu-background-padding ) center !important ;
63
88
padding-inline-start : var (--context-menu-background-padding ) !important ;
64
89
}
65
90
66
91
/* Menubar */
67
92
@include Option (" userChrome.icon.global_menubar" ) {
68
- #main-menubar > menu {
93
+ #{ $_globalMenus } {
69
94
background-position : left var (--context-menu-background-padding-default ) center !important ;
70
95
padding-inline-start : calc (16px + var (--context-menu-background-padding-default )) !important ;
71
96
padding-inline-end : 3px ;
72
- }
73
- #main-menubar > menu :first-child {
74
- background-position : left calc (3px + var (--context-menu-background-padding-default )) center !important ;
75
- padding-inline-start : calc (19px + var (--context-menu-background-padding-default )) !important ;
76
- }
77
- #main-menubar > menu > menupopup {
78
- --menuitem-image : none ; /* Prevent Image Inheritance */
79
- }
80
97
81
- @include NotOption (" userChrome.padding.global_menubar" ) {
82
- #main-menubar > menu {
83
- padding-block : 2px !important ;;
98
+ & :first-child {
99
+ background-position : left calc (3px + var (--context-menu-background-padding-default )) center !important ;
100
+ padding-inline-start : calc (19px + var (--context-menu-background-padding-default )) !important ;
101
+ }
102
+ > menupopup {
103
+ --menuitem-image : none ; /* Prevent Image Inheritance */
104
+ }
105
+ @include NotOption (" userChrome.padding.global_menubar" ) {
106
+ padding-block : 2px !important ;
84
107
}
85
108
}
86
109
}
@@ -110,21 +133,7 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
110
133
}
111
134
}
112
135
@include OS ($win7 , $win8 ) {
113
- :not (menu , #ContentSelectDropdown , #context-navigation )
114
- > menupopup
115
- > menuitem :not (.menuitem-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
116
- :not (menu , #ContentSelectDropdown , #context-navigation )
117
- > menupopup
118
- > menu :not (.menu-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
119
- menupopup :is (#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
120
- menuitem:not (.menuitem-iconic , .in-menulist , [type= " checkbox" ] , [checked= " true" ] , .bookmark-item ),
121
- menupopup:is (#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
122
- menu :not (.menu-iconic , .in-menulist , [type= " checkbox" ] , [checked= " true" ] ),
123
- menupopup:is (#organizeButtonPopup , #maintenanceButtonPopup ) > menuitem,
124
- menupopup:is (#viewMenuPopup , #maintenanceButtonPopup ) > menu ,
125
- menupopup:is (#context_sendTabToDevicePopupMenu , #context-sendpagetodevice-popup ) > menuitem,
126
- .openintabs- menuitem,
127
- #blockedPopupDontShowMessage {
136
+ @include _layoutIconMenus {
128
137
background-position : left var (--context-menu-background-padding ) center !important ;
129
138
padding-inline-start : 0 !important ;
130
139
}
@@ -136,21 +145,7 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
136
145
--menu-background-padding-default : calc (var (--context-menu-background-padding ) + var (--context-menu-text-padding ));
137
146
}
138
147
139
- :not (menu , #ContentSelectDropdown , #context-navigation )
140
- > menupopup
141
- > menuitem :not (.menuitem-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
142
- :not (menu , #ContentSelectDropdown , #context-navigation )
143
- > menupopup
144
- > menu :not (.menu-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
145
- menupopup :is (#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
146
- menuitem:not (.menuitem-iconic , .in-menulist , [type= " checkbox" ] , [checked= " true" ] , .bookmark-item ),
147
- menupopup:is (#menu_FilePopup , #menu_EditPopup , #menu_viewPopup , #goPopup , #historyMenuPopup , #bookmarksMenuPopup , #menu_ToolsPopup , #menu_HelpPopup )
148
- menu :not (.menu-iconic , .in-menulist , [type= " checkbox" ] , [checked= " true" ] ),
149
- menupopup:is (#organizeButtonPopup , #maintenanceButtonPopup ) > menuitem,
150
- menupopup:is (#viewMenuPopup , #maintenanceButtonPopup ) > menu ,
151
- menupopup:is (#context_sendTabToDevicePopupMenu , #context-sendpagetodevice-popup ) > menuitem,
152
- .openintabs- menuitem,
153
- #blockedPopupDontShowMessage {
148
+ @include _layoutIconMenus {
154
149
padding-inline-start : var (--menu-background-padding-default ) !important ;
155
150
margin-left : 0 !important ;
156
151
}
@@ -162,7 +157,7 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
162
157
--context-menu-background-padding-default : 6px ;
163
158
}
164
159
165
- #main-menubar > menu > .menubar-text {
160
+ #{ $_globalMenus } > .menubar-text {
166
161
padding-inline-start : 3px ;
167
162
}
168
163
}
@@ -175,34 +170,24 @@ menupopup:is(#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup)
175
170
}
176
171
177
172
/* context menu width */
178
- :not (menu , #ContentSelectDropdown , #context-navigation )
179
- > menupopup
180
- > menuitem :not (.menuitem-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
181
- :not (menu , #ContentSelectDropdown , #context-navigation )
182
- > menupopup
183
- > menu :not (.menu-iconic , [type = " checkbox" ], [checked = " true" ], .in-menulist ),
173
+ #{$_nestedPopupPaddingMenus } ,
184
174
#blockedPopupDontShowMessage {
185
175
padding-inline-end : var (--context-menu-background-padding ) !important ;
186
176
}
187
177
188
178
/* text position */
189
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menuitem > .menu-text ,
190
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menu > menu-text {
179
+ #{selector .nest ($_nestedPopupPadding , " menuitem > .menu-text, menu > .menu-text" )} {
191
180
padding-inline-start : var (--context-menu-mac-padding ) !important ;
192
181
}
193
182
194
183
/* Checkbox menuitem, None iconic menu */
195
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menuitem [type = " checkbox" ],
196
- :not (menu , #ContentSelectDropdown , #context-navigation ) > menupopup > menu :not (.menu-iconic ) {
184
+ #{selector .nest ($_nestedPopupPadding , " menuitem[type=\" checkbox\" ], menu:not(.menu-iconic)" )} {
197
185
padding-inline-start : calc (var (--context-menu-background-padding ) + var (--context-menu-mac-padding )) !important ;
198
186
}
199
187
200
188
/* Global Menu */
201
189
/* Disabled. some icons not appear
202
- menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup)
203
- menuitem:not(.menuitem-iconic, .in-menulist, [type="checkbox"], [checked="true"], .bookmark-item),
204
- menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #menu_HelpPopup)
205
- menu:not(.menu-iconic, .in-menulist, [type="checkbox"], [checked="true"]) {
190
+ #{$_iconMenuPopupMenus} {
206
191
list-style-image: var(--menuitem-image, url("../icons/blank.svg"));
207
192
}
208
193
*/
0 commit comments